我正在尝试将pynotify用于一个小项目,但我的Fedora 13机器上出现了一个奇怪的问题。似乎当以编程方式运行pynotify时,它会在调用show()
时崩溃 - 然而如果我自己键入该行,它运行正常!我也在我的Ubuntu盒子上测试了它,它运行得非常好。
我的测试代码是:
import pynotify
pynotify.init('someName')
n = pynotify.Notification("Summary", "Body")
n.show()
运行此结果:
$ python -i test.py
Traceback (most recent call last):
File "test.py", line 5, in <module>
n.show()
glib.GError: Unable to connect to server
>>> n.show()
True
>>>
那么,有没有人有任何可能导致这种行为的想法?不幸的是,Fedora环境是我无法控制的环境,所以任何需要root访问/等的解决方案都不会真正起作用。我可以尝试在本地安装pynotify,但是,如果需要的话。谢谢你的帮助。
答案 0 :(得分:0)
由于Owen没有接受我的提议来接受这个答案,这里的解决方案对我有用。请注意,我不知道为什么这样做(除了模糊的猜测),并且我不会对这是否是一个好的解决方案做出任何保证,但也许你可能会像我一样处于奇怪的位置这会有所帮助。
如果您执行n.show()
两次,它将第二次成功运行。因此,为了避免在Pynotify正常工作的系统上设置两个通知,我使用了以下内容:
import pynotify
pynotify.init('someName')
n = pynotify.Notification("Summary", "Body")
try:
n.show()
except:
n.show()
当然注意,这个小例子有缺陷,如果Pynotify存在实际问题,那么最不可能的结果是n.show()
- 这只是一个最小的工作示例。