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
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.
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.
Vous pouvez utiliser notify-send
(à partir du paquet libnotify-bin
) pour envoyer des notifications aux utilisateurs de votre démon.
- 1. Android: Projet actif essayant d'améliorer le processus de conception graphique?
- 2. (c/C++) essayant de forcer EOF du processus parent envoyant l'entrée au processus enfant
- 3. essayant d'obtenir XUI fonctionnant
- 4. Expérimenté C++ essayant C#
- 5. Problème cx_Oracle essayant d'importer python
- 6. essayant de modifier une table
- 7. Boost :: processus processus async_wait
- 8. tout en essayant de télécharger un fichier: le processus ne peut pas accéder au fichier car il est utilisé par un autre processus
- 9. en essayant d'aligner verticalement div div div
- 10. Flex bug essayant d'importer des fichiers actionscript
- 11. ERRNO: 8192 en essayant d'envoyer du courrier
- 12. Liaison des erreurs en essayant CS106B
- 13. javax.mail blocage en essayant de se connecter
- 14. essayant d'exécuter COBOL .exe en C++ programme
- 15. Connexion Mysqli essayant avec différents utilisateurs
- 16. terminating_due_to_uncaught_exception en essayant de changer de vue
- 17. raccourci d'application essayant de réinstaller l'application
- 18. EXC_BAD_ACCESS en essayant de libérer un ABRecordRef
- 19. undefined symbole: PyUnicodeUCS2_Decode en essayant d'installer psycopg2
- 20. en essayant de créer mon portefeuille d'actions
- 21. Erreur en essayant d'ouvrir mon localhost
- 22. essayant de stocker un tableau de pointeurs
- 23. OutOfMemoryError essayant de télécharger sur blobstore localement
- 24. en essayant de créer par programme rightBarButtonItem
- 25. en essayant de POST avec ruby mechanize
- 26. MalformedByteSequenceException tout en essayant d'analyser XML
- 27. Erreur de syntaxe en essayant d'utiliser CGRect
- 28. Fitnesse essayant de charger "defaultPath" comme assembly
- 29. NSInvalidArgumentException en essayant de cacher UIButtons
- 30. Caractères fous - essayant d'insérer dans UTF-8
Bon point. Je n'ai même pas pensé à ce problème. – AndiDog