ubuntu-9.04 – 在系统挂起时发送什么DBus信号?

前端之家收集整理的这篇文章主要介绍了ubuntu-9.04 – 在系统挂起时发送什么DBus信号?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要检测一台机器何时在Ubuntu 9.10和Fedora 13中睡觉.两者都使用UPower,所以我一直在寻找“org.freedesktop.UPower”DBus总线来获取这些信号.

我一直在使用以下命令监听UPower总线上的“休眠”信号:

dbus-monitor --system "type='signal',interface='org.freedesktop.UPower',member='Sleeping'"

当我睡觉机器时(通过关闭盖子,选择“关闭 – >暂停”或发送DBus消息)我没有看到“睡眠”事件.

我注意到,当调用“org.freedesktop.UPower.AboutToSleep”方法时,会发送“Sleeping”事件.我可以通过调用手动执行此操作:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.AboutToSleep

而且我注意到“睡眠”信号被触发了.我的理解是任何睡在PC上的东西都必须事先发出“AboutToSleep”信号.这似乎不会发生这种情况.我已经在Fedora 13和Ubuntu 9.10上尝试了这些步骤,我看到了相同的结果.

任何人都可以解释发生了什么,或者为我提供另一个DBus信号来监听吗?

非常感谢,

保罗

你的问题引导我在这里工作:
> annotate-output dbus-monitor --system "type='signal',interface='org.freedesktop.UPower'"
08:07:00 I: Started dbus-monitor --system type='signal',interface='org.freedesktop.UPower'
08:07:00 O: signal sender=org.freedesktop.DBus -> dest=:1.145 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
08:07:00 O: string ":1.145"
08:07:22 O: signal sender=:1.20 -> dest=(null destination) serial=189 path=/org/freedesktop/UPower; interface=org.freedesktop.UPower; member=Sleeping
08:07:41 O: signal sender=:1.20 -> dest=(null destination) serial=190 path=/org/freedesktop/UPower; interface=org.freedesktop.UPower; member=Resuming
08:08:10 O: signal sender=:1.20 -> dest=(null destination) serial=192 path=/org/freedesktop/UPower; interface=org.freedesktop.UPower; member=Sleeping
08:10:08 O: signal sender=:1.20 -> dest=(null destination) serial=193 path=/org/freedesktop/UPower; interface=org.freedesktop.UPower; member=Resuming

所以你可以看到我确实得到了你似乎失踪的信号. @ 08:07:22我停了机器,@ 08:07:41我又开始了. @ 08:08:10我休眠了,@ 08:10:08又重新开始了.在这里完美无瑕地工作.我确实尝试添加,成员=’睡觉’就像在你的帖子中,这也有效(只给了我睡觉事件).

顺便说一下,我真的很喜欢annotate-output

猜你在找的Ubuntu相关文章