2009-11-20 7 views
0

J'utilise pynotify et c'est le code que je suis en train de se rendre au travail:Python: problème de réseau 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" 

Il fonctionne très bien sur mon ordinateur. Mais je veux envoyer une notification à un autre réseau. Comment puis-je le faire fonctionner?

+0

peut vous au moins essayer de formater votre code ? – mhawke

+1

Le lien dans la question pointe vers pyinotify (notez la bibliothèque "i" supplémentaire) qui n'est pas liée. –

Répondre

2

pynotify est juste un client X. Pour connecter un serveur X non local, vous devez définir la variable d'environnement DISPLAY. Notez que le serveur X auquel vous allez vous connecter doit être configuré pour accepter les connexions distantes (voir les pages man pour xhost et xauth).

+0

J'ai compris qu'il voulait lancer son programme sur un bureau pour envoyer des notifications sur d'autres, mais vous avez peut-être raison, il pourrait être juste pour la télécommande X. – kriss

+0

que vous pour l'aide – rajaneesh

1

Eh bien, vous devriez comprendre pynotify n'est pas sur le réseau.

pynotify est la liaison Python pour libnotify. libnotify est sur la notification de bureau (local). Il utilise le bus de messages D-Bus local. Pas de réseau. Donc, si vous voulez envoyer une notification à un autre bureau, vous devrez utiliser un autre outil.

+0

connaissez-vous un autre outil qui agissent comme une même chose – rajaneesh

0

En fonction de votre variable DISPLAY, vous pouvez obtenir ce travail par:

import os os.environ [ 'display'] = ': 0.0'