7. Changer de console

Contenu de cette section

Par défaut, le changement de console se fait par Alt-Fn ou Ctrl-Alt-Fn. Sous X (ou les versions récentes de dosemu), seule la combinaison Ctrl-Alt-Fn marche.

XFree86 1.3 ne sait pas que la touche Alt est enfoncée quand on rappelle la fenêtre X. Il faut donc relâcher Alt avant de pouvoir rechanger de console. Pourtant, ça pourrait marcher: le noyau mémorise toujours l'état appuyé/relâché des touches. (Autant que faire se peut: certains clavier n'émettent pas de scancode quand on appuie dessus (ex: les touches PFn d'un FOCUS 9000) ou quand on les relâche (ex: la touche Pause de la plupart des claviers).)

XFree86 1.3 sauve les polices chargées sur la carte vidéo quand il est démarré, et les restaure lors d'un changement de console. Donc le résultat d'un setfont sur une console virtuelle est annulé par un aller retour dans la fenêtre X. L'utilisation de setfont sous X donne des résultats bizarres...

Le changement de console par programme est possible grâce à la commande chvt.

7.1 Changer le nombre de Consoles Virtuelles

Cette question est toujours posée de temps en temps, mais la réponse est: il y en a déjà suffisament. Depuis la version 1.1.54 du noyau, il y a entre 1 et 63 consoles virtuelles. Une nouvelle console est créée dès qu'elle est ouverte. Elle peut être supprimée avec disalloc (mais il faut que plus aucun processus ne lui soit associé).

Pour les vieux noyaux, changer la ligne

#define NR_CONSOLES     8
dans include/linux/tty.h (ne pas dépasser 63), et recompiler. Il est possible que vous ayez à créer le périphérique correspondant avec MAKEDEV ou mknod ttyN c 4 N où N est le numéro du terminal. Si vous voulez avoir des getty sur ces nouvelles consoles, ajoutez des lignes dans /etc/inittab.

Quand les consoles sont allouées dynamiquement, il est généralement plus simple de n'avoir qu'un ou deux getty. D'autres consoles sont ouvertes par open -l -s bash. Les consoles inutilisées (sans processus associé) sont désallouées par disalloc.

Si vous disposez de spawn_login (inclus dans kbd-0.90.tar.gz) et que vous mettez

        loadkeys << EOF
        alt keycode 103 = Spawn_Console
        EOF
        spawn_login &
dans /etc/rc.local, taper Alt-FlècheHaute créera (et affichera) une nouvelle console avec un login. Voir aussi open-1.3.tgz.

Vous ne pouvez vous loger sous "root" que sur les terminaux listés dans /etc/securetty.


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre