我有一个用bash编写的脚本,我需要采取不同的路由,以防屏幕保护程序当前正在运行.这是Linux与Xorg和KDE.脚本是从cron调用的,它连接到DISPLAY =:0.
任何提示/想法如何检查屏幕保护程序的状态?
解决方法:
如果您正在运行KDE4,则可以使用dbus检查屏幕保护程序是否正在运行:
$qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.GetActive
要么
$qdbus org.kde.screensaver /ScreenSaver org.freedesktop.ScreenSaver.GetActive
这也适用于gnome,但它们因不遵循FreeDesktop标准而闻名,所以你必须使用:
$qdbus org.gnome.ScreenSaver /ScreenSaver org.gnome.ScreenSaver.GetActive
最后但并非最不重要的是,您可以使用XScreenSaverQueryInfo()检查标准X屏幕服务器是否正在运行并检查状态字段.