web-dev-qa-db-ja.com

スクリプト/コマンドラインからxscreensaverを安全に強制終了するにはどうすればよいですか?

Linux(RHEL6)ワークステーションを使用しています。 USBサムドライブを接続または切断すると、xscreensaverを介して画面をロックおよびロック解除する小さなスクリプトがあります。これにより、ワークステーションの物理キーに効果的に変換されます。問題は、コマンドラインからxscreensaverのロックを解除する良い方法がないように思われることです。 xscreensaver-command -deactivateは、直感に反して、「ユーザーアクティビティをシミュレートする」だけであり、画面のロックを解除するにはパスワードが必要です。 xscreensaver-command -exitは、スクリーンセーバーが実行されていない場合にのみ、親デーモンxscreensaverを強制終了します。 xscreensaver-command -exitのマニュアルページが警告しているように、

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.

実際、私は現在、スクリプトからスクリーンセーバーを取り除く方法としてpkill xscreensaverを使用しています。これにより、ゾンビプロセスやその他の混乱が発生することがよくあります。スクリプト/コマンドラインからスクリーンセーバーのロックを安全に解除するにはどうすればよいですか?

3
jayhendren

jwzのxscreensaver FAQ の回答で示唆され、さらに ツールキットについて 、Iで説明されているように、xscreensaverがほぼ単調なセキュリティに焦点を当てていることを考えると強く現在使用している強制的な強制終了以外の方法で、ストックxscreensaverがパスワードなしでロック解除されることを疑っています。最善のオプションは、「-forceunlock」オプションのようなものを含むようにソースを変更し、そこから独自のバイナリを構築することです。

3
Aaron Miller