화면 보호기가 잠겨 있는 동안 화면이 켜져 있는지 감지하는 방법은 무엇입니까?

화면 보호기가 잠겨 있는 동안 화면이 켜져 있는지 감지하는 방법은 무엇입니까?

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'"

그러나 어느 쪽도 화면이 켜지는 시점을 감지하지 못합니다.

관련 정보