Jak skonfigurować systemd, aby automatycznie logował się do środowiska pulpitu, najlepiej bez korzystania z menedżera logowania? Używam Arch.
arch-linux
boot
systemd
fucho
źródło
źródło
Odpowiedzi:
Jest to opisane w Arch Wiki :
To w zasadzie kopiuje już istniejący
[email protected]
do nowego pliku,[email protected]
który można dowolnie modyfikować. Jest kopiowany,/etc/systemd/system
ponieważ tam przechowywane są pliki jednostek specyficzne dla witryny./usr/lib/systemd/system
zawiera pliki jednostek dostarczane przez pakiety, więc nie powinieneś niczego w nich zmieniać.Będziesz musiał wtedy
[email protected]
dowiązać symbolicznie do usługi getty dla tty, na którym chcesz się autologować, na przykład dla tty1:Do tej pory jest to nadal taki sam, jak zwykły
[email protected]
plik, ale najważniejszą częścią jest zmodyfikowanie,[email protected]
aby faktycznie logowało się automatycznie. Aby to zrobić, wystarczy zmienićExecStart
wiersz do odczytuRóżnica między
ExecStart
wierszem[email protected]
a[email protected]
jest tylko tym,-a USERNAME
co każe agetty automatycznie logować użytkownika o nazwie USERNAME.Teraz musisz tylko powiedzieć systemd, aby ponownie załadował pliki demona i uruchomił usługę:
(Nie jestem pewien, czy usługa uruchomi się poprawnie, jeśli jesteś już zalogowany na tty1, najbezpieczniejszym sposobem jest po prostu ponowne uruchomienie zamiast uruchomienia usługi).
Jeśli następnie chcesz automatycznie uruchomić X, wstaw następujący fragment kodu do
~/.bash_profile
(ponownie wzięty z wiki ):Będziesz musiał zmodyfikować swoje,
~/.xinitrc
aby uruchomić środowisko pulpitu, jak to zrobić, zależy od DE i prawdopodobnie jest również opisane na wiki Arch.źródło
File exists
pojawia się, gdy robię dowiązanie symboliczneln -sf /etc/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]
aby go zastąpić.Bezpośrednio zmodyfikuj plik
/etc/systemd/system/getty.target.wants/[email protected]
(który jest dowiązaniem symbolicznym/lib/systemd/system/getty@service
):Dołącz
-a/--autologin USERNAME
do linii:W związku z tym:
Możesz także usunąć
-o '-p -- \\u'
(tak jak w bieżącej instalacji Arch), ponieważ spowoduje to rozpoczęcie logowania,USERNAME
ale nadal prosi o hasło.Po ponownym uruchomieniu nastąpi automatyczne zalogowanie.
Ps Zmień nazwę pliku na nazwę,
[email protected]
natty
którą chcesz się zalogować.źródło
IMO, Arch Wiki zaleca obecnie o wiele prostsze rozwiązanie:
Uruchom helper (
systemctl edit getty@tty1
) lub zrób to, co zrobiłem ręcznie:Tekst, który chcesz wprowadzić (jedną z metod) to ( pamiętaj, aby odpowiednio zmienić nazwę użytkownika ):
UWAGA : Pusta linia jest ważna! (co prawda nie jestem pewien, dlaczego ...)
Teraz uruchom ponownie (
shutdown -r 0
) i coś się... login: username (automatic login)
stanie, gdy wcześniej zablokował oczekiwanie na nazwę użytkownika / hasłoPo ponownym uruchomieniu i automatycznym zalogowaniu, jeśli jesteś podobny do mnie i chcesz teraz włączyć SSH do tego systemu, prawdopodobnie musisz uruchomić:
Który utworzy dowiązanie symboliczne (np.
ln -s '/usr/lib/systemd/system/sshd.service' '/etc/systemd/system/multi-user.target.wants/sshd.service'
)źródło
/sbin/agetty
, dlatego/etc/systemd/system/getty.target.wants/[email protected]
najpierw warto sprawdzić oryginalny plik.