Wie kann ich systemd so konfigurieren, dass ich mich automatisch bei meiner Desktop-Umgebung anmelde, vorzugsweise ohne den Anmeldemanager? Ich benutze Arch.
arch-linux
boot
systemd
fhucho
quelle
quelle
Antworten:
Dies ist im Arch Wiki beschrieben :
Dies kopiert im Wesentlichen die bereits vorhandene
[email protected]
Datei in eine neue Datei,[email protected]
die frei geändert werden kann. Es wird nach kopiert,/etc/systemd/system
da dort standortspezifische Gerätedateien gespeichert werden./usr/lib/systemd/system
Enthält Unit-Dateien, die von Paketen bereitgestellt werden, sodass Sie dort nichts ändern sollten.Sie müssen das dann
[email protected]
mit dem getty-Dienst für das tty verknüpfen, auf dem Sie sich automatisch anmelden möchten, zum Beispiel für tty1:Bis jetzt ist dies immer noch die gleiche wie die übliche
[email protected]
Datei, aber das Wichtigste ist, die zu ändern[email protected]
, um Sie tatsächlich automatisch anzumelden. Dazu müssen Sie nur dieExecStart
zu lesende Zeile ändernDer Unterschied zwischen der
ExecStart
Zeile in[email protected]
und[email protected]
ist nur der,-a USERNAME
der agetty anweist, den Benutzer mit dem Benutzernamen USERNAME automatisch anzumelden.Jetzt müssen Sie nur noch systemd anweisen, die Daemon-Dateien neu zu laden und den Dienst zu starten:
(Ich bin nicht sicher, ob der Dienst ordnungsgemäß gestartet wird, wenn Sie bereits bei tty1 angemeldet sind. Der sicherste Weg ist wahrscheinlich, einfach einen Neustart durchzuführen, anstatt den Dienst zu starten.)
Wenn Sie X dann automatisch starten möchten, fügen Sie das folgende Snippet in Ihr
~/.bash_profile
(wieder aus dem Wiki entnommen ) ein:Sie müssen Ihre ändern
~/.xinitrc
, um Ihre Desktop-Umgebung zu starten. Wie dies zu tun ist, hängt von der DE ab und wird wahrscheinlich auch im Arch-Wiki beschrieben.quelle
File exists
wenn ich den Symlinkln -sf /etc/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]
, um es zu überschreiben.Ändern Sie direkt die Datei
/etc/systemd/system/getty.target.wants/[email protected]
(die ein Symlink zu ist/lib/systemd/system/getty@service
):-a/--autologin USERNAME
An die Zeile anhängen :Daher:
Sie können auch entfernen
-o '-p -- \\u'
(wie in der aktuellen Arch-Installation vorhanden), da hierdurch die Anmeldung für gestartet wird, SieUSERNAME
jedoch weiterhin nach dem Kennwort gefragt werden.Nach dem Neustart werden Sie automatisch angemeldet.
Ps Ändern Sie den Dateinamen
[email protected]
in den Namen, bei demtty
Sie sich anmelden möchten.quelle
IMO, das Arch Wiki empfiehlt derzeit eine viel einfachere Lösung:
Führen Sie entweder den Helfer (
systemctl edit getty@tty1
) aus oder tun Sie, was ich manuell getan habe:Der Text, den Sie (mit beiden Methoden) eingeben möchten, lautet ( achten Sie darauf, den Benutzernamen entsprechend zu ändern ):
HINWEIS : Die Leerzeile ist wichtig! (Zugegeben, ich bin mir nicht sicher warum ...)
Jetzt starten Sie neu (
shutdown -r 0
) und etwas in der Art... login: username (automatic login)
wird passieren, in der es zuvor das Warten auf die Eingabe von Benutzername / Passwort blockiert hatNach dem Neustart und der automatischen Anmeldung müssen Sie wahrscheinlich Folgendes ausführen, wenn Sie wie ich SSH in dieses System ausführen möchten:
Welches wird den Symlink erstellen (zB
ln -s '/usr/lib/systemd/system/sshd.service' '/etc/systemd/system/multi-user.target.wants/sshd.service'
)quelle
/sbin/agetty
Es lohnt sich daher, zuerst die Originaldatei zu überprüfen/etc/systemd/system/getty.target.wants/[email protected]
.