xautolock
กำลังทำงานอย่างชัดเจน :
$ 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 นาทีxss-lock
ก็พยายามที่จะทำงาน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
ได้
.xinitrc
: ฉันเปลี่ยนเป็น--user
ไฟล์บริการและมันก็ไม่มีปัญหาอีกต่อไป ...
stop-screensaver=no
~/.mpv/config
แน่นอนนี่หมายความว่าคุณต้องปิดใช้งานการล็อกด้วยตนเองเมื่อเล่นวิดีโอด้วย mpv