console - Console et terminaux virtuels.
Un système Linux dispose d'un maximum de 63
consoles virtuelles
(périphériques caractères, dont le numéro majeur est 4 et le numéro
mineur entre 1 et 63), généralement nommées
/dev/ttyn
avec 1 <
n < 63.
La console en cours est également accessible par
/dev/console
ou
/dev/tty0, le périphérique de numéro majeur 4, et de numéro
mineur 0.
Les fichiers de périphériques /dev/* sont habituellement créés en utilisant
le script MAKEDEV, ou en utilisant
mknod(1),
avec le mode d'accès 0622 et le propriétaire 'root.tty'.
Avant le noyau 1.1.54, le nombre de consoles virtuelles était compilé dans
le noyau (tty.h: #define NR_CONSOLES 8) et ne pouvait être modifié qu'en
éditant ce fichier, et en recompilant le noyau.
Depuis la version 1.1.54, les consoles virtuelles sont créées à la volée,
sitôt qu'on en a besoin.
Les moyens les plus courants de démarrer un processus sur une console sont
-
(a) demander à
init(8)
(dans
inittab(5))
de démarrer un
getty(8)
sur la console ;
-
(b) demander à
openvt(1)
de lancer un processus sur la console;
-
(c) lancer X
qui trouvera la première console inutilisée et y effectuera ses affichages.
(On peut aussi utiliser l'ancien
doshell(8).)
Les moyens courant de basculer de console en console sont
-
(a) utilise Alt+Fn ou Ctrl+Alt+Fn
pour basculer sur la console n; AltGr+Fn
vous amène à la console n+12 (Alt et AltGr correspondent respectivement
aux ALT gauche et droit).
-
(b) utiliser Alt+Flèche_droite ou Alt+Flèche_gauche
pour parcourir les diverses consoles disponibles.
-
(c) utiliser le programme chvt(1).
Les touches étant redéfinissables, les combinaisons mentionnées ici sont
celles par défaut. Voir
loadkeys(1).
La commande
deallocvt(1)
(précédemment
disalloc)
libère la mémoire utilisée par les buffers
d'écran des consoles qui n'ont plus de processus associés.
Les consoles disposent de nombreux états différents. J'espère pouvoir
documenter cela un jour. Le fait le plus important est que les consoles
simulent des terminaux vt100.
En particulier, une console est réinitialisée en recevant les caractères
ESC c.
Toutes les séquences d'échappement sont indiquées dans
console_codes(4).
Christophe Blaess, 1996-2003.