xautolockclaramente se ejecuta :
$ 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
Sin embargo, cuando trato de bloquearlo :
$ xautolock -locknow
Could not locate a running xautolock.
Si giro otro xautolockfunciona:
$ 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
¿Lo que da?
Hasta ahora he visto esto en mi computadora de escritorio y portátil. Tenga en cuenta que al menos la primera vez después del bloqueo de arranque funciona bien. Es solo después de un tiempo o evento desconocido que comienza a fallar.
He no podido reproducir esta manera confiable. Es decir, he probado los siguientes enfoques en mi computadora portátil y en ambos casos el atajo / comando del protector de pantalla bloquea el escritorio después:
- Cerrar la tapa
- Espera a que la computadora hiberne
- Abre la tapa
- presiona el boton de poder
- Proporcione la contraseña de inicio de sesión seguida de Enter
y
- Bloquear el escritorio
- Los mismos pasos que arriba
Rastreando el código:
- La línea que imprime el mensaje de error :
error1 ("Could not locate a running %s.\n", progName); - Eso sucede si
messageToSendes verdad ytype != XA_INTEGER Parece que
typese establece en la siguiente declaración:(void) XGetWindowProperty (d, root, semaphore, 0L, 2L, False, AnyPropertyType, &type, &format, &nofItems, &after, (unsigned char**) &contents);
¿Esto significa que si xautolockse detecta la ejecución puede depender de la ventana que está enfocada? También me pregunto si esta llamada podría estar relacionada con este error conocido :
- Las opciones -disable, -enable, -toggle, -exit, -locknow, -unlocknow y -retart dependen del acceso al servidor X para hacer su trabajo. Esto implica que se suspenderán en caso de que alguna otra aplicación haya tomado el servidor por sí mismo.
¿Es posible que entre en xautolockconflicto con los xss-lockdos que están usando slock? Además de la xautolocklínea anterior, también tengo esta línea en .xprofile :
xss-lock slock &
Dado que tanto xautolocky xss-lockse puede llamar slock, estoy sospechando que el problema es algo como esto:
xautolockse ejecutaslockdespués de 10 minutos de inactividad.xss-lockTambién intenta correrslockdespués de 10 minutos :$ xset q | grep --after-context=2 --line-regexp --fixed-strings 'Screen Saver:' Screen Saver: prefer blanking: yes allow exposures: yes timeout: 600 cycle: 600- Solo
slockse genera un cliente. xss-lockmata el errorslock, lo que hacexautolockque se bloquee o se rinda.
Dado que xss-lockpuede detectar la suspensión del portátil, me gustaría usarlo en lugar de hacerlo xautolock, pero parece que no puedo hacer que xss-lockfuncione notify-send.
.xinitrc: cambié a un --userarchivo de servicio y ya no es un problema ...
stop-screensaver=noa ~/.mpv/config. Por supuesto, esto significa que debe deshabilitar manualmente el bloqueo al reproducir videos con mpv.