Wie kann ich die verfügbaren Farbnamen auflisten?

23

Ich versuche, meiner Git-Konfiguration etwas Farbe hinzuzufügen, und möchte wissen, welche Farbnamen auf dem Terminal verfügbar sind.

  • Ich möchte nur Farben nach Namen verwenden, damit andere sie besser verstehen
  • Ich möchte keine neuen Farben hinzufügen - ich möchte nur aus den vordefinierten Namen auswählen
  • Ich hätte gerne eine Lösung, die für alle Distributionen funktioniert, aber hauptsächlich für Debian
  • Es wäre schön, die Farbe zu sehen, die der Name anzeigt

In vielen Online-Referenzen geht es häufig um Farbnamen, die in meinem System nicht definiert sind. Ich benötige daher nur eine Möglichkeit, um meine Standardoptionen zu ermitteln.

doub1ejack
quelle
Dies war eine nützliche Referenz. Ich mag die Shell-Skripte. misc.flogisoft.com/bash/…
doub1ejack

Antworten:

25

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. 0xff8800oder #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 gitnicht 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 $TERMVariable 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:

xterm Farbkarte

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.

Goldlöckchen
quelle
Die X11-Liste ist möglicherweise irreführend. Ich interessiere mich nicht für irgendeine Art von GUI - nur für Farben, die auf dem Terminal verfügbar sind.
Doub1ejack
Nun, da hast du es. Unter der Annahme normaler Hardware hat jedes Terminal, auf das Sie unter Linux stoßen, 16 Farben, die acht oben mit einer "hellen / fetten" Version gemäß dem ANSI-Standard (obwohl z. B. normalerweise nur das helle Gelb gelb aussieht; das normale sieht ocker aus, etc). Also WRT to git, Sie können diese 8 verwenden. Mein Punkt war, Sie können nicht jede Farbe verwenden, die Sie auf dem Bildschirm sehen. Die Terminalschnittstelle ist eine Einschränkung. Acht Grundfarben. Das ist alles.
Goldlöckchen
2
@ doub1ejack: Weißt du was? Ich habe gestern festgestellt, dass es einen Standard für die Benennung von Farben auf Terminals mit 256 Farben gibt, und es gibt einige TUI-Apps, die diesen Standard verwenden, obwohl ich git nicht überprüft habe. Wie auch immer, ich habe ein paar Sachen dazu bearbeitet.
Goldlöckchen
Ich denke, es gibt nur 8 Farben und 8 helle Versionen. Zu sagen, dass es sich um 16 Farben handelt, ist technisch nicht korrekt?
Jiggunjer
1
Ich las diese Antwort und wartete, bis ich zum Wie kam. Ich war fast da und die Antwort hörte auf.
ctrl-alt-delor