我正在寻找一种在锁定屏幕Fedora 15
(linux)时运行程序的方式。基本上我想开始运行一个运动检测程序时,屏幕锁定,或者我手动打Ctrl + Alt + L,但我不知道什么命令正在运行或别名我自己的中间步骤我假设它是:在Fedora屏幕锁上运行脚本
gnome-screensaver-command --lock
但我不知道如何去做这件事。任何人都知道如何,或者开始寻找方向?
编辑,因为链接是在一个评论: 这与dbus-monitor
完成,描述here。
我正在寻找一种在锁定屏幕Fedora 15
(linux)时运行程序的方式。基本上我想开始运行一个运动检测程序时,屏幕锁定,或者我手动打Ctrl + Alt + L,但我不知道什么命令正在运行或别名我自己的中间步骤我假设它是:在Fedora屏幕锁上运行脚本
gnome-screensaver-command --lock
但我不知道如何去做这件事。任何人都知道如何,或者开始寻找方向?
编辑,因为链接是在一个评论: 这与dbus-monitor
完成,描述here。
dbus
系统通告屏幕锁定;在org.gnome.ScreenSaver
上监视ActiveChanged
。 (见http://people.gnome.org/~mccann/gnome-screensaver/docs/gnome-screensaver.html)
例如(字包裹的清晰度)
signal sender=:1.68 -> dest=(null destination)
serial=53 path=/org/gnome/ScreenSaver;
interface=org.gnome.ScreenSaver; member=ActiveChanged
boolean true
不幸的是,这需要的不仅仅是一个shell脚本编写更多的代码,恐怕;尽管如果你可以问dbus
作为该信号的处理程序来调用你的程序,我会好奇的;否则,我想你只是开始一个守护进程,并听取信号广播...
你的解决方案比我用别名清除程序链接好多了,ActiveChanged成员在锁定时会触发,但我不确定如何向dbus添加处理程序。我会研究这个,谢谢。 – vityav 2011-12-14 19:19:59
我重申了这一点,希望有人更熟悉Gnome 3屏幕保护程序可能会发生并给你一个更直接有用的答案... – BRFennPocock 2011-12-14 18:53:55