2010-01-23 4 views
0

sur Ubuntu 8/9, J'essaye d'écrire un démon en python, qui surveille une certaine condition de réseau et informe l'utilisateur en utilisant un gtk.messagedialog. J'ai installé ce script en utilisant rc-update. Le démon démarre au démarrage, mais n'affiche pas la boîte de dialogue même après ma connexion. Je suppose que init.d démarre mon démon à tty1 et aucun gnome n'est disponible. J'ai essayé d'exécuter le dialogue via un sous-processus, mais il semble hériter du même environnement d'exécution. Quelle est la meilleure pratique pour ce genre de chose.Processus Python/Linux/Daemon essayant d'afficher gtk.messagedialog

Répondre

0

Afin de savoir si votre code fonctionne, vous devez d'abord essayer d'exécuter le démon en tant que programme normal dans un shell graphique (sur un bureau GNOME).

Vous pouvez également appeler zenity.

3

Si cinq utilisateurs sont connectés à des sessions X, qui reçoit le message? Toutes les personnes?

Si quelqu'un est connecté localement mais seulement en utilisant le tty, et non X11, devrait-il voir le message?

Si quelqu'un est connecté à distance via ssh -X pour exécuter une application graphique sur son propre système à partir de votre CPU, devrait-il voir le message? Comment les auriez-vous pour eux?

Linux est trop flexible pour votre approche actuelle. La manière standard de le faire est pour tout utilisateur qui est intéressé par le type de message que vous envoyez pour exécuter une application qui reçoit le message et l'affiche de la manière de son choix. Dbus est un moyen populaire de configurer le processus de messagerie. De cette façon, les utilisateurs distants ou les utilisateurs connectés avec le mode TTY n'ont toujours qu'une option pour voir le message.

+0

Bon point. Je n'ai même pas pensé à ce problème. – AndiDog

0

Vous pouvez utiliser notify-send (à partir du paquet libnotify-bin) pour envoyer des notifications aux utilisateurs de votre démon.

Questions connexes