如何制作与屏幕锁定/解锁交互的脚本

当我按下Ctrl + Alt + L (锁定屏幕)时,我需要一个脚本我阻止或关闭所有usb并关闭所有网络接口,如eth0

当我解锁时,一切都应该恢复正常。 我试过了

 echo suspend> / sys / bus / usb / devices / usb1 / power / level 

..但我不能..

并且

 dbus-monitor --session "type = 'signal', interface = 'org.gnome.ScreenSaver' 

与屏幕互动,但不能。

有没有更好的方法? 或者我可以研究创建这个脚本的东西?

如何在锁定状态的更改上运行脚本或命令

根据U&L的这个答案 ,你尝试了一个过时的dbus命令。 对于14.04及以上,您可以使用:

 dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'" | \ ( while read X; do if [[ "$X" =~ desktop-lock ]]; then SCREEN_LOCKED; elif [[ "$X" =~ desktop-unlock ]]; then SCREEN_UNLOCKED; fi done ) 

这在我的系统上工作正常(16.04)。
(感谢@Serg和@muru的改进)

当然,您需要通过要在锁定状态更改时运行的命令或脚本替换SCREEN_LOCKEDSCREEN_UNLOCKED ,但是对其进行了测试,并且它可以正常工作。