Come posso tranquillamente uccidere xscreensaver da uno script / dalla riga di comando?


3

Sto usando una workstation Linux (RHEL6). Ho un piccolo script che ho scritto che blocca e sblocca lo schermo tramite xscreensaver quando collego o disconnetto la mia chiavetta USB, che lo trasforma effettivamente in una chiave fisica per la mia workstation. Il problema è che non sembra esserci un buon modo per sbloccare xscreensaver dalla riga di comando. xscreensaver-command -deactivate, controintuitivamente, solo "simula l'attività dell'utente" e richiede ancora una password per sbloccare lo schermo. xscreensaver-command -exituccide il demone padre solo xscreensaverse non è in esecuzione uno screensaver. Come la pagina man per xscreensaver-command -exitavvisa,

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.

In effetti, attualmente sto usando pkill xscreensavercome metodo per sbarazzarmi dello screensaver da uno script, che spesso si traduce in processi di zombi e altri pasticci. Come posso sbloccare lo screensaver in modo sicuro da uno script / dalla riga di comando?


Data la filosofia alla base del suo design , dubito fortemente che stock xscreensaver si sbloccherà senza password con qualsiasi metodo a parte l'uccisione forzata che stai attualmente utilizzando. La tua migliore opzione sarebbe probabilmente quella di modificare l'origine per includere qualcosa come un'opzione "-forceunlock", e costruire il tuo binario da quello.
Aaron Miller,

Grazie Aaron. Non vedo come il tuo link sia pertinente, ma confido che tu abbia ragione. Se questa fosse una risposta, la accetterei, anche se non è quello che voglio sentire.
jayhendren,

Il commento è stato convertito in risposta ed espanso per fornire uno sfondo più ampio. Felice di essere di aiuto! (E, ehi, probabilmente non sarà così difficile modificare la fonte - dal momento che sono competente a esprimere qualsiasi tipo di giudizio sul codice di jwz, ho trovato estremamente ben scritto e facile da lavorare. )
Aaron Miller l'

Risposte:


3

Dato il focus quasi monomaniacale di xscreensaver sulla sicurezza, come suggerito dalle risposte nelle FAQ xscreensaver di jwz e ulteriormente chiarito in On Toolkits , dubito fortemente che stock xscreensaver si sbloccherà senza password con qualsiasi metodo a parte l'uccisione forzata che stai attualmente utilizzando . La tua migliore opzione sarebbe probabilmente quella di modificare l'origine per includere qualcosa come un'opzione "-forceunlock", e costruire il tuo binario da quello.


-1

sudo killall -9 xscreensaverè la risposta. Se lo uccidi, lo schermo si sblocca, chiaro e semplice. Quindi è possibile riavviarlo con DISPLAY=:0 xscreensaver -no-splashe quindi bloccarlo con DISPLAY=:0 xscreensaver-command -lock. Ci sono implicazioni di sicurezza nello sbloccare lo schermo, ovviamente, ma ne avevo bisogno e sono consapevole di quello che sto facendo. Fallo a tuo rischio e pericolo, fine della dichiarazione di non responsabilità.


1
Downvoting perché la domanda è già indirizzata kill -9e questa risposta non aggiunge nuove informazioni.
Jayhendren,

Naturalmente sei libero di sottovalutare, ma la mia risposta descrive uno dei possibili modi "corretti" di fare ciò che l'OP sta chiedendo (e ha anche risolto il mio problema brillantemente tra l'altro). Uh, aggiunge anche le nuove importanti informazioni su come bloccare nuovamente lo schermo dalla riga di comando.
Avio,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.