quickly でアプリを構築していますが、バックグラウンドで実行されるデーモンを追加したかったのです。これはどうやるんですか?
私が知る限り、デーモンの実行を防止または支援するための特定の方法はすぐにはありませんが、Pythonでそれを行うことができることを知っている/推測する少なくとも2つのオプションがあります:
注:まだ試していませんでした:)
デーモンスクリプトを、すばやくプロジェクトの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
を編集し、DistUtilsExtraセクションで追加のdata_files
を指定します。例:
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'])]
)
デーモンをすべてのユーザーに対して実行する必要があるときに進む方法のようです。 U1の動作と同様です。
すべてをアプリロジックにハードコーディングします。たとえば、最初の実行時に〜/ .config/autostart/yurapp-launcher.desktopを初期化します。 GmailNotify App の方法に似ています。
GmailNotifyアプリとは異なり、 python-xdg ライブラリを使用してfreedesktop.org標準にアクセスできます。
import xdg
print xdg.BaseDirectory.xdg_config_home
ユーザー管理デーモンに適しているようです。
私が見ることができるものから、すぐにデーモンを追加するテンプレートはありません。ただし、デーモンテンプレートを作成することで貢献できます。独自のテンプレートを作成する方法は、この質問への回答で説明されています。 新しい迅速なアプリケーションテンプレートを作成する方法
また、Launchpadで community templates group に参加して、他の人がテンプレートを使用できるようにすることもできます。
編集: nity lens template もあります。 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++では、しかし、まだ)それを使用する方法の。または、QDBusConnectionとQDBusMessageをグーグルで検索できます。
Python 3.3には、デーモンを管理するためのデーモンモジュールがあります。
Quicklyのドキュメントを見ると、Quicklyはデーモンの作成をネイティブにサポートしていないようです。したがって、 Python Daemon Library をお勧めします。また、以下のPython Quicklyアプリケーションから簡単にインターフェイスできるチュートリアル:
また、 このStack Overflowの質問 アドレスPythonデーモン。