Je révise ma réponse maintenant que je suis sûr de certaines choses.
Il était erroné de conclure que les séquences ANSI étaient gérées via le BIOS ou autrement en dehors du noyau; en effet, ils sont gérés dans le noyau. J'ai trouvé ce que j'avais raté auparavant grâce à hnaz_ sur le canal IRC LinuxNewbies: drivers/char/vt.c
implémente une émulation d'un terminal Digital Equipment VT102 utilisé par le pilote de terminal virtuel.
Alors ... comme réponse définitive, après avoir examiné le code source qui gère les séquences d'échappement des terminaux virtuels: Si vous souhaitez une prise en charge 256 couleurs sur des terminaux virtuels, vous devrez créer votre propre noyau après avoir étendu le code qui analyse les séquences d'échappement. pour gérer la spécification de couleur plus large.
La fonction s'appelle csi_m (). Les modifications devront être similaires à celles qui permettent aux émulateurs de terminal basés sur X de gérer des séquences d'échappement spécifiant des codes de couleur plus riches. D'autres modifications seront probablement nécessaires également, mais c'est par là que vous commenceriez.
kmscon
s'agit d'un terminal utilisateur qui tente d'améliorer le terminal (y compris la couleur 24 bits). Bien que son développement ait stagné en faveur d’une alternative systémique.Vos RXVT / xterm / URXVT / etc 256 couleurs sont définis par terminfo et par le réglage de la
TERM
variable. Dans la plupart des distributions Linux, vos terminaux virtuels sont définis dans/etc/inittab
et utilisent un type de terminal par défaut qui définit le nombre de couleurs que le terminal peut utiliser.Oui.
Assurez-vous que votre framebuffer utilise la résolution / profondeur de bits correcte. Essayez d'ajouter
vga=773
des options au noyau, par exemple, pour obtenir 1024x768 et 256 couleurs (profondeur de couleur 8 bits).Définissez un TERM différent (par exemple,
export TERM=foo
). Vous aurez besoin d'expérimenter pour trouver le bon. Si vous en trouvez un qui fonctionne, vous pouvez le modifier de/etc/inittab
sorte que vos terminaux virtuels l’exécutent par défaut (voir la section suivante).Cet article décrit d'autres options susceptibles de vous convenir. Il recommande Qingy (Qingy n'est pas GettY) comme remplacement de getty et peut vous donner ce que vous cherchez si le changement de variables TERM n'est pas une option.
En parlant de remplacement de getty, je jure avoir lu les instructions pour remplacer getty
GNU screen
quelque part au cours du processus. Je ne trouve pas le lien pour le moment, mais comme il existe un TERM de 256 couleursscreen
, vous pouvez vous renseigner./etc/inittab
utilise des lignes comme celle-ci pour configurer des terminaux virtuels:Voici la page de manuel sur
/sbin/getty
(de mon système Debian, donc techniquement c'est leagetty
programme):Notez le
baud_rate,... port [term]
à la fin. Cela correspond à la commande dans la/etc/inittab
ligne (/sbin/getty 38400 ttyN
) - notez qu'il n'y a pas d'[term]
argument, nous obtenons donc un défaut (exécutéecho $TERM
juste après vous être connecté à une console virtuelle pour voir ce que votre système utilise). De nouveau dans la page de manuel:Si vous trouvez un TERM qui fonctionne, modifiez les lignes getty dans votre inittab et ajoutez le bon TERM à la fin:
la source
Regardez fbterm - c'est un framebuffer de remplacement qui peut fonctionner en mode 256 couleurs (il vous suffit de l'exécuter en tant que root à partir d'un ATS)
J'ai eu un succès mitigé avec cela - certaines applications fonctionnent bien et rapportent 256 couleurs; Cependant, Emacs (la principale raison pour laquelle je voulais 256 couleurs sur TTY) ne semble pas fonctionner; il y a un peu de discussion à ce sujet ici, mais cela ne se résout pas vraiment:
http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00989.html
Cependant, mplayer devrait fonctionner!
la source
emacs
intérieurtmux
peut aider car il devrait traduire les séquences d'échappement du terminal environnant.kmscon
kmscon vous permet d'obtenir 256 couleurs et vidéo sans avoir à installer un système Windows (X, Wayland).
Il a été abandonné mais est actuellement maintenu via une fourchette .
La documentation sur l'installation est mince, mais la page LISEZMOI ici devrait vous guider.
Je l'ai installé et je l'utilise pour les applications de la console nécessitant 256 couleurs (vim en raison de ma configuration).
Lisez attentivement les instructions d'installation.
la source
Les séquences d'échappement ANSI pour définir les couleurs de premier plan et d'arrière-plan du texte sont ce qui limite ici.
De mémoire, ces séquences ressemblent à une évasion [01; 34m. Il y a des codes dans les années 30 pour le premier plan et je pense 40 pour les antécédents.
Donc, je ne pense pas qu'il y ait un moyen de réaliser ce que vous recherchez.
la source