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

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

我需要一个脚本,当我按下Ctrl++ (锁定屏幕)时AltL我会阻止或关闭所有 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

相关内容