getty (Français)
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.
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 prends en charge la connexion automatique.
- fbgetty — Un getty comme mingetty, qui prends en charge les framebuffers.
- mgetty — Un programme capable de gérer tous les différents aspects d'une connexion par un modem sur les Unix modernes.
Ajouter des consoles virtuelles
Ouvrez le fichier /etc/systemd/logind.conf
et ajustez l'option NAutoVTs=6
au nombre de terminaux que vous souhaitez.
Si besoin, démarrez temporairement un service getty@ttyN.service
directement.
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
Éditez getty@tty1
avec le contenu suivant:
/etc/systemd/system/[email protected]/autologin.conf
[Service] ExecStart= ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin username - $TERM
Type=idle
présente dans le [email protected]
par défaut retardera le démarrage du service jusqu'à ce que toutes les t (demandes de changement d'état adressées aux unités) soient terminés afin d'éviter de polluer l'invite de connexion avec des messages de démarrage. Lorsque X est démarré automatiquement, il peut être utile de démarrer [email protected]
immédiatement en ajoutant Type=simple
dans le fichier de substitution. Le système init et startx peuvent être réduit au silence pour éviter l'entrelacement de leurs messages pendant le démarrage.Si vous ne souhaitez pas une connexion automatique complète, mais que vous ne voulez pas non plus taper votre nom d'utilisateur, consultez #Ne demander que le mot de passe pour la connexion d'un utilisateur par défaut dans une console virtuelle.
Si vous voulez utiliser un tty autre que tty1
, voyez la FAQ de Systemd en anglais.
Console série
Créez le fichier suivant (et les dossiers dans lequel il se trouve):
/etc/systemd/system/[email protected]/autologin.conf
[Service] ExecStart= ExecStart=-/sbin/agetty -o '-p -f -- \\u' --keep-baud --autologin username 115200,57600,38400,9600 - $TERM
Console nspawn
Pour configurer la connexion automatique pour un conteneur systemd, surchargez console-getty.service
:
/etc/systemd/system/console-getty.service.d/autologin.conf
[Service] ExecStart= ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --keep-baud --autologin username - 115200,38400,9600 $TERM
Si machinectl login my-container
est la méthode utilisée pour accéder au conteneur, modifiez aussi [email protected]
, l'unité qui gère les pseudo ttys pts/[0-9]
:
/etc/systemd/system/[email protected]/autologin.conf
[Service] ExecStart= ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --keep-baud --autologin username - 115200,38400,9600 $TERM
Ne demander que le mot de passe pour la connexion d'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/[email protected]/skip-username.conf
[Service] ExecStart= ExecStart=-/sbin/agetty -o '-p -f -- username' --noclear - $TERM
et ensuite activez getty@tty1
Garder les messages de démarrage sur tty1
Par défaut, service getty@tty1
est activé sur Arch. Le fichier de service passe déjà --noclear
, ce qui empêche agetty d'effacer l'écran. Cependant, systemd efface l'écran avant de le démarrer. Pour désactiver ce comportement, créez :
/etc/systemd/system/[email protected]/noclear.conf
[Service] TTYVTDisallocate=no
Ceci remplace seulement TTYVTDisallocate
pour agetty sur TTY1, et laisse le fichier de service global /usr/lib/systemd/system/[email protected]
intact. Consultez Systemd (Français)#Modifier les unités fournies.
- Assurez-vous de supprimer
quiet
des paramètres du noyau. - Un démarrage tardif de KMS peut entraîner l'effacement des premiers messages de démarrage. Consultez Kernel mode setting (Français)#Démarrage KMS précoce ou Kernel mode setting (Français)#Désactiver KMS.