
$ ps wafux | grep [x]autolock
user 21410 0.0 0.0 20124 2628 ? S Nov05 0:04 xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock
然而,當我嘗試鎖定它:
$ xautolock -locknow
Could not locate a running xautolock.
如果我啟動另一個xautolock
它會起作用:
$ xautolock -time 10 -notify 30 -notifier "notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds'" -locker slock&
[2] 18828
$ ps wafux | grep [x]autolock
user 21410 0.0 0.0 20124 2628 ? S Nov05 0:04 xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock
user 18828 0.0 0.0 20124 2708 pts/1 S 08:30 0:00 \_ xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock
$ xautolock -locknow # Runs fine and locks the desktop
是什麼賦予了?
到目前為止,我已經在桌上型電腦和筆記型電腦上看到了這一點。請注意,至少啟動後第一次鎖定工作正常。只有在一些未知的時間或事件之後,它才會開始失敗。
我有不是能夠可靠地重現這一點。也就是說,我在我的筆記型電腦上嘗試了以下方法,並且在這兩種情況下螢幕保護程式捷徑/指令之後實際上鎖定桌面:
- 蓋上蓋子
- 等待電腦進入休眠狀態
- 打開蓋子
- 按電源按鈕
- 提供登入密碼,然後輸入Enter
和
- 鎖定桌面
- 步驟與上面相同
追蹤代碼:
- 列印錯誤訊息的行:
error1 ("Could not locate a running %s.\n", progName);
- 那個會發生如果
messageToSend
是真的和type != XA_INTEGER
看起來像
type
已設定在以下聲明中:(void) XGetWindowProperty (d, root, semaphore, 0L, 2L, False, AnyPropertyType, &type, &format, &nofItems, &after, (unsigned char**) &contents);
這是否意味著是否檢測到跑步xautolock
可以取決於窗戶那個是重點?我也想知道這個電話是否與此有關已知錯誤:
- -disable、-enable、-toggle、-exit、-locknow、-unlocknow 和 -restart 選項取決於對 X 伺服器的存取來完成其工作。這意味著,如果其他應用程式為自己搶佔了伺服器,它們將被掛起。
是否有可能與兩者都使用的xautolock
衝突?除了上面的行之外,我還有這個xss-lock
slock
xautolock
.xprofile 中的行:
xss-lock slock &
由於 和 都xautolock
可以xss-lock
調用slock
,我懷疑問題是這樣的:
xautolock
slock
10 分鐘不活動後運轉。-
$ xset q | grep --after-context=2 --line-regexp --fixed-strings 'Screen Saver:' Screen Saver: prefer blanking: yes allow exposures: yes timeout: 600 cycle: 600
slock
實際上只產生了一個客戶端。xss-lock
殺死錯誤slock
,導致xautolock
崩潰或放棄。
由於xss-lock
可以檢測筆記型電腦的睡眠狀態,我想用它代替xautolock
,但我似乎無法xss-lock
使用notify-send
。
答案1
對我來說,xautolock 程序仍在後台運行,但它沒有監聽任何xautolock -locknow
命令。正如@jrm所提到的,應用程式必須抑制“螢幕保護程式”。對於我們倆來說,這是由於 mpv(視頻播放器)禁用了螢幕保護程式。
對於 mpv,修復方法是將以下內容新增至~/.config/mpv/config
or ~/.mpv/config
:
stop-screensaver=no
如果您不使用 mpv,則可能是另一個應用程式停用了螢幕保護程式。嘗試一些常用的,看看是哪一種。
如果你想防止影片播放期間自動鎖定螢幕,常見的方法是使用 xautolock 的「corners」功能:
xautolock -corners 000- -cornersize 30
使用上述指令,如果將滑鼠遊標放在螢幕右下角(30px半徑內),自動鎖定將暫時停用。
還有一件事要嘗試的是-resetsaver
選項:
xautolock -resetsaver
或-detectsleep
選項:
xautolock -detectsleep
答案2
xdg-screensaver lock
即使xautolock -locknow
不工作時您也可以使用。