Je crée une application avec rapidement , et je voulais ajouter un démon qui fonctionnera en arrière-plan. Comment est-ce que tu fais ça?
Je crée une application avec rapidement , et je voulais ajouter un démon qui fonctionnera en arrière-plan. Comment est-ce que tu fais ça?
Réponses:
Pour autant que je sache, il n'y a rien de spécifique dans rapidement pour vous empêcher ou vous aider à exécuter des démons, mais il y a au moins deux options que je sais / suppose que vous pouvez le faire avec python:
REMARQUE: je n'ai pas encore essayé celui-ci :)
placez votre script démon dans le bin
répertoire de votre projet rapidement, par exemple:bin/yourapp-launcher
ajoutez ce qui suit dans le data/yourapp-launcher.desktop
fichier:
[Desktop Entry]
Name=Your App
Exec=/bin/sh -c 'yourapp-launcher'
Type=Application
X-GNOME-Autostart-Delay=30
Icon=yourapp
Comment=
NoDisplay=true
éditez setup.py
et spécifiez des éléments supplémentaires data_files
dans la section DistUtilsExtra, par exemple:
DistUtilsExtra.auto.setup(
name='hello-ubuntu',
version='0.1',
#license='GPL-3',
#author='Your Name',
#author_email='email@ubuntu.com',
#description='UI for managing â¦',
#long_description='Here a longer description',
#url='https://launchpad.net/hello-ubuntu',
cmdclass={'install': InstallAndUpdateDataDirectory},
data_files=[('/etc/xdg/autostart', ['data/yourapp-launcher.desktop'])]
)
Semble un chemin à parcourir lorsque le démon doit être en cours d'exécution pour tous les utilisateurs, par exemple similaire à la façon dont U1 fonctionne.
Codez tout en dur dans la logique de votre application, par exemple, initialisez ~ / .config / autostart / yurapp-launcher.desktop lors de la première exécution, par exemple de la même manière que GmailNotify App le fait.
Contrairement à l'application GmailNotify, vous pouvez utiliser la bibliothèque python-xdg pour accéder aux normes freedesktop.org:
import xdg
print xdg.BaseDirectory.xdg_config_home
Semble bon pour les démons gérés par les utilisateurs.
D'après ce que je peux voir, il n'y a pas de modèle pour ajouter un démon rapidement. Cependant, vous pouvez contribuer en créant un modèle de démon. Comment créer votre propre modèle est expliqué dans la réponse à cette question: Comment créer rapidement un nouveau modèle d'application
Vous pouvez également rejoindre le groupe de modèles de communauté sur Launchpad, pour rendre votre modèle disponible pour les autres.
EDIT: Il existe également le modèle d'objectif Unity . Cela ne fonctionnera qu'avec Ubuntu Unity, vous serez donc dépendant de la plateforme (faiblesse assez importante si vous me le demandez). Mais il semble que les choses D-Bus soient prêtes dès le départ. Un peu comme un démon, mais peut-être pas tout à fait. Vous pouvez l'utiliser comme point de départ pour créer un démon indépendant de la plate-forme, peut-être ...
Je ne connais aucun détail autre que ce que je peux lier à d'autres, désolé. Je regarde ça moi-même pour savoir comment utiliser Qt4 rapidement. EDIT2: Je viens de découvrir qu'il existe un composant D-Bus dans Qt, qui rendrait votre plate-forme démon indépendante (fonctionnant sous Windows et Linux, etc.). Ce forum de discussion ( http://www.qtcentre.org/threads/38453-Send-and-receive-a-signal-between-2-Qt-applications ) a un exemple (en C ++, mais toujours) d'utilisation. il. Ou vous pouvez google pour QDBusConnection et QDBusMessage.
En parcourant les documents Quickly, il semble que Quickly ne supporte pas nativement la création de démons. Par conséquent, je suggère la bibliothèque de démon Python . Consultez également les didacticiels Python suivants qui peuvent être facilement interfacés à partir d'une application Quickly:
De plus, cette question Stack Overflow concerne les démons Python.
Python 3.3 aura un module démon pour la gestion des démons.