Estoy revisando mi respuesta ahora que estoy seguro de las cosas.
Era erróneo concluir que las secuencias ANSI se manejaban a través del BIOS o fuera del núcleo; de hecho, se manejan en el núcleo. Encontré lo que me había perdido antes gracias a hnaz_ en el canal IRC LinuxNewbies: drivers/char/vt.c
implementa una emulación de un terminal Digital Equipment VT102 que utiliza el controlador del terminal virtual.
Entonces ... como respuesta definitiva, después de haber revisado el código fuente que maneja las secuencias de escape para terminales virtuales: si desea un soporte de 256 colores en terminales virtuales, tendrá que construir su propio núcleo después de extender el código que analiza las secuencias de escape para manejar la especificación de color más amplia.
La función se llama csi_m (). Los cambios tendrán que ser similares a los que extienden los emuladores de terminal basados en X para manejar secuencias de escape que especifican los códigos de color más ricos. Probablemente también habrá otros cambios necesarios, pero aquí es donde comenzaría.
kmscon
es un terminal de usuario que intenta mejorar el terminal (incluido el color de 24 bits). Aunque su desarrollo se ha estancado a favor de una alternativa systemd.Sus RXVT / xterm / URXVT / etc de 256 colores están definidos por terminfo y la configuración de la
TERM
variable. En la mayoría de las distribuciones de Linux, sus terminales virtuales están definidos/etc/inittab
y usan un tipo de terminal predeterminado que define cuántos colores puede usar el terminal.Sí.
Asegúrese de que su framebuffer esté usando la resolución / profundidad de bits correcta. Intente agregar
vga=773
a las opciones del núcleo, por ejemplo, para obtener 1024x768 y 256 colores (profundidad de color de 8 bits).Establecer un término diferente (por ejemplo,
export TERM=foo
). Tendrá que experimentar para encontrar el correcto. Si encuentra uno que funcione, puede modificarlo/etc/inittab
para que sus terminales virtuales lo ejecuten de manera predeterminada (consulte la siguiente sección).Este artículo analiza otras opciones que pueden funcionar para usted. Recomienda Qingy (Qingy no es GettY) como reemplazo de getty, y puede darle lo que está buscando si cambiar las variables TERM no es una opción.
Hablando de reemplazos de getty, juro que he visto instrucciones para reemplazar a getty en
GNU screen
algún lugar del camino. No estoy encontrando el enlace en este momento, pero dado que hay un TERM de 256 colores parascreen
, puedes buscarlo./etc/inittab
usa líneas como esta para configurar terminales virtuales:Aquí está la página de manual
/sbin/getty
(desde mi sistema Debian, por lo que técnicamente es elagetty
programa):Tenga en cuenta que
baud_rate,... port [term]
hay al final. Eso coincide con el comando en la/etc/inittab
línea (/sbin/getty 38400 ttyN
): tenga en cuenta que no hay[term]
argumento, por lo que obtenemos un valor predeterminado (se ejecutaecho $TERM
justo después de iniciar sesión en una consola virtual para ver qué usa su sistema). De la página de manual nuevamente:Si encuentra un TERM que funciona, modifique las líneas de getty en su inittab y agregue el TERM apropiado al final:
fuente
Eche un vistazo a fbterm: es un framebuffer de reemplazo que puede ejecutarse en modo de 256 colores (solo lo ejecuta como root desde un TTY)
He tenido un éxito mixto: algunas aplicaciones funcionan bien e informan 256 colores; sin embargo, Emacs (la razón principal por la que quería 256 colores en TTY) no parece funcionar; hay un poco de discusión al respecto aquí, pero en realidad no se resuelve:
http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00989.html
Sin embargo, ¡mplayer debería funcionar!
fuente
emacs
dentrotmux
puede ayudar, ya que debería traducir secuencias de escape para la terminal circundante.kmscon
kmscon es una forma de obtener 256 colores y video sin tener instalado un sistema de Windows (X, Wayland).
Fue abandonado pero actualmente se mantiene a través de un tenedor .
La documentación sobre la instalación es escasa, pero la página README aquí debería ayudarlo.
Lo instalé y lo uso para aplicaciones de consola que requieren 256 colores (vim debido a mi configuración).
Lea atentamente las instrucciones de instalación.
fuente
Las secuencias de escape ANSI para establecer los colores de primer plano y de fondo del texto son lo que limita las cosas aquí.
De memoria, estas secuencias se parecen a escapar [01; 34m. Hay códigos en los años 30 para el primer plano y creo que los 40 para el fondo.
Así que no creo que haya ninguna manera de lograr lo que estás buscando.
fuente