getty (Français)

From ArchWiki
Jump to navigation Jump to search

État de la traduction: Cet article est la version francophone de Getty. Date de la dernière traduction: 04/07/2021. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Un «getty» est une façon générale de parler d'un programme qui gère un terminal et la ligne à laquelle il est connecté. Sa principale utilité est de protéger le système des accès non-autorisés.

Généralement, un processus getty est démarré à la demande par Systemd et ne gère qu'une seule ligne.

Note: Vous pourriez être intéressé par la lecture de la page console série.

Installation

agetty est le getty par défaut sous Arch Linux, il fait partie de util-linux.

Par défaut agetty fournit six consoles virtuelles accessibles par les combinaisons de touches Ctrl+Alt+F1 à Ctrl+Alt+F6.

Parmi les alternatives:

  • mingetty — Un getty minimaliste qui supporte la connexion automatique.
mingettyAUR || mingettyAUR
  • fbgetty — Un getty comme mingetty, qui supporte les framebuffers.
http://projects.meuh.org/fbgetty/ || fbgettyAUR
  • mgetty — Un programme capable de gerer tous les différents aspects d'une connexion par un modem sur les Unix modernes.
http://mgetty.greenie.net/ || mgettyAUR

Ajouter des consoles virtuelles

Ouvrez le fichier /etc/systemd/logind.conf et ajustez l'option NAutoVTs=6 au nombre de terminaux que vous souhaitez.

Pour démarrer un tty de façon temporaire, vous pouvez lancer un service getty pour le numéro de console désiré (ici N):

$ systemctl start getty@ttyN.service

Connexion automatique à la console

La configuration repose sur les fichiers drop-in de systemd pour changer les paramètres fournis par défaut à agetty.

Elle diffère entre les consoles virtuelles et série. Dans la majorité des cas, la connexion se fait sur une console virtuelle, dont le nom est ttyN, où N est un entier. La configuration pour une console série est légèrement différente, et le nom de la console sera ttySN, N étant un nombre.

Console virtuelle

Modifiez l'unité systemd soit en créant manuellement le drop-in suivant, soit en lançant systemctl edit getty@tty1 et collant ceci:

/etc/systemd/system/getty@tty1.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin utilisateur --noclear %I 38400 linux
Astuce: L'option Type=idle retardera l'exécution du service jusqu'à que tous les jobs (demandes de changement d'état d'unités) soient terminés. En utilisant Type=simple, le service sera démarré immédiatement, mais les messages de démarrage peuvent polluer la console. Cette option est particulièrement utile quand X se lance automatiquement. Pour utiliser cette option ajoutez Type=simple au code.

Si vous voulez utiliser un tty autre tty1, configurez systemd pour qu'il démarre plusieurs gettys.

Console série

Créez le fichier suivant (et les dossiers dans lequel il se trouve):

/etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin utilisateur -s %I 115200,38400,9600 vt102

Console «nspawn»

Pour configuerer la connexion automatique pour un conteneur systemd, surchargez console-getty.service:

/etc/systemd/system/console-getty.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear --autologin username --keep-baud console 115200,38400,9600 $TERM

Si machinectl login my-container est la méthode utilisée pour accèder au conteneur, ajoutez ausi --autologin username à container-getty@.service, l'unité qui gère les pseudo ttys pts/[0-9]:

/etc/systemd/system/container-getty@.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear --autologin username --keep-baud pts/%I 115200,38400,9600 $TERM

Ne demander que le mot de passe , et utiliser un utilisateur par défaut dans une console virtuelle

Getty peut être utilisé pour se connecter depuis une console virtuelle au moyen d'un utilisateur par défaut. On entre le mot de passe sans avoir préalablement entré le nom d'utilisateur. Par exemple, pour reclamer le mot de passe d'un utilisateur username sur tty1:

/etc/systemd/system/getty@tty1.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty -n -o username %I

et ensuite

# systemctl enable getty@tty1

Garder les messages du démarrage sur tty1

Par défaut, suite au démarrage, l'écran est effacé pour laisser place à l'écran de connexion (login dans un tty). Ce comportement a l'inconvénient de ne pas laisser le temps de voir les éventuels messages d'erreur (ou pas) du démarrage. Ce qui suit est une liste d'actions possibles pour modifier cela.

Vous pouvez configurer votre système pour ne pas effacer l'écran à la fin du démarrage. Sous Archlinux, l'effacement de l'écran se fait par le biais du service 'getty@tty1.service activé sous Systemd et qui comporte l'instruction:

TTYVTDisallocate=yes

Pour éviter l'effacement:

cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/getty-no-clear@.service
systemctl disable getty@tty1.service
systemctl enable getty-no-clear@tty1.service

Puis modifiez la ligne TTYVTDisallocate de /etc/systemd/system/getty-no-clear@.service:

TTYVTDisallocate=no
Note:
  • Soyez certain de ne pas avoir quiet dans les paramètres du noyau.
  • Le démarrage tardif du KMS peut causer l'effacement des premiers messages du démarrage. Voyez la page Kernel mode setting (Français) pour savoir si vous devez plutôt désactiver KMS ou activer son démarrage précoce.