Connexion automatique d'un utilisateur sous Debian
Connexion automatique
Un programme permet de les terminaux : getty
. L'idée est donc de lui demander de connecter automatiquement un utilisateur lorsqu'il est en tty1
, autrement dit depuis le terminal 1 du PC.
La démarche est expliquée dans la documentation de Arch : getty - ArchWiki.
Il convient d'abord de créer un fichier de configuration alternative afin de pas perdre ses réglages lors d'une mise à jour du système :
sudo systemctl edit getty@tty1.service
Cela va créer un fichier override.conf
reprenant tous la configuration d'origine en commentaire. On décommente et modifie le fichier afin d'avoir les lignes suivantes :
[Service]
# # the VT is cleared by TTYVTDisallocate
# # The '-o' option value tells agetty to replace 'login' arguments with an
# # option to preserve environment (-p), followed by '--' for safety, and then
# # the entered username.
ExecStart=
ExecStart=-/sbin/agetty --noclear --autologin <username> %I $TERM
-
[Service]
permet d'indiquer l'emplacement des modifications à apporter. - Le premier
[ExecStart]
permet de remettre à zéro le précédent réglage. - La dernière ligne permet de connecter l'utilisateur
<username>
sans entrer de mot de passe.
Pour ma part, l'édition s'est faite dans Nano, au moment de l'enregistrement, j'ai du changer le nom du fichier : /etc/systemd/system/getty@tty1.service.d/override.conf
.
Si on laisse les options -o '-p -f -- \\u'
, le nom d'utilisateur sera pré-rempli, mais il faudra toujours entrer le mot de passe.
Lancement automatique d'une commande
Cela se joue dans le fichier .zshrc
de l'utilisateur.
Étant donné que je fais appel à une fonction dans mon script (c'est un peu imbriqué dans tous les sens mon affaire…), je le place à la toute fin de mon fichier.
[[ `tty` == /dev/tty1 ]] && <command>
La commande ne respecte pas le standard POSIX, mais ça va bien pour zsh. Autrement, j'aurais pu mettre la commande suivante, sans quoi zsh interprète ==
:
[ `tty` "==" /dev/tty1 ] && <command>
Pas de commentaires