如果GNOME应用程序有未保存的数据并且用户想要关闭或注销,会话管理器会通知用户这一点(更不用说屏幕截图中的“没有响应”):
我相信这是通过dbus完成的,请参阅here和the answer here。
我可以使用first link中的python示例成功注册一个抑制剂 但是在注销期间没有显示禁止和“原因”。为什么呢?
使用GNOME 3.4系统是Debian 7
答案 0 :(得分:0)
Inhibit()
调用有一个flags-parameter。您没有显示任何代码,因此我们无法分辨您使用的是什么值,但我猜它不是正确的。
GTK +应用程序有一个很好的API,可以在gtk_application_inhibit()中使用它。
SessionManager D-Bus API未声明稳定,但如果不能使用GtkApplication,则使用(如果可用)应该没问题。这些是SessionManager API的标志值(按位OR一起):
1: Inhibit logging out
2: Inhibit user switching
4: Inhibit suspending the session or computer
8: Inhibit the session being marked as idle
16: Inhibit auto-mounting removable media for the session