Estoy creando una aplicación rápidamente , y quería agregar un demonio que se ejecute en segundo plano. ¿Cómo haces esto?
Estoy creando una aplicación rápidamente , y quería agregar un demonio que se ejecute en segundo plano. ¿Cómo haces esto?
Respuestas:
Hasta donde sé, no hay nada específico rápidamente para evitar o ayudarlo a ejecutar demonios, pero hay al menos dos opciones que sé / supongo que puede hacerlo con python:
NOTA: Todavía no probé este :)
ponga su script daemon en el bin
directorio de su proyecto rápido, por ejemplo:bin/yourapp-launcher
agregue lo siguiente en el data/yourapp-launcher.desktop
archivo:
[Desktop Entry]
Name=Your App
Exec=/bin/sh -c 'yourapp-launcher'
Type=Application
X-GNOME-Autostart-Delay=30
Icon=yourapp
Comment=
NoDisplay=true
editar setup.py
y especificar adicional data_files
en la sección DistUtilsExtra, por ejemplo:
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'])]
)
Parece un camino a seguir cuando el demonio debe estar ejecutándose para todos los usuarios, por ejemplo, cómo funciona U1.
Codifique todo en la lógica de su aplicación, por ejemplo, inicialice ~ / .config / autostart / yurapp-launcher.desktop en la primera ejecución, por ejemplo, similar a cómo lo hace la aplicación GmailNotify .
A diferencia de la aplicación GmailNotify, puede confiar en la biblioteca python-xdg para acceder a los estándares de freedesktop.org:
import xdg
print xdg.BaseDirectory.xdg_config_home
Parece bueno para los demonios administrados por los usuarios.
Por lo que puedo ver, no hay una plantilla para agregar un demonio rápidamente. Sin embargo, puedes contribuir creando una plantilla de demonio. La respuesta a esta pregunta explica cómo crear su propia plantilla: Cómo crear una nueva plantilla de aplicación rápida
También puede unirse al grupo de plantillas de la comunidad en Launchpad, para que su plantilla esté disponible para que otros la usen.
EDITAR: También existe la plantilla de lente Unity . Solo funcionará con Ubuntu Unity, por lo que dependerá de la plataforma (una debilidad bastante significativa si me pregunta). Pero parece tener las cosas de D-Bus listas desde el principio. Como un demonio, pero tal vez no del todo. Podría usar esto como punto de partida para crear un demonio independiente de la plataforma, tal vez ...
No conozco más detalles que los que puedo vincular con otros, lo siento. Solo mirando esto yo mismo para descubrir cómo usar Qt4 rápidamente. EDIT2: Acabo de descubrir que hay un componente D-Bus para Qt, que haría que su plataforma daemon sea independiente (trabajando en Windows y Linux, etc.). Este foro de discusión ( http://www.qtcentre.org/threads/38453-Send-and-receive-a-signal-between-2-Qt-applications ) tiene un ejemplo (en C ++, pero aún) de cómo usar eso. O puede buscar en Google QDBusConnection y QDBusMessage.
Mirando a través de los documentos de Quickly, parece que Quickly no admite de forma nativa la creación de demonios. Por lo tanto, sugiero la Biblioteca Python Daemon . Además, repase los siguientes tutoriales de Python que podrían interactuar fácilmente desde una aplicación Quickly:
Además, esta pregunta de desbordamiento de pila aborda los demonios de Python.
Python 3.3 tendrá un módulo de demonio para la gestión de demonios.