我需要一个脚本,当我按下Ctrl++ (锁定屏幕)时Alt,L我会阻止或关闭所有 USB 并关闭所有网络接口,例如eth0
。
当我解锁时,一切都应该恢复正常。我试过了
echo suspend> / sys / bus / usb / devices / usb1 / power / level
.. 但我不能..
并且
dbus-monitor --session "type = 'signal', interface = 'org.gnome.ScreenSaver'
与屏幕交互但不能。
有没有更好的方法?或者我可以学习什么来创建这个脚本?
答案1
如何在锁定状态发生变化时运行脚本或命令
根据这个答案在 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