首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当屏幕保护程序在Redhat 6.6上活动时,如何检测屏幕是否锁定?

当屏幕保护程序在Redhat 6.6上活动时,如何检测屏幕是否锁定?
EN

Unix & Linux用户
提问于 2015-08-07 10:57:15
回答 1查看 3.1K关注 0票数 2

Redhat 6.6菜单中有两个屏幕保护程序选项“System->Preference>屏幕保护程序”:

  1. 选项“计算机空闲时的活动屏幕保护程序”。选中此选项将导致屏幕保护程序在空闲时间达到限制时处于活动状态;
  2. 选项“锁定屏幕时,屏幕保护程序是活动的”。当屏幕保护程序处于活动状态时,选中此选项将导致屏幕锁定;否则,屏幕保护程序处于活动状态时屏幕将不会锁定。

我的问题是,如果选中选项(1),如何监视屏幕锁/解锁?我尝试使用dbus命令:

代码语言:javascript
运行
复制
dbus-monitor --session "interface='org.gnome.ScreenSaver'"  

不幸的是,结果是不正确的,因为它只捕获消息"ActiveChanged",甚至我检查选项(2)并实际锁定屏幕。

代码语言:javascript
运行
复制
signal sender=:1.37 -> dest=(null destination) serial=25 path=/org/gnome/ScreenSaver;
interface=org.gnome.ScreenSaver; member=ActiveChanged

布尔真

如果我手动运行命令gnome-screensaver-command -l,那么dbus监视器可以捕获以下消息:

代码语言:javascript
运行
复制
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“消息。

这是因为在这种情况下,我无法检测到是否锁定了屏幕。

这个问题有什么解决办法吗?是否有可能读取存储上述两个选项的配置文件?

谢谢。

EN

回答 1

Unix & Linux用户

发布于 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激活自己。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/220752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档