SDDM

出自 Arch Linux 中文维基

Simple Desktop Display Manager (SDDM) 是一個顯示管理器。它是 KDE Plasma 和 LXQt 桌面環境推薦的顯示管理器。

Wikipedia:Simple Desktop Display Manager 介紹:

Simple Desktop Display Manager (SDDM) 是用於 X11 和 Wayland 視窗系統的顯示管理器(圖形登錄程序與會話管理器)。SDDM 使用 C++11 從頭編寫並支持通過 QML 改變主題。
注意: 尚不完全支持 Wayland 視窗系統:Wayland 會話會被列出,但 SDDM 運行在 X11 上。SDDM 0.20 將引入完整的 Wayland 支持。[1]

安裝[編輯 | 編輯原始碼]

安裝 sddm 軟體包。對於 KDE Config Module,可選安裝 sddm-kcm 軟體包。

然後根據顯示管理器#加載顯示管理器的說明配置 SDDM 在系統引導時啟動。

配置[編輯 | 編輯原始碼]

SDDM 的默認配置文件為 /usr/lib/sddm/sddm.conf.d/default.conf。要修改配置,請在 /etc/sddm.conf.d/ 目錄下創建配置文件。詳見 sddm.conf(5) 以獲得所有配置選項。

sddm-kcm 軟體包 (包含在 plasma包組 用戶組) 提供了一個圖形用戶界面以在 Plasma 系統設置中配置 SDDM。AUR 中也有基於 Qt 的配置軟體 sddm-config-editor-gitAUR

一切東西都應該開箱即用,自從 Arch Linux 使用 systemd 後,SDDM 默認使用 systemd-logind 以進行會話管理。

自動登錄[編輯 | 編輯原始碼]

SDDM 通過它的配置文件來支持自動登錄,例如:

/etc/sddm.conf.d/autologin.conf
[Autologin]
User=john
Session=plasma.desktop

此配置使得在系統啟動後自動以用戶 john 開啟一個 KDE Plasma 會話。X 的會話類型位於 /usr/share/xsessions/, wayland 的會話類型位於 /usr/share/wayland-sessions/

目前尚不支持自動登錄 KDE Plasma 的同時鎖定會話 [2]

你可以添加一個腳本,在 KDE 自動啟動時激活屏幕保護程序以作為一個解決方案:

#!/bin/sh
/usr/bin/dbus-send --session --type=method_call --dest=org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock &

登錄後自動解鎖 KDE 錢包[編輯 | 編輯原始碼]

詳見 KDE Wallet#在登錄時自動解鎖 Kwallet

主題設置[編輯 | 編輯原始碼]

[Theme] 小節更改主題設置。如果您使用 Plasma 的系統設置,主題可能會顯示預覽。

設置 breeze 以獲得 Plasma 默認主題。

AUR 有一些可用的主題,例如 archlinux-themes-sddmAUR

當前主題[編輯 | 編輯原始碼]

通過 Current 的值設置當前主題,例如 Current=archlinux-simplyblack

編輯主題[編輯 | 編輯原始碼]

默認 SDDM 主題目錄為 /usr/share/sddm/themes/。你可以添加你的自製主題到該目錄下一個單獨的子目錄中。注意 SDDM 要求這些子目錄的名字要與主題的名字一致。可以通過研究已安裝的文件來更改或創建屬於你的主題。

測試(預覽)主題[編輯 | 編輯原始碼]

如果需要,你可以預覽一個 SDDM 主題。如果你想知道一個主題看起來怎麼樣,或是想要編輯一個主題後在不必登出的情況下觀察改動的效果,那麼這將會非常有用。你可以運行下面的命令:

$ sddm-greeter --test-mode --theme /usr/share/sddm/themes/breeze

這應該為所有已連接的顯示器打開一個新窗口以顯示主題的預覽。

注意: 這只是一個預覽。在這個模式下,一些動作如關機、掛起或登錄將不會執行。

滑鼠光標[編輯 | 編輯原始碼]

要設置滑鼠光標的主題,將 CursorTheme 設置成您喜歡的光標主題。

合法的 Plasma 滑鼠光標主題有 breeze_cursorsBreeze_Snowbreeze-dark

用戶圖標(頭像)[編輯 | 編輯原始碼]

