introduzione
La mia domanda nasce dalla necessità di capire perché ora ho (dopo più prove) Terminal e tmux che supportano 256 colori e tput colorsmi dicono che ce ne sono solo 8.
sfondo
Cominciamo dall'inizio.
Sto usando una scatola Ubuntu , Guake , tmux , Vim e adoro il tema Solarized . Sembravano orribili, quindi ho deciso di abilitare il supporto a 256 colori e giocare un po '.
Vediamo cosa succede per il mio terminale . tput colorsdice che ci sono 8 colori. Personalmente li imposto sul viola, a sinistra, e ovviamente a destra abbiamo 2 diverse tonalità di blu. $TERMdice xterm. (Per avere l' lsio colorato eval questo nel mio .bashrc.)

Anche Vim ha un bell'aspetto, nonostante il fatto che io lo chiami con la 256bandiera in un ambiente in cui 256 colori non sono supportati.
set t_Co=256
let g:solarized_termcolors=256
colorscheme solarized
L'unico ragazzo che si lamenta dello spazio cromatico ridotto è tmux . La chiamata tmuxfornisce i risultati previsti "errati".

Ma chiamare tmuxcon la -2bandiera fa funzionare tutto bene, magicamente .

Ora l'unica cosa che capisco è che -2è equivalente a export TERM=screen-256color( fonte ).
Guake si comporta in modo analogo a Terminal ed entrambi rispondono xtermalla domanda echo $TERM.
Domanda
Fondamentalmente, qualcuno capisce perché tutto funziona anche se non dovrebbe?
- Sono sadico di lamentarmi perché le cose funzionano? Può essere.
- C'è una ragione migliore? Certo: vorrei correggere l'aspetto di altre scatole di Ubuntu nel mio ufficio e vorrei capire perché le cose funzionano o non funzionano.
Esperimenti aggiuntivi
L'esecuzione di questo script (leggermente modificato) su my xtermfornisce il seguente risultato: 256 colori, ma solo 16 vengono visualizzati correttamente.

Quindi, cambiando il profilo del terminale, cambiano anche questi 16 colori.

Altri test stanno seguendo.
Da sinistra a destra, dall'alto verso il basso, abbiamo il tema del colore Solarizzatodircolor ansi-dark e 256dark, quindi, la combinazione di colori predefinita ( Tango ) dircolor ansi-darke 256dark.

Osservazione : in teoria la combinazione di colori dircolor ansi-darksu Solarized dovrebbe corrispondere strettamente alla dircolor 256dark. Ciò non sta chiaramente accadendo per i file elencati specifici. Invece, questo accade abbastanza quando nella directory di lavoro ci sono cartelle , file di testo e collegamenti simbolici . Conclusione : non è stata prestata molta attenzione alla codifica dei 256darkcolori.
Conclusioni preliminari
xtermsupporta 256 colori, nonostante ciò che tput colorsdice. I programmi possono fare riferimento alla ansitavolozza (personalizzabile dall'utente) o definirne i colori, scegliendo tra un totale di 256 colori.
tput colorsè un test inaffidabile. Potresti controllare le mie conclusioni preliminari ?
tput colorspuò restituire solo un valore e nei terminali che supportano 2,8,86,88 o 256 colori, viene restituito solo il primo valore (8 nel tuo caso). Per ottenere il vero valore usa lo script dal mio ultimo commento. Cosa ritorna?
si prega di fare clic destro / visualizzare l'immagine per ispezionare a piena risoluzione
mappa di riferimento dei dircolori "degradati" solarizzati