Redhat 6.6菜单中有两个屏幕保护程序选项“System->Preference>屏幕保护程序”:
我的问题是,如果选中选项(1),如何监视屏幕锁/解锁?我尝试使用dbus命令:
dbus-monitor --session "interface='org.gnome.ScreenSaver'"
不幸的是,结果是不正确的,因为它只捕获消息"ActiveChanged",甚至我检查选项(2)并实际锁定屏幕。
signal sender=:1.37 -> dest=(null destination) serial=25 path=/org/gnome/ScreenSaver;
interface=org.gnome.ScreenSaver; member=ActiveChanged
布尔真
如果我手动运行命令gnome-screensaver-command -l
,那么dbus监视器可以捕获以下消息:
method call sender=:1.99 -> dest=org.gnome.ScreenSaver serial=3 path=/org/gnome/ScreenSaver;
interface=org.gnome.ScreenSaver; member=Lock
signal sender=:1.37 -> dest=(null destination) serial=23 path=/org/gnome/ScreenSaver;
interface=org.gnome.ScreenSaver; member=ActiveChanged
boolean true
我参考了org.gnome.ScreenSaver的文档:
https://people.gnome.org/~mccann/gnome-screensaver/docs/gnome-screensaver.html
看来,调用"Lock“的方法意味着”请求锁定屏幕“。
信号"ActiveChanged“只意味着屏幕保护程序是否处于活动状态。
因此,我怀疑这是一个红帽6.6错误:
当屏幕保护程序处于活动状态,并且屏幕被上述两个选项锁定时,将丢失"Lock“消息。
这是因为在这种情况下,我无法检测到是否锁定了屏幕。
这个问题有什么解决办法吗?是否有可能读取存储上述两个选项的配置文件?
谢谢。
发布于 2015-08-11 17:22:34
运行gconftool-2 --get /apps/gnome-screensaver/lock_enabled
将返回一个布尔值,告诉您是否为当前用户启用了屏幕锁定。如果是true
,您将知道当"ActiveChanged“信号为真时,屏幕也会被锁定。
由于您询问了这两个选项的配置文件,您还可以检查屏幕保护程序是否设置为使用gconftool-2 --get /apps/gnome-screensaver/idle_activation_enabled
激活自己。
https://unix.stackexchange.com/questions/220752
复制相似问题