Supongamos que tengo un sistema sin X server
. Solo puedo iniciar sesión desde la consola. Parece que, por defecto, la consola de Linux solo admite 8 colores:
# tput colors
8
¿Es posible usar 256 colores en la consola, lo mismo que usaría en un emulador de terminal (es decir, terminador)?
Mientras busco en Google, he encontrado muchas preguntas similares (muchas de ellas mayores de 10 años), pero ninguna respuesta clara. Alguien sugiere usar framebuffer, otras personas sugieren agregar el argumento TERM a las opciones de arranque del kernel.
Por el momento, solo paso una opción adicional como parámetro de arranque del kernel:
append="video=1280x720"
Creo que pasar la resolución de video solo funciona en núcleos modernos con kernel mode setting
soporte, pero no estoy seguro de eso.
¿Es posible usar 256 colores en la consola moderna de Linux (tty)
¿Cómo?
Estoy usando Debian Wheezy con el kernel 4.1
ACTUALIZAR:
basado en la sugerencia de @muru, lo he intentado fbterm
. Si bien funciona con 256 colores, tiene fuentes muy feas / ilegibles. Además, hay un cursor que parpadea constantemente en la esquina inferior izquierda, lo que me distrae.
¿Puedo usar 256 colores en la consola sin fbterm / framebuffer?
¿De dónde viene el límite de 8 colores en la consola?
fuente
TERM
quexterm-256color
para la consola de Linux, usted sólo tiene que abrir otra lata de gusanos. Este enlace da una pista.$TERM
(tiene que serfbterm
antes de comenzarfbterm
) o no el modo de video de 32 bits o ambos. Apague el cursor de la consola antes de comenzarfbterm
y enciéndalo una vez que esté allí, usandotput
. unix.stackexchange.com/questions/220330/…fbterm
fuente, y sería simple (pero lento) convertir las secuencias de código de escape para usarxterm-256color
en su lugar (fbterm-xterm
). El$TERM
también tendría que ser inline conterminfo
ytermcap
convenciones de nomenclatura (fbterm-xterm-256color
ofbterm-256color
) a "ranura" en shell scripts existentes. Tenga en cuenta que sefbterm
utilizaTERM=fbterm
como un interruptor para activar la opción de 256 colores, de lo contrario, son 16 colores (o tal vez el mismo que el subyacente).Respuestas:
La pregunta real consiste en estos dos elementos:
¿Puedo usar 256 colores en la consola sin fbterm / framebuffer?
¿De dónde viene el límite de 8 colores en la consola?
Al primero: aparentemente no. Todos los enfoques sugeridos usan fbterm. Al segundo: proviene de la descripción del terminal (también conocido como "entrada de terminfo"). Para la consola Linux, con
TERM
set tolinux
, eso dice que el terminal admite 8 colores. tput obtiene su información de la base de datos del terminal.Uno de los elementos en el hilo citado dice que fbterm usa diferentes secuencias de escape para establecer colores que xterm. Si ese es el caso (y dada la propensión de los usuarios de Emacs a codificar cosas), no hay una entrada de terminal adecuada para fbterm.
fuente
linux-256color
). Ese parche nunca se aceptaría en sentido ascendente por la misma razón que el comentario de Thomas Dickey anterior, "Debido a limitaciones de hardware". IE Linux debe funcionar en el mínimo común denominador.