xterm Farben sind zu hell

7

Ich habe gerade vor ein paar Tagen angefangen, dwm zu verwenden, und ich verwende xterm (uxterm) als Terminalemulator.

Ich stelle jedoch fest, dass bestimmte Anwendungen (wie vi / vim, ls und andere), die in Farbe ausgegeben werden, helle Farben und (manchmal) fette Schriftarten verwenden. Die Hintergrundfarbe meines Terminals ist ein dunkles Pastell, daher möchte ich, dass die Farben übereinstimmen.

Wie kann ich diese Farben ändern? Gibt es eine Möglichkeit, # xxxxxx-Farben zu verwenden?

n0pe
quelle

Antworten:

13

Xterm wird über X-Ressourcen konfiguriert . So können Sie es für Weiß auf Schwarz konfigurieren, mit einem helleren Blau als dem Standard (passen Sie die Farbe natürlich nach Belieben an):

XTerm.VT100.background:         Black
XTerm.VT100.color0:             Black
XTerm.VT100.color1:             Red
XTerm.VT100.color2:             Green
XTerm.VT100.color3:             Yellow
XTerm.VT100.color4:             CornflowerBlue
XTerm.VT100.color5:             Magenta
XTerm.VT100.color6:             Cyan
XTerm.VT100.color7:             White
XTerm.VT100.colorBD:            White
XTerm.VT100.colorBDMode:        true
XTerm.VT100.colorUL:            Yellow
XTerm.VT100.colorULMode:        true
XTerm.VT100.cursorColor:        Red
XTerm.VT100.foreground:         White

Sie können X Farbnamen verwenden (können Sie alle Farbnamen mit sehen xcolorsoder in einer Datei namens rgb.txtdem unter irgendwo sein kann /etc/X11, /usr/X11oder /usr/share/X11oder eine ähnliche Lage je nach System) oder #RRGGBB. colorBDist die Farbe, die für Fettdruck verwendet wird; Bei der colorBDModeEinstellung false(Standardeinstellung) wird diese Einstellung ignoriert und Fettdruck wird in Fettdruck angezeigt. Das gleiche gilt für colorUL, colorULModeund unterstreicht. Sie können darüber hinausgehen color8(bis zu color255oder weniger, abhängig von der xterm-Version und der Konfiguration zur Kompilierungszeit). color8bis color15entsprechen 0–7 mit Fettdruck; Farben über 16 werden von Anwendungen nur selten verwendet, wenn Sie sie explizit konfiguriert haben.

Fügen Sie diese Einstellungen in eine Datei mit dem Namen ein ~/.Xdefaults. Die meisten Systeme laden diese Datei automatisch, wenn Sie sich anmelden. Wenn dies bei Ihnen nicht der Fall ist, fügen Sie diesen Befehl Ihrem X-Startskript hinzu:

xrdb -merge ~/.Xdefaults

Führen Sie dies in einer Shell in diesem Terminal aus, um das Erscheinungsbild der Vordergrundfarbe 42 über der Hintergrundfarbe 17 zu testen:

printf '\033[38;5;%dm\033[48;5;%dm%s\033[0m\n' 42 17 "Hello, world."

Wenn Ihr xterm ohne erweiterte Farbunterstützung kompiliert wird, müssen Sie die klassischen Steuersequenzen verwenden:

printf '\033[3%dm\033[4%dm%s\033[0m\n' 4 1 "Hello, world."

Die Vordergrund- und Hintergrundfarbe muss in diesem Fall im Bereich von 0 bis 7 liegen. Wenn Ihr xterm mit 16-Farben - Unterstützung kompiliert wird, ersetzen [3und [4durch [9und [10jeweils die hellen Varianten (Farben 8-15) auszuwählen.

Gilles 'SO - hör auf böse zu sein'
quelle
Ich habe damit herumgespielt und es scheint die Farben zu ändern, die lsSie zum Bearbeiten der /etc/DIR_COLORSDatei benötigen . Ich sehe hier Farbcodes, aber ich darf nur eine bestimmte Anzahl von ihnen. 42 funktioniert nämlich nicht, sondern gibt mir einen grünen Hintergrund.
n0pe
2

Sie können dies tun, indem Sie die .XdefaultsDatei in Ihrem Home-Verzeichnis bearbeiten . Sie können einfach einige andere verfügbare .XdefaultsEinstellungen ausprobieren , wie diese , die das dunkle Farbschema "Zenburn" verwendet. Sie verwenden nur die Zeilen, die mit "xterm" beginnen. Ich habe gerade getestet, dass es auch so funktioniert uxterm. Wenn dies aus irgendeinem Grund nicht der Fall ist, ändern Sie die Zeilenanfänge in "uxterm".

rozcietrzewiacz
quelle
Bei der Anwendung der hier genannten .XdefaultsEinstellungsänderung kann dieser Artikel hilfreich sein: joeldare.com/wiki/linux:change_xterm_to_white_on_black und hier wiki.archlinux.org/index.php/…
Grzegorz Wierzowiecki
Der Link ist tot.
Mateusz Piotrowski
0

Da Sie erwähnt haben, dass Sie dwm verwenden: Sie können auch die X-Ressourcen (wie in den anderen Antworten erwähnt) in Ruhe lassen und stattdessen den Befehl ändern, der das Terminal aufruft. In meinem habe config.hich den Terminalbefehl zum Lesen geändert

static const char *termcmd[]  = { "uxterm", "+cm", "+dc", "-bg", "black", "-fg", "gold", NULL };

Hiermit werden Farben aktiviert und Gold auf Schwarz verwendet. Die verfügbaren Optionen finden Sie unter https://linux.die.net/man/1/xterm . (Beachten Sie, dass Sie dwm nach dem Ändern der Konfiguration neu kompilieren müssen.)

Echsecutor
quelle