我在 arch 上安裝了 xsecurelock,我可以透過執行 來鎖定會話xsecure lock
。但是,嘗試鎖定 withloginctl lock-session
不會執行任何操作(沒有錯誤,只是沒有輸出,並且沒有鎖定)。
根據我所做的研究,loginctl lock-session
大概是在調用xss-lock
,但我看不到如何配置 xss-lock 來知道它應該使用 xsecurelock 作為儲物櫃。
運行xss-lock
抱怨沒有指定儲物櫃,運行xss-lock xsecurelock
只是掛起。
答案1
運行 xss-lock xsecurelock 只是掛起。
是的,這就是它應該做的。
重點loginctl lock-session[s]
是它不跑步任何直接的事情;相反,它會向桌面會話中已運行的程式廣播「鎖定」訊號 - 基本上是告訴桌面環境自行鎖定。 (這巧妙地避免了嘗試從外部啟動儲物櫃時遇到的所有「缺少環境變數」問題。)
因此,「xss-lock」意味著作為後台程序永久運行——守護進程,僅在會話級別,而不是在系統級別。您可以從 ~/.xprofile 中使用&
後台啟動它,也可以從視窗管理器的「自動運行」設定(幾乎所有 WM 都有一些)啟動它。
例如,如果您使用 i3,則需要新增exec xss-lock xsecurelock
至 ~/.i3/config。或者,如果您使用「startx」啟動所有內容,則xss-lock xsecurelock &
在 ~/.xinitrc 中新增某處。
答案2
如上所述這裡 xss-lock
掛起是因為它等待DPMS signaling
觸發。正如使用者 1686 所說,您需要將&
命令放在~/.xinitrc
or ~/.xprofile
(無論您使用什麼)中,以免xss-lock
掛起(否則您可能最終會掛起整個會話)。
如果您想手動鎖定,使用 沒有任何意義xss-lock
。您可以直接xsecurelock
從終端使用,也可以根據您的 DE/WM 將其綁定到金鑰來使用。
xss-lock
因此,由於不活動等原因而使用自動鎖定是有意義的。為此,您需要使用xset
我發布的連結中提到的內容。以下是我的設定方法(我使用 LightDM 的dm-tool lock
命令來鎖定會話)。
~/.xinitrc
# Some other things ...
xset s on
xset s 300 # Signal after 5 minutes / 300 seconds of inactivity
xss-lock dm-tool lock &
# Your's would be xss-lock xsecurelock &
如果我想直接從終端鎖定,我只需dm-tool lock
在 WM 的配置中使用或設定一個鍵綁定來調用dm-tool lock
.
xss-lock
正如您所看到的,除了由於不活動而鎖定之外沒有其他用途