Answers:
据我所知,没有什么可以阻止或协助您运行守护程序的快速方法,但是我知道/猜测至少有两个选择可以使用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
在DistUtilsExtra部分中编辑setup.py
并指定其他data_files
内容,例如:
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 App的操作方式。
与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库。另外,仔细阅读以下Python教程,这些教程可以从Quickly应用程序轻松地进行接口:
另外,这个堆栈溢出问题也解决了Python守护程序。
Python 3.3将具有用于管理守护程序的守护程序模块。