如何制作与屏幕锁定/解锁交互的脚本
当我按下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_LOCKED
和SCREEN_UNLOCKED
,但是对其进行了测试,并且它可以正常工作。