Python / Linux / Daemon进程试图显示gtk.messagedialog

时间:2010-01-23 19:48:26

标签: python linux ubuntu gtk daemon

在Ubuntu 8/9上, 我正在尝试在python中编写一个守护进程,它监视某个网络状况并使用gtk.messagedialog通知用户。 我使用rc-update安装了这个脚本。 守护进程在启动时启动,但即使在我登录后也不显示对话框。我假设因为init.d在tty1启动我的守护进程并且没有可用的gnome。 尝试通过子进程运行对话框,但它似乎继承了相同的运行环境。 什么是这类事情的最佳实践。

3 个答案:

答案 0 :(得分:3)

如果有五个用户登录X会话,谁会收到消息?大家?

如果有人在本地登录但只使用tty而不是X11,他们是否应该看到该消息?

如果某人通过ssh -X远程登录,在他们自己的CPU上运行图形应用程序,他们是否应该看到该消息?你怎么能得到它们?

Linux对于您当前的方法来说过于灵活。执行此操作的标准方法是对任何对您要发送的消息感兴趣的用户运行接收消息的应用程序并以其选择的方式显示该消息。 Dbus是一种设置消息传递过程的流行方式。这样,使用TTY模式登录的远程用户或用户仍然可以选择查看消息。

答案 1 :(得分:0)

为了确定您的代码是否正常工作,您应该首先尝试将守护程序作为普通程序在图形shell中执行(在GNOME桌面上)。

您也可以致电zenity

答案 2 :(得分:0)

您可以使用notify-send(来自libnotify-bin包)从您的守护程序向桌面用户发送通知。