In vielen Online-Referenzen geht es häufig um Farbnamen, die in meinem System nicht definiert sind
Diese sind wahrscheinlich definiert, aber es handelt sich um X11-Farben. Es war einmal, Sie konnten sie in finden /lib[64]/X11/rgb.txt
. In jedem Fall ist dies eine Zuordnung von Zeichenfolgen (z. B. dimgray
) zu 24-Bit-RGB-Farben (z. B. 0xff8800
oder #ff8800
, die orange wären). Ein 24-Bit-Speicherplatz umfasst ca. 16 Millionen Farben. Offensichtlich gibt X11 ihnen nicht alle Namen (CSS 3 verwendet X11-Namen, BTW).
Der 24-Bit-Speicherplatz wird von Ihrer GUI verwendet. Transparenz wird implementiert, indem dies auf einen 32-Bit-Raum erhöht wird. Es handelt sich jedoch git
nicht um ein GUI-Tool (G = Grafik), sondern um ein TUI- Tool (T = Terminal). Es ist auf die Farben beschränkt, die auf einem normalen Terminal verfügbar sind.
Ich hätte gerne eine Lösung, die für alle Distributionen funktioniert, aber hauptsächlich für Debian
Wenn Sie dies ordnungsgemäß portieren möchten, sollten Sie sich nur auf die acht Standard-ANSI-Farben verlassen :
- schwarz
- Blau
- Grün
- Gelb
- cyan
- Weiß
- Magenta
- rot
Ein bisschen enttäuschend neben der X11-Liste, aber besser als gar nichts! Diese haben auch eine "fette" oder "helle" Version, die Standard ist und 16 Farben erzeugt, die Sie möglicherweise als "hellgelb" ( oder umgekehrt als "dunkelgelb") angeben können.
Die meisten GUI-Terminals 1 unterstützen 256 Farben, und einige Terminal-Apps können dies ausnutzen. Zum Testen müssen Sie zuerst die $TERM
Variable entsprechend einstellen :
export $TERM=xterm-256color
Möglicherweise verfügt Ihr Terminal-Emulator auch über eine Konfigurationsoption. Farben unter dem xterm 256-Farbprotokoll werden indiziert:
Die Indexnummer befindet sich in der unteren linken Ecke. Beachten Sie, dass der Satz unten in dieser Tabelle (0-15) die 16 ANSI-Grundfarben (hell und dunkel) darstellt. Um eine dieser Farben unter der Norm zu referenzieren, verwenden Sie color
+ die Indexnummer, z. color40
.
1. Ein "GUI-Terminal" ist ein Terminal-Emulator, der in einem GUI-Kontext ausgeführt wird, z. B. xterm, das GNOME-Terminal usw. TUI-Apps (z. B. git), die in einem GUI-Terminal ausgeführt werden, werden jedoch nicht zu GUI-Apps. Sie sind immer noch TUI-Apps und an diesen Kontext gebunden.