SDDM 對於每個用戶從相應的 ~/.face.icon 目錄下讀取 PNG 圖片格式的用戶圖標(即「頭像」),或者從 SDDM 配置文件中由 FacesDir 為所有用戶定義的共有位置。配置設置可以通過修改 /etc/sddm.conf 文件被直接替換,更好的方法是創建一個位於 /etc/sddm.conf.d/ 下的文件來修改,例如 /etc/sddm.conf.d/avatar.conf

要使用 FacesDir 選項來確定頭像位置,即在配置文件中 FacesDir 所確定的位置為每一個用戶放置一個 PNG 圖片,命名如 username.face.iconFacesDir 默認的路徑為 /usr/share/sddm/faces/。你可以更改默認 FacesDir 目錄以合乎你的要求。下面是一個例子:

/etc/sddm.conf.d/avatar.conf
[Theme]
FacesDir=/var/lib/AccountsService/icons/

另一個選項是放置一個名為 .face.icon 的 PNG 圖片到你的家目錄下。在這種情況下,您不用對任何 SDDM 配置文件進行更改。不過,您仍需確定 sddm 用戶可以讀取這些 PNG 圖片作為用戶圖標。

注意: 在許多 KDE 的版本中,用戶圖標圖像文件是 ~/.face~/.face.icon 是連結到圖像文件的符號連結。如果用戶的圖標是符號連結,你需要為目標文件設置恰當的文件權限。

為了 設置合適權限 運行:

$ setfacl -m u:sddm:x ~/
$ setfacl -m u:sddm:r ~/.face.icon

你可以通過運行下列命令 檢查權限

$ getfacl ~/
$ getfacl ~/.face.icon

詳見 SDDM README: No User Icon

數字鎖[編輯 | 編輯原始碼]

如果你想強制啟用數字鎖,在 [General] 小節設置 Numlock=on

旋轉顯示[編輯 | 編輯原始碼]

詳見 Xrandr#Configuration

DPI 設置[編輯 | 編輯原始碼]

有時位於「顯示管理器」級別設置正確的顯示器 DPI 是很有用的。[3] 你需要在 ServerArguments 字符串的末尾加上參數 -dpi your_dpi 例如:

/etc/sddm.conf.d/dpi.conf
[X11]
ServerArguments=-nolisten tcp -dpi 94

啟用 HiDPI[編輯 | 編輯原始碼]

創建 HiDPI 配置文件如下:

/etc/sddm.conf.d/hidpi.conf
[Wayland]
EnableHiDPI=true

[X11]
EnableHiDPI=true

啟用虛擬鍵盤[編輯 | 編輯原始碼]

安裝 qt5-virtualkeyboard. 創建如下文件:

/etc/sddm.conf.d/virtualkbd.conf
[General]
InputMethod=qtvirtualkeyboard

SDDM 在登錄屏幕的左下角會顯示一個虛擬鍵盤圖標。

使用指紋識別器[編輯 | 編輯原始碼]

注意: 在改變設置前要確定你的指紋已經註冊完成。指紋支持目前並不是完全工作正常,並且看起來在使用這種方法時僅使用密碼登錄將不再有效。

SDDM 使用 fprint 以使用指紋識別。在安裝了 fprint 和添加指紋簽名後,在添加 /etc/pam.d/sddm 的開始位置添加一行 auth sufficient pam_fprintd.so

提示:要使其在 KDE 的鎖屏模式下工作,將上面提到的一行同樣添加於 /etc/pam.d/kde 的開始位置。

如果你現在在空密碼區域按下回車,那麼指紋識別器應該開始工作了。

故障排除[編輯 | 編輯原始碼]

只有空白屏幕和光標,但沒有歡迎界面[編輯 | 編輯原始碼]

使用 df -h 命令檢查您的磁碟空間。如果沒有足夠的空間,歡迎界面會崩潰。

如果磁碟空間足夠,那麼這個問題可能源於此 bug。切換 到另一個 TTY重啟 SDDM。

SDDM 出現歡迎界面前的加載時間過長[編輯 | 編輯原始碼]

內核熵池過小會造成長時間的 SDDM 加載過程(Bug report)。詳見 Random number generation 擴大內核熵池的建議。

登錄後掛起[編輯 | 編輯原始碼]

