Display manager (正體中文)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
翻譯狀態:本文章是 Display_Manager 的翻譯版本。最近一次的翻譯時間:2014-01-22。點擊本連結查看英文頁面之後的變更。

Tango-preferences-desktop-locale-modified.png這個文章或章節的 翻譯 沒有對應到原文章的內容。Tango-preferences-desktop-locale-modified.png

原因: Last updated in 2014 (293878), out of sync with English page (請在 Talk:Display manager (正體中文) 中討論)

顯示管理員,又稱登入管理員,在開機過程結束後顯示圖形登入介面,取代原本的 shell。目前顯示管理員的種類如同視窗管理員桌面環境般多樣化。每套顯示管理員都有一定量的自訂化與佈景可供使用。

顯示管理員清單

終端機

  • CDM (終端機顯示管理員) — 麻雀雖小,五臟俱全的登入管理員,以 bash 寫成
https://github.com/ghost1227/cdm || cdm-gitAUR
  • Console TDMxinit 的擴充,以純 Bash 撰寫。
https://code.google.com/p/t-display-manager/ || console-tdmAUR

圖形介面

  • Entrance — 以 EFL 為基礎的顯示管理員,目前仍在實驗階段。
https://enlightenment.org/ || entrance-gitAUR
https://projects.gnome.org/gdm/ || gdm
  • LightDM — 跨桌面環境的顯示管理員,能使用以任何工具集所寫的各種前端。
https://www.freedesktop.org/wiki/Software/LightDM || lightdm
  • LXDMLXDE 顯示管理員。獨立於 LXDE 桌面環境。
https://sourceforge.net/projects/lxdm/ || lxdm
  • MDM — MDM 顯示管理員,GDM 2 的分支。
https://github.com/linuxmint/mdm || mdm-display-managerAUR
  • Qingy — 超輕量、設置富彈性、獨立於 X Windows 的圖形登入 (使用 DirectFB)。
http://qingy.sourceforge.net/ || qingyAUR[損壞的連結: package not found]
  • SDDM — 以 QML 為基礎的顯示管理員。
https://github.com/sddm/sddm || sddm, sddm-qt5AUR[損壞的連結: package not found]
  • SLiM — 輕量且優雅的圖形化登入方案。
http://slim.berlios.de/ || slim
  • XDM — X 顯示管理員,支援 XDMCP,主機選擇器。
https://www.x.org/archive/X11R7.5/doc/man/man1/xdm.1.html || xorg-xdm

載入顯示管理員

執行顯示管理員的守護程序 (如 KDM) 啟用圖形登入:

# systemctl enable kdm

這樣就可以馬上使用了。如果不行,可能是因為 default.target (手動設置或之前安裝的遺留物):

$ ls -l /etc/systemd/system/default.target
[...] /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target

直接刪除這個軟連結,systemd 將會使用它貯存的 default.target (也就是 graphical.target)。

# rm /etc/systemd/system/default.target

啟用 KDM 之後,軟連結 display-manager.service 就會設定到 /etc/systemd/system/ 目錄下:

$ ls -l /etc/systemd/system/display-manager.service
[...] /etc/systemd/system/display-manager.service -> /usr/lib/systemd/system/kdm.service

使用 systemd-logind

您可以使用 loginctl 檢查使用者作業階段的狀態。所有 polkit 動作,如暫停系統或掛載外部硬碟,都可以直接進行。

$ loginctl show-session $XDG_SESSION_ID

提示與技巧

作業階段清單

許多顯示管理員會從 /usr/share/xsessions/ 目錄讀取是否有可用的作業階段。該目錄包含了各桌面環境 (DM) 或視窗管理員 (WM) 的正規桌面項目檔

若要在顯示管理員的作業階段清單內新增或移除項目,直接在 /usr/share/xsessions/ 目錄下建立或移除 .desktop 檔案。以下為一個典型 .desktop 檔案範例:

[Desktop Entry]
Encoding=UTF-8
Name=Openbox
Comment=Log in using the Openbox window manager (without a session manager)
Exec=/usr/bin/openbox-session
TryExec=/usr/bin/openbox-session
Icon=openbox.png
Type=XSession

自動啟動

多數顯示管理員會參考 /etc/xprofile, ~/.xprofile 以及 /etc/X11/xinit/xinitrc.d/。詳情請參閱 xprofile

已知問題

與 systemd 不相容

警告: 目前受影響的顯示管理員 (DM) 有 Entrance, MDM, SDDM, SLiM

某些顯示管理員由於使用了 PAM 作業階段程序,無法百分之百和 systemd 相容。這會在二次登入時產生多種問題,例如:

  • 網路管理員 (NetworkManager) 的小圖示無法作用,
  • 無法調整 PulseAudio 的音量,
  • 以另一位使用者登入 GNOME 失敗。

更多資訊請參閱以下的錯誤追蹤報告: