Como faço para matar com segurança xscreensaver de um script / a linha de comando?

2

Estou usando uma estação de trabalho Linux (RHEL6). Eu tenho um pequeno script que eu escrevi, que bloqueia e desbloqueia a tela através do xscreensaver quando eu conecto ou desconecto meu pendrive USB, o que efetivamente o transforma em uma chave física para minha estação de trabalho. O problema é que não parece haver uma boa maneira de desbloquear o xscreensaver a partir da linha de comando. xscreensaver-command -deactivate , contra-intuitivamente, apenas "simula a atividade do usuário" e ainda requer uma senha para desbloquear a tela. xscreensaver-command -exit apenas mata o daemon pai xscreensaver se não houver uma proteção de tela em execução. Como a página man para xscreensaver-command -exit avisa,

Warning: never use kill -9 with xscreensaver while the screensaver is active.  If you are using a virtual root window  manager,
that can leave things in an inconsistent state, and you may need to restart your window manager to repair the damage.
Na verdade, atualmente estou usando pkill xscreensaver como meu método para me livrar do protetor de tela de um script, o que geralmente resulta em processos de zumbis e outras bagunças. Como posso desbloquear o protetor de tela com segurança de um script / linha de comando?

    
por jayhendren 08.07.2013 / 19:32

1 resposta

3

Dado o foco quase monomaníaco do xscreensaver na segurança, como sugerido pelas respostas em FAQ do xscreensaver do jwz e mais elucidado em Em Toolkits , eu duvido que xscreensaver estoque irá desbloquear sem senha por qualquer método que seja menor que o ataque forçado que você está usando atualmente. Sua melhor opção seria modificar a fonte para incluir algo como uma opção "-forceunlock" e construir seu próprio binário a partir disso.

    
por 08.07.2013 / 20:38