嘗試移除 ~/.Xauthority 文件後不重啟再次登入。重啟會再次創建該文件即該問題依舊存在。

SDDM 在 tty1 啟動而不是 tty7[編輯 | 編輯原始碼]

SDDM 根據 systemd 的規定 在 tty1 啟動圖形會話。如果您更喜歡老派的 tty1 到 tty6 皆預留為文本終端,更改 MinimumVT 變量的默認值,其位於 [X11] 小節下:

/etc/sddm.conf.d/tty.conf
[X11]
MinimumVT=7

一個或多個用戶沒有出現在歡迎界面[編輯 | 編輯原始碼]

警告: 用戶設置過低或過高的 UID 範圍應該大體上不會暴露給 Display manager

SDDM 默認會顯示 UID 在 1000 到 65000 範圍內的用戶,如果想要顯示的用戶的 UID 小於這個範圍,那麼您就不得不更改這個範圍。比如,對於 UID 為 501時,可以修改:

/etc/sddm.conf.d/uid.conf
[Users]
HideShells=/sbin/nologin,/bin/false
# Hidden users, this is if any system users fall within your range, see /etc/passwd on your system.
HideUsers=git,sddm,systemd-journal-remote,systemd-journal-upload

# Maximum user id for displayed users
MaximumUid=65000

# Minimum user id for displayed users
MinimumUid=500 #My UID is 501

用戶頭像未顯示在 greeter 上[編輯 | 編輯原始碼]

如果用戶數量超過 DisableAvatarsThreshold 參數,或者如果完全沒有啟用 EnableAvatars 參數所控制的頭像,則該頭像不會顯示在 greeter 上。為了避免這種情況,請在 sddm 配置中添加以下幾行:

/etc/sddm.conf.d/avatars.conf
[Theme]
EnableAvatars=true # enable avatars	
DisableAvatarsThreshold=7 # set the threshold for the number of users. Avatars are not shown if this threshold is exceeded.

SDDM 只加載 US 鍵盤布局[編輯 | 編輯原始碼]

SDDM 加載的鍵盤布局被確定在 /etc/X11/xorg.conf.d/00-keyboard.conf 文件中。您可以通過 localectl set-x11-keymap 命令以生成此配置文件。詳見 Keyboard configuration in Xorg

設置僅在 SDDM 中設置而不在後續會話中設置的鍵盤布局的另一種方法是在 SDDM 的啟動腳本(位於 /usr/share/sddm/scripts/Xsetup)中調用 setxkbmap 命令。有關示例,請參見 Xorg/Keyboard configuration#Using setxkbmap

SDDM 可能也會錯誤地顯示為 US 布局,但在您開始輸入您的密碼時立即切換到正確的鍵盤布局 [4]。此 bug 看起來不是來自 SDDM,而是 libxcb (version 1.13-1 as of 2018) [5]

屏幕解析度過低[編輯 | 編輯原始碼]

此問題可能源於顯示屏 HiDPI 的使用破壞了 EDID [6]。如果你 啟動了 HiDPI,嘗試關掉它。

如果上述方法失敗了,您可以嘗試在 Xorg 配置文件中設置您的顯示尺寸:

/etc/X11/xorg.conf.d/90-monitor.conf
Section "Monitor"
        Identifier      "<default monitor>"
        DisplaySize     345 194 # in millimeters
EndSection

自動掛載家目錄的加載時間過長[編輯 | 編輯原始碼]

SDDM 默認會訪問 ~/.face.icon 文件以嘗試顯示用戶頭像。如果您的家目錄採用自動掛載的文件系統(autofs),例如如果您使用 dm-crypt,這將會使之等待 60 秒,直到自動掛載的文件系統(autofs)返回此目錄不能被掛載。

您可以通過編輯 /etc/sddm.conf 文件以關閉頭像功能:

/etc/sddm.conf
[Theme]
EnableAvatars=false

使用Intel核顯滑鼠移至模塊時閃屏[編輯 | 編輯原始碼]

這個問題可能因顯卡的DRI設置而起,可嘗試在/etc/X11/xorg.conf.d/20-intel.conf中添加或修改選項:

/etc/X11/xorg.conf.d/20-intel.conf
Option "DRI" "1"

可將其中的1替換為其他的DRI版本

Intel顯卡的Xorg配置詳見:Intel graphics