Arch-Linux
如何使用 systemd 自動登錄到桌面?
如何配置 systemd 以自動登錄我的桌面環境,最好不使用登錄管理器?我正在使用 Arch Linux。
這在ArchWiki中有描述:
創建一個新的服務文件,類似於
getty@.service
將其複製到/etc/systemd/system/
cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@.service
這基本上將已經存在的複製到一個可以自由修改
getty@.service
的新文件中。autologin@.service
它被複製到,/etc/systemd/system
因為這是儲存特定於站點的單元文件的地方。/usr/lib/systemd/system
包含包提供的單元文件,因此您不應更改其中的任何內容。然後,您必須將其符號連結
autologin@.service
到您要自動登錄的 tty 的 getty 服務,例如 tty1:ln -s /etc/systemd/system/autologin@.service /etc/systemd/system/getty.target.wants/getty@tty1.service
到目前為止,這仍然與通常的
getty@.service
文件相同,但最重要的部分是修改autologin@.service
為實際自動登錄。為此,您只需要將ExecStart
行更改為讀取ExecStart=-/sbin/agetty -a USERNAME %I 38400
in和
ExecStart
line之間的區別僅在於告訴 getty 使用使用者名 USERNAME 自動登錄使用者。getty@.service``autologin@.service``-a USERNAME
現在你只需要告訴 systemd 重新載入它的守護程序文件並啟動服務:
systemctl daemon-reload systemctl start getty@tty1.service
(如果您已經登錄 tty1,我不確定服務是否會正常啟動,最安全的方法可能是重新啟動而不是啟動服務)。
如果您想自動啟動 X,請將以下程式碼段插入您的
~/.bash_profile
(再次取自wiki):if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then exec startx fi
您必須修改您
~/.xinitrc
的桌面環境才能啟動您的桌面環境,如何做到這一點取決於 DE,並且可能在 ArchWiki 中也有描述。