Как добавить демона в мое приложение Quickly?

Я быстро создаю приложение с , и я хотел добавить демон, который будет работать в фоновом режиме. Как ты это делаешь?

10
задан 3 July 2012 в 20:22

4 ответа

Насколько я знаю, нет ничего конкретного в том, чтобы быстро предотвращать или помогать вам запускать демоны, но есть, по-моему, как минимум два варианта, которые вы можете сделать с помощью python:

Вариант № 1: Distutils

ПРИМЕЧАНИЕ: я еще не пробовал:)

  1. поместите ваш скрипт демона в каталог bin вашего быстрого доступа. например, bin/yourapp-launcher

  2. добавьте в файл 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
    
  3. отредактируйте 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.

Вариант № 2: Жесткий код

Жесткое кодирование всего в логику вашего приложения, например, инициализация ~ / .config / autostart / yurapp-launcher.desktop при первом запуске, например, аналогично тому, как это делает GmailNotify App .

В отличие от приложения GmailNotify вы можете использовать библиотеку python-xdg для доступа к стандартам freedesktop.org:

import xdg
print xdg.BaseDirectory.xdg_config_home

Кажется, это хорошо для управляемых пользователями демонов.

0
ответ дан 3 July 2012 в 20:22

Python 3.3 будет иметь модуль демона для управления демонами.

0
ответ дан 3 July 2012 в 20:22

Просматривая документы Quickly, кажется, что Quickly изначально не поддерживает создание демонов. Поэтому я предлагаю Python Daemon Library . Кроме того, просмотрите следующие учебные пособия по Python, которые могут быть легко связаны с приложением Quickly:

Кроме того, этот вопрос переполнения стека касается демонов Python.

0
ответ дан 3 July 2012 в 20:22

Из того, что я вижу, нет шаблона для быстрого добавления демона. Тем не менее, вы можете внести свой вклад, создав шаблон демона. Как создать свой собственный шаблон объясняется в ответе на этот вопрос: Как быстро создать новый шаблон приложения

Вы также можете присоединиться к группе шаблонов сообщества по адресу Панель запуска, чтобы сделать ваш шаблон доступным для использования другими.

РЕДАКТИРОВАТЬ: Существует также шаблон объектива 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.

0
ответ дан 3 July 2012 в 20:22

Другие вопросы по тегам:

Похожие вопросы: