如何在 CentOS 关机时弹出消息 window?
How Can I Pop a message window when CentOS shutdown?
当Centos关机、重启或注销时,我想弹出一条消息Window。
我用gtk做了window,那我该怎么办?
请原谅我糟糕的英语。 :-(
'Behind the scenes',在现代 Linux 中,是一个向对它们感兴趣的应用程序发送通知的系统。虽然我没有使用过关机和类似事件,但我很确定它们也可用。此通知服务 Window 独立于管理器,并在 Gtk+ 和 Qt 中工作。
即使未提及 CentOS in this list,所提供的链接中也应该包含充足的信息。页面下方是对 libnotify
的引用,它是 C
的工具箱。还提到了很多其他的。
您需要将程序编写为守护进程,并使用 DBus 监控来自 logind 的信号。查看 PrepareForShutdown
和 PrepareForSleep
信号;可能还有 UserRemoved
、SessionRemoved
、SeatRemoved
信号中的一个或多个。
为了弹出您的对话框,您还需要设置一个 inhibitor 以便在您的对话框关闭之前系统无法关闭。
如果你想中断注销或切换用户,你还需要设置一个inhibitor on org.gnome.SessionManager
。
当Centos关机、重启或注销时,我想弹出一条消息Window。
我用gtk做了window,那我该怎么办?
请原谅我糟糕的英语。 :-(
'Behind the scenes',在现代 Linux 中,是一个向对它们感兴趣的应用程序发送通知的系统。虽然我没有使用过关机和类似事件,但我很确定它们也可用。此通知服务 Window 独立于管理器,并在 Gtk+ 和 Qt 中工作。
即使未提及 CentOS in this list,所提供的链接中也应该包含充足的信息。页面下方是对 libnotify
的引用,它是 C
的工具箱。还提到了很多其他的。
您需要将程序编写为守护进程,并使用 DBus 监控来自 logind 的信号。查看 PrepareForShutdown
和 PrepareForSleep
信号;可能还有 UserRemoved
、SessionRemoved
、SeatRemoved
信号中的一个或多个。
为了弹出您的对话框,您还需要设置一个 inhibitor 以便在您的对话框关闭之前系统无法关闭。
如果你想中断注销或切换用户,你还需要设置一个inhibitor on org.gnome.SessionManager
。