2011-12-14 110 views
2

我正在寻找一种在锁定屏幕Fedora 15(linux)时运行程序的方式。基本上我想开始运行一个运动检测程序时,屏幕锁定,或者我手动打Ctrl + Alt + L,但我不知道什么命令正在运行或别名我自己的中间步骤我假设它是:在Fedora屏幕锁上运行脚本

gnome-screensaver-command --lock 

但我不知道如何去做这件事。任何人都知道如何,或者开始寻找方向?

编辑,因为链接是在一个评论: 这与dbus-monitor完成,描述here

+0

我重申了这一点,希望有人更熟悉Gnome 3屏幕保护程序可能会发生并给你一个更直接有用的答案... – BRFennPocock 2011-12-14 18:53:55

回答

1

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作为该信号的处理程序来调用你的程序,我会好奇的;否则,我想你只是开始一个守护进程,并听取信号广播...

+0

你的解决方案比我用别名清除程序链接好多了,ActiveChanged成员在锁定时会触发,但我不确定如何向dbus添加处理程序。我会研究这个,谢谢。 – vityav 2011-12-14 19:19:59