2016-12-21 9 views
0

DBusのサービスを開始する方法が不思議です。 公式サイトで私はクライアントの視点からDBusサービスを扱うことに関する多くの情報を見つけましたが、サービスを開始して開発する方法は不十分です: 1)どこにあるべきかインタフェースファイルServiceName.xml 2)見つかったサービスファイルServiceName.service 3)システムの起動時ではなく、手動でサービスを起動する方法。DBusサービスの開始方法

誰かが私を助けたり、役立つリンクを提供できますか?

答えて

0

OSのサービスマネージャ(initd、systemdなど)によって起動されるサービスを作成します。そのプログラムでは、dbusライブラリーを使用してサーバー側オブジェクトをインスタンス化します。

通常、起動時にサービスを開始するように設定しますが、システムによっては、何かが特定のソケットに接続したときや特定のデバイスオブジェクトを使用しようとしたときに起動するように設定することもできます。これは、「ソケットの起動」と「dbusの起動」と呼ばれています(現在のsystemdのドキュメントを参照)。

サービスを手動で開始する場合は、起動時に起動を無効にするにはsystemctl disable <service-name>を実行します。手動でサービスを開始するには:systemctl start <service-name>

* .xmlファイルは必須ではありません。たぶん、他のパッケージを見て、これらのファイルをどこに置くかを調べることができます。

* .systemdファイルは、/usr/lib/systemd/systemのような通常の場所(systemd docsを参照)にある必要があります。

+0

ありがとうございました!実際に私はシステムバス上で私のアプリケーションを起動できませんでしたが、私はすでに 'sudo ...'を使って行うべきだと考えました。 –

+0

これはdbus-serviceとどう関係していますか? – Anwar

+0

@Anwarでは、他のサービスと違いはありません(dbusの起動の可能性は別として)。 – Velkan

関連する問題