Jak mohu nakonfigurovat systemd, aby se automaticky přihlásil do mého desktopového prostředí, nejlépe bez použití správce přihlášení? Používám Arch.
Přijatá odpověď:
Toto je popsáno v Arch Wiki:
Vytvořte nový soubor služby podobný
[email protected]
zkopírováním do/etc/systemd/system/
cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/[email protected]
Toto v podstatě zkopíruje již existující [email protected]
do nového souboru [email protected]
které lze libovolně upravovat. Zkopíruje se do /etc/systemd/system
protože tam jsou uloženy soubory jednotek specifické pro danou lokalitu. /usr/lib/systemd/system
obsahuje soubory jednotek poskytované balíčky, takže byste tam neměli nic měnit.
Poté budete muset přidat symbolický odkaz na to [email protected]
do služby getty pro tty, na kterém se chcete automaticky přihlásit, například pro tty1:
ln -s /etc/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]
Až dosud je to stále stejné jako obvyklé [email protected]
ale nejdůležitější částí je upravit [email protected]
abyste se skutečně automaticky přihlásili.
K tomu stačí změnit ExecStart
řádek ke čtení
ExecStart=-/sbin/agetty -a USERNAME %I 38400
Rozdíl mezi ExecStart
řádek v [email protected]
a [email protected]
je pouze -a USERNAME
což říká agetty, aby automaticky přihlásila uživatele s uživatelským jménem USERNAME.
Nyní musíte pouze říci systemd, aby znovu načetl své soubory démona a spustil službu:
systemctl daemon-reload
systemctl start [email protected]
(Nejsem si jistý, zda se služba spustí správně, pokud jste již přihlášeni na tty1, nejbezpečnějším způsobem je pravděpodobně pouze restartovat místo spuštění služby).
Pokud pak chcete automaticky spustit X, vložte následující fragment do svého ~/.bash_profile
(opět převzato z wiki):
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
exec startx
fi
Budete muset upravit svůj ~/.xinitrc
pro spuštění vašeho desktopového prostředí, jak to udělat, závisí na DE a je pravděpodobně popsáno také na Arch wiki.