introduction
Ma question découle de la nécessité de comprendre pourquoi j'ai maintenant (après plusieurs essais) Terminal et tmux prenant en charge 256 couleurs et tput colors
me disant qu'il n'y en a que 8.
Contexte
Commençons par le début.
J'utilise une boîte Ubuntu , Guake , tmux , Vim et j'adore le thème Solarized . Ils avaient l'air affreux, alors j'ai décidé d'activer le support des 256 couleurs et de jouer un peu.
Voyons ce qui se passe pour mon terminal . tput colors
dit il y a 8 couleurs. Personnellement, je les ai mis en violet, à gauche, et bien sûr à droite, nous avons 2 nuances de bleu. $TERM
dit xterm
. (Pour avoir la couleur ls
je eval
ceci dans mon .bashrc
.)
Vim a également l’air très bien, malgré le fait que je l’appelle avec le 256
drapeau dans un environnement où 256 couleurs ne sont pas supportées.
set t_Co=256
let g:solarized_termcolors=256
colorscheme solarized
Le seul gars qui se plaint de l'espace de couleur réduit est tmux . L'appel tmux
donne les "mauvais" résultats attendus.
Mais appeler tmux
avec le -2
drapeau fait que tout fonctionne correctement, comme par magie .
Maintenant, la seule chose que je comprends, c’est l’ -2
équivalent de export TERM=screen-256color
( source ).
Guake se comporte de manière analogue à Terminal et les deux répondent xterm
à la question echo $TERM
.
Question
En gros, est-ce que quelqu'un comprend pourquoi tout fonctionne même si cela ne devrait pas?
- Suis-je sadique que je me plains pourquoi les choses fonctionnent? Peut être.
- Y a-t-il une meilleure raison? Bien sûr: j'aimerais corriger l'apparence des autres boîtiers Ubuntu dans mon bureau et comprendre pourquoi les choses fonctionnent ou ne fonctionnent pas.
Expériences supplémentaires
L'exécution de ce script (légèrement modifié) sur my xterm
donne le résultat suivant: 256 couleurs, mais seulement 16 sont affichées correctement.
Ensuite, en changeant le profil du terminal, ces 16 couleurs changent également.
Plus de tests suivent.
De gauche à droite, de haut en bas, nous avons solarisée thème de la couleur, dircolor
ansi-dark
et 256dark
, puis par défaut ( Tango schéma de couleurs), dircolor
ansi-dark
et 256dark
.
Observation : en théorie, la palette de couleurs dircolor
ansi-dark
sur Solarized devrait correspondre étroitement à la dircolor
256dark
. Cela ne se produit pas clairement pour les fichiers listés spécifiques. Cela se produit plutôt lorsque, dans le répertoire de travail, il y a des dossiers , des fichiers texte et des liens symboliques . Conclusion : peu d'attention a été portée lors du codage des 256dark
couleurs.
Conclusions préliminaires
xterm
supporte 256 couleurs, malgré ce que tput colors
dit. Les programmes peuvent faire référence à la ansi
palette (personnalisable par l'utilisateur) ou définir leurs couleurs, en choisissant parmi un total de 256 couleurs.
tput colors
test n'est pas fiable. Pourriez-vous vérifier mes conclusions préliminaires ?
tput colors
ne peut renvoyer qu’une valeur et que dans les terminaux prenant en charge l’une quelconque des couleurs 2,8,16,88 ou 256 couleurs, seule la première valeur (8 dans votre cas) est renvoyée. Pour obtenir la vraie valeur, utilisez le script de mon dernier commentaire. Qu'est-ce que cela retourne?