Je viens d'installer Debian 9.2.1 sur un ancien ordinateur portable en tant que serveur bon marché. L'ordinateur n'est pas physiquement accessible physiquement par personne autre que moi, je voudrais donc vous connecter automatiquement lors du démarrage de sorte que si je dois utiliser l'ordinateur portable lui-même plutôt que SSH, je n'ai pas à gêner la connexion. Je n'ai pas d'environnements graphiques. Installée, aucune de ces méthodes ne fonctionnerait, et j'ai essayé plusieurs solutions telles que - https://superuser.com/questions/969923/automatic-root-login-in-debian-8-0-console -Enly Cependant, tout ce qu'il a fait n'a pas été donné de l'invite de connexion ... Donc, j'ai donc réinstallé Debian. Que puis-je faire pour vous connecter automatiquement sans environnement graphique? Merci!
Modifiez votre /etc/systemd/logind.conf
, monnaie #NAutoVTs=6
à NAutoVTs=1
Créer un /etc/systemd/system/[email protected]/override.conf
par ;
systemctl edit getty@tty1
Collez les lignes suivantes
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux
activer le [email protected]
puis redémarrez
systemctl enable [email protected]
reboot
Je veux juste ajouter à cette discussion que la réponse acceptée concerne les terminaux virtuels. Dans mon cas, j'ai dû modifier un fichier de service séparé utilisé pour les terminaux série. Le fichier est trouvé à /lib/systemd/system/[email protected]
et la même procédure d'ajout --autologin <user>
à la ligne appropriée fait l'affaire.
[Service]
ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 --autologin root %I $TERM
J'aimerais ajouter une réponse légèrement plus complète, surtout compte tenu du commentaire de briser son système de @keelan.
Tout d'abord, si vous souhaitez seulement avoir un TTY qui exécute le programme et ne peut pas être capable de vous connecter à d'autres TTY, puis modifiez votre /etc/systemd/logind.conf
et changer #NAutoVTs=6
à NAutoVTs=1
. Cela vous empêchera de vous connecter sur le terminal!
NEXT Créer un répertoire et un override.conf
déposer:
mkdir -p /etc/systemd/system/[email protected]
echo "[Service]" > /etc/systemd/system/[email protected]/override.conf
echo "ExecStart=" >> /etc/systemd/system/[email protected]/override.conf
echo "ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux" >> /etc/systemd/system/[email protected]/override.conf
Ne redémarrez pas. Au lieu de redémarrer, comme décrit dans l'autre réponse, connectez-vous à une autre TTY, puis exécutez les commandes suivantes pour tester les choses:
systemctl daemon-reload
systemctl restart [email protected]
Si tout va bien, puis redémarrez.
Mais si je veux exécuter un programme au lieu d'autologin? Ensuite, vous utiliseriez ce qui suit:
mkdir -p /etc/systemd/system/[email protected]
echo "[Service]" > /etc/systemd/system/[email protected]/override.conf
echo "ExecStart=" >> /etc/systemd/system/[email protected]/override.conf
echo "ExecStart=-/path/program -arg1 -arg2" >> /etc/systemd/system/[email protected]/override.conf
echo "StandardInput=tty" >> /etc/systemd/system/[email protected]/override.conf
echo "StandardOutput=tty" >> /etc/systemd/system/[email protected]/override.conf
Maintenant, gardez à l'esprit que cela fonctionnera sans un bashrc
. Cela signifie que si vous utilisez quelque chose comme screen
, vous n'obtiendrez pas tous vos alias habituels/etc. Pour résoudre ce problème, utilisez l'auto-connexion standard ci-dessus, mais ajoutez ceci à votre .bashrc
:
[ `tty` == /dev/tty1 ] && /path/program -arg1 -arg2
Cela signifie que le programme ne sera exécuté que sur tty1
, mais vous donnera une coquille complète en dessous.