我试图MyCommand
在屏幕保护程序锁定时屏幕打开时执行KDE
,在两种情况下:当屏幕简单锁定时,以及当系统处于挂起模式时。两者都是通过按下键盘来唤醒的。
当然,我可以在屏幕保护程序锁定时进行循环:
while [[ "`xset -q | grep -i "monitor is off"`" ]]; do sleep 1 ; done
MyCommand
这将MyCommand
在屏幕打开时执行。但这并不优雅并且消耗资源。应该有一种使用的方法dbus-monitor
。我是新手dbus
,所以我不太知道它是如何工作的。
我尝试过
dbus-monitor --session "type='signal',interface='org.kde.KScreen'"
dbus-monitor --session "type='signal',interface='org.kde.screensaver'"
dbus-monitor --session "type='signal',interface='org.freedesktop.ScreenSaver'"
dbus-monitor --session "type='signal',interface='org.kde.keyboard'"
dbus-monitor --session "type='signal',interface='org.kde.kwin'"
但两者都没有检测到屏幕何时打开。