Ubuntu 9.10中奇怪的pynotify行为

2 投票
1 回答
683 浏览
提问于 2025-04-15 18:10

我写了一个小应用,用pynotify来给用户显示一些消息。

在我的arch系统上运行得很好,但在Ubuntu上测试时,表现得很奇怪。

因为Ubuntu显示通知的方式(看起来像是模仿growl),我无法点击这些通知,也无法以任何方式与它们互动。

最大的麻烦是,它一次只能显示一个通知,并且必须等(默认情况下要等很时间)一个通知消失后才能显示下一个。

考虑到我写的这个小应用的性质(一个简单的监控工具,每当文件发生变化时就运行一个命令),结果必须实时显示给用户。

我尝试用message.set_timeout()设置一个小的超时时间,但Ubuntu似乎完全不理会这个设置。

--

所以,我的问题是:难道只有我注意到了这个问题吗?我是不是做错了什么?

如果没有,是否有办法改变Ubuntu的这种行为?有没有什么解决办法?

谢谢你们的时间!

1 个回答

3

是的,Ubuntu 9.10把原本的notification-daemon换成了他们自己开发的notify-osd,结果搞得一团糟。

你可以确保安装了notification-daemon(通过你喜欢的包管理工具),然后使用它来替代notify-osd:

$ sudo mv /usr/share/dbus-1/services/org.freedesktop.Notifications.service /usr/share/dbus-1/services/org.freedesktop.Notifications.service.disabled
$ sudo mv /usr/share/dbus-1/services/org.freedesktop.Notifications.service.notify-osd /usr/share/dbus-1/services/org.freedesktop.Notifications.service

不幸的是,每次更新这个软件包时,它都会被覆盖……因为它已经使用了dpkg-diversion,所以很难永久性地更改这个设置。

撰写回答