Start X at Login (正體中文)

From ArchWiki
Jump to: navigation, search
翻譯狀態: 本文章是 Start_X_at_Login 的翻譯版本。最近一次的翻譯時間:2014-01-22。點擊本連結查看英文頁面之後的變更。

這篇文章將解釋如何使 X 伺服器在登入虛擬終端機後自動啟動。利用 startx 指令可以達到目的,並使用 xinitrc 調整該指令的行為,例如選擇要啟動什麼視窗管理員。一種替代方案是使用顯示管理員,它會自動啟動 X 並提供圖形登入畫面。

Shell 設定檔案

註記: 這種方式會在登入的 tty 上執行 X,以維持登入階段。
  • 如果使用 Bash,將以下內容加到 ~/.bash_profile 的尾端。若這個檔案不存在,就複製 /etc/skel/.bash_profile 這個範例檔。
    如果使用 Zsh,則改加到 ~/.zprofile
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
註記:
  • 您可以更改 -eq 1 這個比較式;比如說希望在數個虛擬終端 (VT) 上使用圖形登入,就改成 -le 3 (vt1 到 vt3)。
  • X 必須在用來登入的 tty 上執行,才能保存 logind 作業階段。這是由預設的 /etc/X11/xinit/xserverrc 處理。
  • 如果使用 Fish,將以下內容加到 ~/.config/fish/config.fish 的尾端。
# Start X at login
if status --is-login
    if test -z "$DISPLAY" -a $XDG_VTNR = 1
        exec startx
    end
end

提示與技巧

  • 這個方式可以和自動登入虛擬終端機結合。如果要這麼做,您需要為 autologin systemd 服務設定正確的相依性,確認dbus 在 ~/.xinitrc 被讀取前已經啟動,接著才讓 pulseaudio 啟動 (參閱 BBS#155416)
  • 如果您希望結束 X 階段後能夠維持登入狀態,將 exec 移除。
  • 若要將 X 作業階段的輸出重新導向到檔案,可建立別名
alias startx='startx &> ~/.xlog'