Das von systemd standardmäßig für das Öffnen virtueller Terminals genutzte agetty verfügt verglichen mit mingetty nur über einen sehr beschränkten Funktionsumfang. So ist gerade die Option --autologin von mingetty interessant, wenn man beim Start des Systems automatisch einen Nutzer ohne manuelle Eingaben anmelden möchte. Unter SysVinit ist hierfür folgender Eintrag in der /etc/inittab erforderlich:
1:2345:respawn:/sbin/mingetty --autologin USER tty1
Die Konfiguration unter systemd gestaltet sich dagegen komplett anders, ermöglicht aber eine nicht minder flexible Anpassung:
- Die Datei
/lib/systemd/system/getty@.servicenach/etc/systemd/systemkopieren - Die Datei
/etc/systemd/system/getty@.serviceeditieren und in der Sektion[Service]die OptionExecStartwie folgt ändern:ExecStart=-/sbin/mingetty --autologin USER %I
- Ändern des Standard-Symlinks für die Startdefinition des getty-Dienstes auf tty1 (analog für die anderen virtuellen Terminals):
ln -sf /etc/systemd/system/getty@.service \ /etc/systemd/system/getty.target.wants/getty@tty1.service
Hiernach kann der Dienst neu gestartet werden. Eine laufende X-Sitzung wird damit allerings auch beendet:
systemctl restart getty@tty1.serviceAb diesem Zeitpunkt wird bei jedem Systemstart der per USER spezifierte Nutzer automatisch angemeldet. Als kleiner Bonus noch eine mögliche Vorgehensweise, um dabei auch automatisch den X-Server zu starten:
if [ -z "$DISPLAY" -a $(tty) = /dev/tty1 ]; then startx fi
Hier wird geprüft, ob noch kein X-Server gestartet wurde (die Umgebungsvariable $DISPLAY ist andernfalls gesetzt) und ob wir uns gerade auf tty1 befinden, von wo aus üblicherweise der erste X-Server gestartet wird. Einzutragen ist das ganze in die ~/.bash_profile, nicht in die ~/.bashrc.