Comment puis-je configurer systemd pour me connecter automatiquement à mon environnement de bureau, de préférence sans utiliser le gestionnaire de connexion ? J'utilise Arch.
Réponse acceptée :
Ceci est décrit dans Arch Wiki :
Créez un nouveau fichier de service similaire à
[email protected]
en le copiant dans/etc/systemd/system/
cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/[email protected]
Cela copie essentiellement le [email protected]
déjà existant vers un nouveau fichier [email protected]
qui peut être librement modifié. Il est copié dans /etc/systemd/system
car c'est là que les fichiers d'unité spécifiques au site sont stockés. /usr/lib/systemd/system
contient les fichiers d'unité fournis par les packages, vous ne devez donc rien y changer.
Vous devrez ensuite créer un lien symbolique vers ce [email protected]
au service getty pour le tty sur lequel vous souhaitez vous connecter automatiquement, par exemple pour tty1 :
ln -s /etc/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]
Jusqu'à présent, c'est toujours le même que l'habituel [email protected]
fichier, mais la partie la plus importante est de modifier le [email protected]
pour vous connecter automatiquement.
Pour ce faire, il vous suffit de modifier le ExecStart
ligne à lire
ExecStart=-/sbin/agetty -a USERNAME %I 38400
La différence entre ExecStart
ligne dans [email protected]
et [email protected]
est uniquement le -a USERNAME
qui indique à agetty de connecter automatiquement l'utilisateur avec le nom d'utilisateur USERNAME.
Il ne vous reste plus qu'à indiquer à systemd de recharger ses fichiers démons et de démarrer le service :
systemctl daemon-reload
systemctl start [email protected]
(Je ne sais pas si le service démarrera correctement si vous êtes déjà connecté sur tty1, le moyen le plus sûr est probablement de simplement redémarrer au lieu de démarrer le service).
Si vous souhaitez ensuite démarrer X automatiquement, insérez l'extrait suivant dans votre ~/.bash_profile
(repris du wiki):
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
exec startx
fi
Vous devrez modifier votre ~/.xinitrc
pour démarrer votre environnement de bureau, la façon de procéder dépend du DE et est probablement également décrite dans le wiki Arch.