Introducción
Mi pregunta surge de la necesidad de comprender por qué tengo ahora (después de varias pruebas) Terminal y tmux que admiten 256 colores y tput colors
me dicen que solo hay 8 de ellos.
Antecedentes
Vamos a empezar desde el principio.
Estoy usando una caja de Ubuntu , Guake , tmux , Vim y me encanta el tema Solarizado . Se veían bastante horribles, así que decidí habilitar el soporte de 256 colores y jugar un poco.
Veamos qué pasa con mi Terminal . tput colors
dice que hay 8 colores. Personalmente los puse en púrpura, a la izquierda, y por supuesto a la derecha tenemos 2 tonos de azul diferentes. $TERM
dice xterm
. (Tener el color ls
I eval
this en mi .bashrc
.)
Vim también se ve bien, a pesar del hecho de que lo llamo con la 256
bandera en un entorno donde no se admiten 256 colores .
set t_Co=256
let g:solarized_termcolors=256
colorscheme solarized
El único tipo que se queja del espacio de color reducido es tmux . Llamar tmux
proporciona los resultados esperados "incorrectos".
Pero llamar tmux
con la -2
bandera hace que todo funcione bien, mágicamente .
Ahora lo único que entiendo es que -2
es equivalente a export TERM=screen-256color
( fuente ).
Guake se comporta de manera análoga a Terminal y ambos responden xterm
a la pregunta echo $TERM
.
Pregunta
Básicamente, ¿alguien entiende por qué todo funciona incluso si no debería?
- ¿Soy sádico porque me quejo por qué las cosas funcionan? Tal vez.
- ¿Hay una mejor razón? Claro: me gustaría arreglar la apariencia de otras cajas de Ubuntu en mi oficina, y me gustaría entender por qué las cosas funcionan o no.
Experimentos adicionales
Ejecutar este script (ligeramente modificado) en mi xterm
proporciona el siguiente resultado: 256 colores, pero solo 16 se muestran correctamente.
Luego, cambiando el perfil del terminal, también cambian estos 16 colores.
Más pruebas están siguiendo.
De izquierda a derecha, de arriba a abajo, tenemos un tema de color Solarizeddircolor
ansi-dark
y 256dark
, luego , un esquema de color predeterminado ( Tango ) dircolor
ansi-dark
y 256dark
.
Observación : en teoría, el esquema de color dircolor
ansi-dark
en Solarized debería coincidir estrechamente con el dircolor
256dark
. Esto no está sucediendo claramente para los archivos específicos enumerados. En cambio, esto sucede bastante cuando en el directorio de trabajo hay carpetas , archivos de texto y enlaces simbólicos . Conclusión : no se prestó mucha atención al codificar los 256dark
colores.
Conclusiones preliminares
xterm
admite 256 colores, a pesar de lo que tput colors
dice. Los programas pueden referirse a la ansi
paleta (personalizable por el usuario) o definir sus colores, eligiendo entre un total de 256 colores.
tput colors
es una prueba poco confiable. ¿Podrías revisar mis conclusiones preliminares ?
tput colors
solo puede devolver un valor y en terminales que admiten cualquiera de 2,8,16,88 o 256 colores, solo se devuelve el primer valor (8 en su caso). Para obtener el verdadero valor, use el script de mi último comentario. ¿Qué devuelve eso?