Wie kann ich xscreensaver sicher von einem Skript / der Befehlszeile aus beenden?

4491
jayhendren

Ich verwende eine Linux-Workstation (RHEL6). Ich habe ein kleines Skript geschrieben, das den Bildschirm per xscreensaver sperrt und entsperrt, wenn ich meinen USB-Stick anschließe oder trenne, wodurch er effektiv zu einem physischen Schlüssel für meine Workstation wird. Das Problem ist, dass es keine gute Möglichkeit gibt, xscreensaver von der Kommandozeile aus zu entsperren. xscreensaver-command -deactivateunaufgefordert "simuliert Benutzeraktivität" und erfordert immer noch ein Kennwort, um den Bildschirm zu entsperren. xscreensaver-command -exittötet den übergeordneten Dämon nur, xscreensaverwenn kein Bildschirmschoner aktiv ist. Da die Manpage für xscreensaver-command -exitwarnt,

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. 

Tatsächlich verwende ich derzeit pkill xscreensavermeine Methode, um den Bildschirmschoner aus einem Skript zu entfernen, was häufig zu Zombie-Prozessen und anderen Unannehmlichkeiten führt. Wie kann ich den Bildschirmschoner sicher über ein Skript / die Befehlszeile entsperren?

2
Angesichts [der Philosophie, die seinem Design zugrunde liegt] (http://www.jwz.org/xscreensaver/faq.html), bezweifle ich * stark *, dass der Xscreensaver auf Lager ohne Passwort durch eine beliebige Methode außer dem gewaltsamen Kill freigeschaltet wird derzeit verwendet. Die beste Option wäre wahrscheinlich, die Quelle so zu ändern, dass sie eine Option wie "-forceunlock" enthält, und daraus eine eigene Binärdatei erstellen. Aaron Miller vor 11 Jahren 0
Vielen Dank, Aaron. Ich sehe nicht, wie relevant Ihre Verknüpfung ist, aber ich vertraue darauf, dass Sie richtig sind. Wenn dies eine Antwort wäre, würde ich es akzeptieren, obwohl es nicht das ist, was ich hören möchte. jayhendren vor 11 Jahren 0
Kommentar in Antwort konvertiert und erweitert, um einen besseren Hintergrund zu erhalten. Freut mich zu helfen! (Und, hey, es wird wahrscheinlich nicht allzu schwer sein, die Quelle zu ändern - da ich befähigt bin, ein Urteil über den Code von jwz zu fällen, finde ich, dass es sehr gut geschrieben und leicht zu handhaben ist. ) Aaron Miller vor 11 Jahren 0

1 Antwort auf die Frage

3
Aaron Miller

Angesichts des fast monomanischen Sicherheitsfokus von xscreensaver, wie die Antworten in den xscreensaver-FAQs von jwz andeuteten und in On Toolkits näher erläutert, bezweifle ich stark, dass der Lager-xscreensaver ohne ein Passwort durch eine Methode entsperrt wird, die Sie gerade verwenden . Die beste Option wäre wahrscheinlich, die Quelle so zu ändern, dass sie eine Option wie "-forceunlock" enthält, und daraus eine eigene Binärdatei erstellen.