我正在使用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
我的方法来摆脱脚本中的屏幕保护程序,这通常会导致僵尸进程和其他混乱。如何从脚本/命令行安全地解锁屏幕保护程序?
考虑到其设计的基本原理,我非常怀疑股票xscreensaver是否会通过密码(除非您当前正在强行杀死)以任何方式解锁。最好的选择可能是修改源代码,使其包含“ -forceunlock”选项之类的内容,然后从中构建自己的二进制文件。
—
亚伦·米勒
谢谢亚伦。我看不到您的链接如何相关,但我相信您是正确的。如果这是一个答案,我会接受,尽管这不是我想听到的。
—
jayhendren
评论转换为答案,并扩展为提供更大的背景。很高兴有帮助!(而且,嘿,修改源代码可能不会很困难-因为我有能力对jwz的代码做出任何判断,所以我发现它写得很好并且易于使用。 )
—
亚伦·米勒