Einführung
Meine Frage ergibt sich aus der Notwendigkeit zu verstehen, warum ich jetzt (nach mehreren Versuchen) Terminal und tmux habe, die 256 Farben unterstützen und tput colorsmir sagen, dass es nur 8 von ihnen gibt.
Hintergrund
Fangen wir von vorne an.
Ich benutze eine Ubuntu- Box, Guake , tmux , Vim und ich liebe das Thema Solarized . Sie sahen ziemlich schrecklich aus, deshalb habe ich beschlossen, die 256-Farben-Unterstützung zu aktivieren und ein bisschen herumzuspielen.
Mal sehen, was mit meinem Terminal passiert . tput colorssagt, es gibt 8 Farben. Ich persönlich habe sie links auf lila gesetzt, und natürlich haben wir rechts zwei verschiedene Blautöne. $TERMsagt xterm. (Um das farbige lsich eval dies in meinem zu haben .bashrc.)

Vim sieht auch gut aus, obwohl ich es mit der 256Flagge in einer Umgebung nenne, in der 256 Farben nicht unterstützt werden.
set t_Co=256
let g:solarized_termcolors=256
colorscheme solarized
Der einzige Typ, der sich über den reduzierten Farbraum beschwert, ist tmux . Das Aufrufen tmuxliefert die "falschen" erwarteten Ergebnisse.

Aber wenn man tmuxmit der -2Flagge ruft, funktioniert alles auf magische Weise .

Jetzt verstehe ich nur noch, dass -2es export TERM=screen-256color( Quelle ) entspricht.
Guake verhält sich analog zu Terminal und beide beantworten xtermdie Frage echo $TERM.
Frage
Versteht jemand im Grunde, warum alles funktioniert, auch wenn es nicht sollte?
- Bin ich sadistisch, dass ich mich beschwere, warum die Dinge funktionieren? Vielleicht.
- Gibt es einen besseren Grund? Klar: Ich möchte das Erscheinungsbild anderer Ubuntu-Boxen in meinem Büro korrigieren und möchte verstehen, warum Dinge funktionieren oder nicht funktionieren.
Zusätzliche Experimente
Das Ausführen dieses Skripts (leicht modifiziert) auf meinem xtermComputer führt zu folgendem Ergebnis: 256 Farben, aber nur 16 werden korrekt angezeigt.

Wenn Sie das Profil des Terminals ändern, ändern sich auch diese 16 Farben.

Weitere Tests folgen.
Von links nach rechts, von oben nach unten, haben wir Solarisation Farbthema, dircolor ansi-darkund 256darkdann default ( Tango ) Farbschema, dircolor ansi-darkund 256dark.

Beobachtung : Theoretisch sollte das Farbschema dircolor ansi-darkbei Solarisation genau mit dem bei Solarisation übereinstimmen dircolor 256dark. Dies ist bei den angegebenen Dateien nicht eindeutig der Fall. Stattdessen passiert dies, wenn sich im Arbeitsverzeichnis Ordner , Textdateien und symbolische Links befinden . Fazit : Beim Kodieren der 256darkFarben wurde nicht viel beachtet .
Vorläufige Schlussfolgerungen
xtermunterstützt trotz allem 256 Farben tput colors. Programme können auf die ansiPalette verweisen (vom Benutzer anpassbar) oder ihre Farben definieren und aus insgesamt 256 Farben auswählen.
tput colorsein unzuverlässiger Test ist. Könnten Sie meine vorläufigen Schlussfolgerungen überprüfen ?
tput colorsnur ein Wert zurückgegeben werden kann und in Terminals, die 2,8,16,88 oder 256 Farben unterstützen, nur der erste Wert (in Ihrem Fall 8) zurückgegeben wird. Verwenden Sie das Skript aus meinem letzten Kommentar, um den wahren Wert zu ermitteln. Was bringt das?
Klicken Sie mit der rechten Maustaste auf das Bild, um es in voller Auflösung anzuzeigen
solarisierte "degradierte" dircolors Referenzkarte