xss-lock, loginctl lock-sessions, xsecurelock não funciona junto no Arch

xss-lock, loginctl lock-sessions, xsecurelock não funciona junto no Arch

Tenho o xsecurelock instalado no arch e posso bloquear a sessão executando xsecure lock. Tentar bloquear com loginctl lock-sessionnão faz nada (nenhum erro, apenas nenhuma saída e nenhum bloqueio).

Pela pesquisa que fiz, loginctl lock-sessionpresumivelmente está chamando xss-lock, mas não consigo ver como configurar o xss-lock para saber que ele deve usar xsecurelock como armário.

A execução xss-lockreclama que nenhum armário foi especificado e a execução xss-lock xsecurelocksimplesmente trava.

Responder1

executando xss-lock xsecurelock simplesmente trava.

Sim, é isso que deveria fazer.

A questão toda loginctl lock-session[s]é que isso nãocorrerqualquer coisa diretamente; em vez disso, ele transmite um sinal de “Bloqueio” para programas que já estão em execução na sua sessão de desktop – basicamente dizendo ao ambiente de desktop para se bloquear. (Isso evita todos os problemas de "variáveis ​​de ambiente ausentes" que você teria ao tentar iniciar um armário externamente.)

Portanto, "xss-lock" deve ser executado permanentemente como um processo em segundo plano - um daemon, apenas no nível da sessão, não no nível do sistema. Você pode iniciá-lo a partir do seu ~/.xprofile usando &o plano de fundo ou pode iniciá-lo a partir das configurações de "execução automática" do seu gerenciador de janelas (quase todos os WMs têm algumas).

Por exemplo, se você usar i3, adicione exec xss-lock xsecurelock~/.i3/config. Alternativamente, se você iniciar tudo usando 'startx', adicione xss-lock xsecurelock &algum lugar em ~/.xinitrc.

Responder2

Conforme descritoaqui xss-locktrava porque espera DPMS signalingpara ser acionado. Como o usuário 1686 disse, você precisa colocar &após o comando no seu ~/.xinitrcou ~/.xprofile(o que você usar) para xss-locknão travar (caso contrário, você pode acabar travando toda a sessão).

Se você quiser bloquear manualmente, não adianta usar xss-lock. Você pode usar diretamente xsecurelockde um terminal ou vinculando-o a uma chave dependendo do seu DE/WM.

Portanto, faz sentido usar xss-lockpara bloqueio automático devido à inatividade, por exemplo. Para fazer isso você precisa usar xsetconforme mencionado no link que postei. Aqui está como eu configurei (eu uso dm-tool locko comando do LightDM para bloquear a sessão).

~/.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 &

Se eu quiser bloquear diretamente do terminal, apenas uso dm-tool lockou defino um atalho de teclado na configuração do meu WM para call dm-tool lock.

Como você pode ver, não há xss-lockuso além do bloqueio devido à inatividade

informação relacionada