如何在屏幕保护程序锁定时检测屏幕何时打开?

如何在屏幕保护程序锁定时检测屏幕何时打开?

我试图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'"

但两者都没有检测到屏幕何时打开。

相关内容