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?
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 répertoire bin
de votre projet rapid, 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
éditer setup.py
et spécifiez 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 protected]',
#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 comment fonctionne U1.
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 ex. similaire à la façon dont 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 y a aussi 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 cela moi-même pour découvrir 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 quand même) comment l'utiliser. Ou vous pouvez google pour QDBusConnection et QDBusMessage.
Python 3.3 aura un module démon pour la gestion des démons.
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 Python Daemon Library . Passez également en revue les didacticiels Python qui pourraient être facilement interfacés à partir d'une application Quickly:
En outre, cette question de débordement de pile adresse Python.