$ 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
Tuy nhiên, khi tôi cố gắng khóa nó :
$ xautolock -locknow
Could not locate a running xautolock.
Nếu tôi quay cái khác, xautolock
nó hoạt động:
$ 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
Đưa cái gì?
Đến bây giờ tôi đã thấy điều này trên cả máy tính để bàn và máy tính xách tay của tôi. Xin lưu ý rằng ít nhất là lần đầu tiên sau khi khóa khởi động hoạt động tốt. Chỉ sau một thời gian không xác định hoặc sự kiện nó bắt đầu thất bại.
Tôi đã không thể tái tạo điều này một cách đáng tin cậy. Đó là, tôi đã thử các cách tiếp cận sau trên máy tính xách tay của mình và trong cả hai trường hợp, phím tắt / lệnh bảo vệ màn hình thực sự khóa máy tính để bàn sau đó:
- Đóng nắp
- Đợi máy tính ngủ đông
- Mở nắp
- Bấm nút nguồn
- Cung cấp mật khẩu đăng nhập theo sau Enter
và
- Khóa máy tính để bàn
- Các bước tương tự như trên
Truy tìm mã:
- Dòng in thông báo lỗi :
error1 ("Could not locate a running %s.\n", progName);
- Điều đó xảy ra nếu sự
messageToSend
thật vàtype != XA_INTEGER
Có vẻ như
type
được đặt trong tuyên bố sau:(void) XGetWindowProperty (d, root, semaphore, 0L, 2L, False, AnyPropertyType, &type, &format, &nofItems, &after, (unsigned char**) &contents);
Điều này có nghĩa là việc chạy xautolock
được phát hiện có thể phụ thuộc vào cửa sổ được tập trung không? Tôi cũng tự hỏi nếu cuộc gọi này có thể liên quan đến lỗi đã biết này :
- Các tùy chọn -disable, -enable, -toggle, -exit, -locknow, -unlocknow và -restart phụ thuộc vào quyền truy cập vào máy chủ X để thực hiện công việc của họ. Điều này ngụ ý rằng họ sẽ bị đình chỉ trong trường hợp một số ứng dụng khác đã tự mình lấy máy chủ.
Có thể là xautolock
xung đột với xss-lock
, cả hai đều đang sử dụng slock
? Ngoài xautolock
dòng trên tôi cũng có dòng này trong .xprofile :
xss-lock slock &
Vì cả hai xautolock
và xss-lock
có thể gọi slock
, tôi nghi ngờ rằng vấn đề xảy ra như thế này:
xautolock
chạyslock
sau 10 phút không hoạt động.xss-lock
cũng cố gắng chạyslock
sau 10 phút :$ xset q | grep --after-context=2 --line-regexp --fixed-strings 'Screen Saver:' Screen Saver: prefer blanking: yes allow exposures: yes timeout: 600 cycle: 600
- Chỉ có một
slock
khách hàng thực sự được sinh ra. xss-lock
Giết nhầmslock
, gây raxautolock
sụp đổ hoặc bỏ cuộc.
Vì xss-lock
có thể phát hiện giấc ngủ của máy tính xách tay, tôi muốn sử dụng nó thay vì xautolock
, nhưng dường như tôi không thể làm xss-lock
việc được notify-send
.
.xinitrc
: Tôi đã chuyển sang một --user
tệp dịch vụ và nó không còn là vấn đề nữa ...
stop-screensaver=no
vào ~/.mpv/config
. Tất nhiên, điều này có nghĩa là bạn phải tắt thủ công khóa khi phát video với mpv.