2009-11-20 90 views
0

我使用pynotify,這是我試圖去上班代碼:的Python:pynotify網絡問題

#! /usr/bin/python 
try: 
    import pynotify 
    if pynotify.init("Telebrama Alert"): 
     n = pynotify.Notification('Message','This is test message') 
     n.set_urgency(pynotify.URGENCY_CRITICAL) 
     n.show() 
    else: 
     print 'There was a problem in initializing the pynotify module' 
except: 
    print "you don't seem to installed pynotify\n" 

它正在我的電腦上的罰款。但我想發送一些通知給另一個網絡。我怎樣才能使它工作?

+0

可你至少嘗試格式化你的代碼? – mhawke 2009-11-20 07:42:12

+1

問題中的鏈接指向pyinotify(注意附加的「我」字母)庫,這是不相關的。 – 2009-11-20 08:34:57

回答

2

pynotify只是一個X客戶端。要連接非本地X服務器,您必須設置DISPLAY環境變量。請注意,您要連接的X服務器應配置爲接受遠程連接(請參閱xhost和xauth的手冊頁)。

+0

我明白他想在一個桌面上啓動他的程序來發送其他人的通知,但是你可能是對的,它可能只是爲了遠程X. – kriss 2009-11-20 08:21:13

+0

比你的幫助 – rajaneesh 2009-11-20 08:43:44

1

那麼你應該明白pynotify不是關於網絡。

pynotify是libnotify的Python綁定。 libnotify與桌面(本地)通知有關。它使用本地D-Bus消息總線。沒有網絡。所以如果你想發送通知到另一個桌面,你將不得不使用其他工具。

+0

你知道任何其他工具作爲一個相同的東西 – rajaneesh 2009-11-20 08:44:40

0

根據您的DISPLAY變量,你可以通過這個工作:

進口OS os.environ [ 'DISPLAY'] = '0.0'