xautolock
claramente 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 xautolock
funciona:
$ 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
messageToSend
es verdad ytype != XA_INTEGER
Parece que
type
se 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 xautolock
se 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 xautolock
conflicto con los xss-lock
dos que están usando slock
? Además de la xautolock
línea anterior, también tengo esta línea en .xprofile :
xss-lock slock &
Dado que tanto xautolock
y xss-lock
se puede llamar slock
, estoy sospechando que el problema es algo como esto:
xautolock
se ejecutaslock
después de 10 minutos de inactividad.xss-lock
También intenta correrslock
despué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
slock
se genera un cliente. xss-lock
mata el errorslock
, lo que hacexautolock
que se bloquee o se rinda.
Dado que xss-lock
puede detectar la suspensión del portátil, me gustaría usarlo en lugar de hacerlo xautolock
, pero parece que no puedo hacer que xss-lock
funcione notify-send
.
.xinitrc
: cambié a un --user
archivo de servicio y ya no es un problema ...
stop-screensaver=no
a ~/.mpv/config
. Por supuesto, esto significa que debe deshabilitar manualmente el bloqueo al reproducir videos con mpv.