Я быстро создаю приложение и хотел добавить демона, который будет работать в фоновом режиме. Как ты это делаешь?
Я быстро создаю приложение и хотел добавить демона, который будет работать в фоновом режиме. Как ты это делаешь?
Ответы:
Насколько я знаю, нет ничего конкретного в том, чтобы быстро предотвратить или помочь вам с запуском демонов, но есть по крайней мере два варианта, которые я знаю / думаю, вы можете сделать это с помощью Python:
ПРИМЕЧАНИЕ: я еще не пробовал это :)
поместите ваш демон-скрипт в bin
каталог вашего быстрого проекта, например:bin/yourapp-launcher
добавьте в data/yourapp-launcher.desktop
файл следующее:
[Desktop Entry]
Name=Your App
Exec=/bin/sh -c 'yourapp-launcher'
Type=Application
X-GNOME-Autostart-Delay=30
Icon=yourapp
Comment=
NoDisplay=true
отредактируйте setup.py
и укажите дополнительные data_files
в разделе DistUtilsExtra, например:
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'])]
)
Похоже, когда демон должен работать для всех пользователей, например, как работает U1.
Закрепите все в логике вашего приложения, например, инициализируйте ~ / .config / autostart / yurapp-launcher.desktop при первом запуске, например, аналогично тому, как это делает приложение GmailNotify .
В отличие от приложения GmailNotify вы можете использовать библиотеку python-xdg для доступа к стандартам freedesktop.org:
import xdg
print xdg.BaseDirectory.xdg_config_home
Кажется, хорошо для управляемых пользователем демонов.
Из того, что я вижу, нет шаблона для быстрого добавления демона. Тем не менее, вы можете внести свой вклад, создав шаблон демона. Как создать собственный шаблон, объясняется в ответе на этот вопрос: как быстро создать новый шаблон приложения.
Вы также можете присоединиться к группе шаблонов сообщества на Launchpad, чтобы сделать ваш шаблон доступным для использования другими.
РЕДАКТИРОВАТЬ: Существует также шаблон объектива Unity . Он будет работать только с Ubuntu Unity, поэтому вы будете зависеть от платформы (довольно существенный недостаток, если вы спросите меня). Но, похоже, D-Bus готов с самого начала. Вроде как демон, но, возможно, не совсем. Вы можете использовать это в качестве отправной точки для создания платформонезависимого демона, возможно ...
Я не знаю никаких деталей, кроме того, что я могу связать с другими, извините. Я просто смотрю на это, чтобы узнать, как быстро использовать Qt4. EDIT2: Только что обнаружил, что в Qt есть компонент D-Bus, который сделает вашу платформу независимой (работает на Windows, Linux и т. Д.). Этот дискуссионный форум ( http://www.qtcentre.org/threads/38453-Send-and-receive-a-signal-between-2-Qt-applications ) имеет пример (на C ++, но все же) того, как использовать Это. Или вы можете Google для QDBusConnection и QDBusMessage.
Просматривая документы Quickly, кажется, что Quickly изначально не поддерживает создание демонов. Поэтому я предлагаю Python Daemon Library . Кроме того, просмотрите следующие учебные пособия по Python, которые могут быть легко связаны с приложением Quickly:
Кроме того, этот вопрос переполнения стека адресован демонам Python.
Python 3.3 будет иметь модуль демона для управления демонами.