SDDM
Simple Desktop Display Manager (SDDM) 是一個顯示管理器。它是 KDE Plasma 和 LXQt 桌面環境推薦的顯示管理器。
Wikipedia:Simple Desktop Display Manager 介紹:
- Simple Desktop Display Manager (SDDM) 是用於 X11 和 Wayland 視窗系統的顯示管理器(圖形登錄程序與會話管理器)。SDDM 使用 C++11 從頭編寫並支持通過 QML 改變主題。
安裝[編輯 | 編輯原始碼]
安裝 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_cursors
,Breeze_Snow
和 breeze-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.icon
。FacesDir
默認的路徑為 /usr/share/sddm/faces/
。你可以更改默認 FacesDir
目錄以合乎你的要求。下面是一個例子:
/etc/sddm.conf.d/avatar.conf
[Theme] FacesDir=/var/lib/AccountsService/icons/
另一個選項是放置一個名為 .face.icon
的 PNG 圖片到你的家目錄下。在這種情況下,您不用對任何 SDDM 配置文件進行更改。不過,您仍需確定 sddm
用戶可以讀取這些 PNG 圖片作為用戶圖標。
~/.face
而 ~/.face.icon
是連結到圖像文件的符號連結。如果用戶的圖標是符號連結,你需要為目標文件設置恰當的文件權限。為了 設置合適權限 運行:
$ setfacl -m u:sddm:x ~/ $ setfacl -m u:sddm:r ~/.face.icon
你可以通過運行下列命令 檢查權限:
$ getfacl ~/ $ getfacl ~/.face.icon
數字鎖[編輯 | 編輯原始碼]
如果你想強制啟用數字鎖,在 [General]
小節設置 Numlock=on
。
旋轉顯示[編輯 | 編輯原始碼]
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
。
/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