我想编写一个在后台运行并检测用户何时注销的脚本。我在 dbus-monitor 上找不到文档。我能做的最好的事情就是我看到一连串的EndSessionQuery, EndSession,EndSessionResponse但是这些都带有布尔值,因此不能完全信任它们(也许程序说它不希望用户注销?) ,如果没有程序打开怎么办?这太不靠谱了。
我想要的是监听用户注销时总会发生的信号。有人可以提供那个信号吗?目前我正在运行这个命令:
dbus-monitor --session \
"type='signal',interface='org.gnome.ScreenSaver',member='ActiveChanged'" | \
myprog
Run Code Online (Sandbox Code Playgroud)
它捕获 ScreenSaver 事件。但我也想赶上注销。我希望的是这样的:
dbus-monitor --session \
"type='signal',interface='org.gnome.Session',member='LogoutSuccess'" \
"type='signal',interface='org.gnome.ScreenSaver',member='ActiveChanged'" | \
myprog
Run Code Online (Sandbox Code Playgroud)
在此处查找名为 org.gnome.SessionManager.* 的文件: http: //git.gnome.org/browse/gnome-session/tree/gnome-session
org.gnome.SessionManager 接口中有一个 SessionOver 信号,这可能就是您所需要的。
您是否正在寻找来自会话管理器的正常“会话即将结束,退出或提出提示或其他内容”请求,或者“会话现在真的结束了,再见”信号?
| 归档时间: |
|
| 查看次数: |
2281 次 |
| 最近记录: |