Tengo xsecurelock instalado en arch y puedo bloquear la sesión ejecutando xsecure lock
. Sin embargo , intentar bloquear loginctl lock-session
no hace nada (sin error, simplemente sin salida y sin bloqueo).
Según la investigación que he realizado, loginctl lock-session
presumiblemente está llamando xss-lock
, pero no veo cómo configurar xss-lock para saber que debería usar xsecurelock como casillero.
Running xss-lock
se queja de que no se especifica ningún casillero y xss-lock xsecurelock
simplemente se bloquea.
Respuesta1
Al ejecutar xss-lock xsecurelock simplemente se cuelga.
Sí, eso es lo que se supone que debe hacer.
El punto loginctl lock-session[s]
es que nocorrercualquier cosa directamente; en lugar de eso, transmite una señal de "Bloqueo" a los programas que ya se están ejecutando dentro de su sesión de escritorio, básicamente indicando al entorno de escritorio que se bloquee. (Esto evita claramente todos los problemas de "variables de entorno faltantes" que tendría al intentar iniciar un casillero externamente).
Por lo tanto, "xss-lock" debe ejecutarse permanentemente como un proceso en segundo plano: un demonio, sólo a nivel de sesión, no a nivel de sistema. Puede iniciarlo desde su ~/.xprofile usando &
como fondo, o puede iniciarlo desde la configuración de "ejecución automática" de su administrador de ventanas (casi todos los WM tienen alguna).
Por ejemplo, si usa i3, agregaría exec xss-lock xsecurelock
a ~/.i3/config. Alternativamente, si inicia todo usando 'startx', agregue xss-lock xsecurelock &
en algún lugar de ~/.xinitrc.
Respuesta2
Como se describeaquí xss-lock
se cuelga porque espera DPMS signaling
para activarse. Como dijo el usuario 1686, debes colocarlo &
después del comando en tu ~/.xinitrc
o ~/.xprofile
(lo que uses) para xss-lock
no colgar (de lo contrario, podrías terminar colgando toda la sesión).
Si desea bloquear manualmente, no tiene sentido utilizar xss-lock
. Puede usarlo directamente xsecurelock
desde un terminal o vinculándolo a una clave dependiendo de su DE/WM.
Por lo tanto, tiene sentido utilizarlo xss-lock
para el bloqueo automático debido, por ejemplo, a inactividad. Para hacer eso, debes usar xset
como se menciona en el enlace que publiqué. Así es como lo configuré (uso dm-tool lock
el comando de LightDM para bloquear la sesión).
~/.xinitrc
# Some other things ...
xset s on
xset s 300 # Signal after 5 minutes / 300 seconds of inactivity
xss-lock dm-tool lock &
# Your's would be xss-lock xsecurelock &
Si quiero bloquear desde la terminal directamente, simplemente uso dm-tool lock
o configuro una combinación de teclas en la configuración de mi WM para llamar dm-tool lock
.
Como puede ver, no tiene ningún xss-lock
uso aparte del bloqueo por inactividad.