Introduction aux arcanes de la console Linux
Au terme de la séquence d’amorçage d’un système Linux, le prompt invitant à la saisie des identifiants (login:) ne surgit pas par enchantement : il est orchestré en arrière-plan par le démon agetty. Plutôt que de s’égarer dans les détails austères des pages de manuel, ce tutoriel pratique décortique son articulation avec systemd, la création d’écrans d’accueil sur mesure via /etc/issue et la mise en œuvre de configurations avancées immédiatement applicables en environnement de production.
Fondamentaux d’agetty et inspection du service sous systemd
Pour localiser précisément l’exécutable agetty au sein de l’arborescence système, nous interrogeons l’environnement avec la commande which agetty.

Véritable passerelle entre le noyau et l’espace utilisateur, agetty ouvre les terminaux virtuels ou les liaisons séries, calibre les paramètres du terminal (vitesse, parité) et prend en charge l’affichage de l’invite de connexion. Examinons la version actuellement déployée ainsi que l’ensemble des fonctionnalités prises en charge.
⚙️ [Options essentielles]
-a, --autologin : Démarre automatiquement une session pour le compte spécifié, contournant ainsi l’étape d’authentification interactive.-J, --noclear : Empêche l’effacement de l’écran avant l’affichage du prompt afin de conserver visibles les journaux d’amorçage du noyau.-f, --issue-file : Définit un fichier alternatif contenant la bannière système présentée au-dessus de l’invite de connexion.-o, --login-options : Transmet des paramètres personnalisés au binaire login sous-jacent.-n, --skip-login : Saute l’étape de saisie du nom d’utilisateur pour invoquer directement le mécanisme d’authentification suivant.-8, --8bits : Configure le canal de communication pour supporter nativement le jeu de caractères 8 bits.

Afin d’analyser l’état d’activité du premier terminal virtuel (tty1) supervisé dynamiquement par systemd, exécutons la requête systemctl status getty@tty1.service --no-pager.
Le compte rendu confirme que le processus agetty tourne parfaitement en tâche de fond, prêt à interagir dès qu’un utilisateur sollicite la console.

Conception d’une bannière d’accueil personnalisée avec /etc/issue
Le texte d’accueil précédant l’invite de connexion provient des directives définies dans /etc/issue. Prenons connaissance du modèle initialement configuré à l’aide de cat /etc/issue.
Au sein de ce fichier, certaines séquences d’échappement sont interprétées par agetty : par exemple, \n restitue le nom d’hôte de la machine, tandis que \l indique la console virtuelle (ligne tty) actuellement employée.

Avant de remanier ce fichier système, il est prudent d’en préserver l’état original au moyen de sudo cp /etc/issue /etc/issue.bak.

Nous pouvons composer un bandeau personnalisé injectant dynamiquement des informations sur le système d’exploitation et la console active en lançant echo -e '\n=== Welcome to Ubuntu Server (tty: \l) ===\nOS: \s \r (\m) | Time: \t\n' | sudo tee /tmp/custom_issue.
Ce gabarit exploite plusieurs variables interprétées par le démon : l’identifiant tty (\l), le nom du système d’exploitation (\s), la version du noyau Linux (\r), l’architecture du processeur (\m) et l’heure système (\t).

Assurons-nous que le contenu généré et les directives d’échappement sont syntaxiquement conformes via cat /tmp/custom_issue.

Personnalisation des directives agetty via les surcharges systemd
Pour comprendre comment le gestionnaire de services orchestre la console tty1, affichons la définition complète de l’unité avec systemctl cat getty@tty1.service.
Le retour écran permet d’observer la structure de base décrite dans /usr/lib/systemd/system/getty@.service, et en particulier la ligne ExecStart qui détermine les arguments transmis au programme.

Pour éviter de modifier directement les fichiers de configuration distribués par les paquets — pratique déconseillée lors des mises à jour système —, nous créons un répertoire de surcharge drop-in à l’aide de sudo mkdir -p /etc/systemd/system/getty@tty1.service.d.

Afin d’empêcher l’effacement de l’écran grâce au commutateur --noclear et d’ajuster simultanément les débits de transmission ainsi que l’émulation du terminal, nous déployons notre configuration dédiée via echo -e '[Service]\nExecStart=\nExecStart=-/sbin/agetty -o "-p -- \\u" --noclear -s %I 115200,38400,9600 vt220' | sudo tee /etc/systemd/system/getty@tty1.service.d/noclear.conf.
Notez la réinitialisation préalable obligatoire au moyen d’un ExecStart= vide, indispensable pour écraser la commande par défaut avant de définir la nouvelle directive agetty.

Pour que systemd recharge ses définitions et applique instantanément cette surcharge, exécutons systemctl daemon-reload.

Vérifions désormais que notre fragment drop-in est correctement fusionné avec l’unité parente en exécutant de nouveau systemctl cat getty@tty1.service.
L’adjonction finale du bloc noclear.conf dans la sortie confirme que nos réglages personnalisés ont bien pris le relais.

Supervision des terminaux virtuels (TTY) et des consoles séries
Pour faire le point sur l’ensemble des instances de terminaux virtuels en activité sur la machine hôte, lançons la commande systemctl list-units --type=service 'getty@*' --no-pager.
Le résultat met en évidence que l’instance getty@tty1.service, affectée au premier terminal virtuel, est active et opérationnelle.

Dans les déploiements sur machines virtuelles cloud ou au sein d’environnements embarqués, la gestion passe couramment par des liaisons séries. Nous pouvons vérifier l’état d’enregistrement des modèles correspondants via systemctl list-unit-files 'serial-getty*' --no-pager.
Le résultat indique la présence du template serial-getty@.service, actuellement inactif (disabled).

Enfin, pour surveiller en temps réel les comptes utilisateurs actuellement connectés et les terminaux (TTY) qu’ils occupent, la commande w s’avère incontournable.
Cette commande fournit une vue d’ensemble instantanée des sessions actives, du temps de fonctionnement global de la machine ainsi que des moyennes de charge système (load average).

À travers ces manipulations concrètes, nous avons exploré les rouages d’agetty, de l’initialisation des consoles virtuelles jusqu’aux mécaniques avancées de configuration sous systemd.
Comprendre ces mécanismes de bas niveau offre un regard éclairé sur les phases finales du démarrage Linux et enrichit durablement vos compétences en administration système.