Qt D-Bus

D-Busは、もともとLinux用に開発されたプロセス間通信(IPC)とリモート・プロシージャ・コール(RPC)のメカニズムで、既存の競合するIPCソリューションを1つの統一されたプロトコルで置き換えるために開発された。また、システムレベルのプロセス(プリンタやハードウェアドライバのサービスなど)と通常のユーザープロセスとの間の通信を可能にするために設計された。

高速なバイナリー・メッセージ・パッシング・プロトコルを使用し、低レイテンシーと低オーバーヘッドのため、同一マシン間の通信に適している。その仕様は現在、freedesktop.org プロジェクトによって定義されており、すべての関係者が利用できる。

通信は一般的に、「バス」と呼ばれる中央のサーバーアプリケーションを介して行われるが(これが名前の由来)、アプリケーション間の直接通信も可能である。バス上で通信を行う場合、アプリケーションは他のアプリケーションやサービスが利用可能かを問い合わせたり、オンデマンドで起動したりすることができます。

モジュールの使用

Qt モジュールの C++ API を使用するには、モジュール・ライブラリを直接リンクするか、他の依存関係を介してリンクする必要があります。CMakeや qmakeなど、いくつかのビルドツールはこのための専用サポートを持っています。

find_package() コマンドを使用して、Qt6 パッケージから必要なモジュールコンポーネントを探します:

find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)

詳細については、CMakeによるビルドの概要を参照してください。

記事とガイド

以下のドキュメントには、Qt の D-Bus 統合機能に関する情報と、バス上で型情報を送受信するためのメカニズムに関する詳細が記載されています:

使用例

リファレンス

モジュールの進化

Qt D-Bus の変更点には、Qt 6 シリーズの Qt で行われたモジュール API と機能の重要な変更点が記載されています。

ライセンスと帰属

Qt D-Bus モジュールはThe Qt Company の商用ライセンスで利用できます。さらに、フリーソフトウェアライセンスでも利用可能です:GNU Lesser General Public License, version 3, またはGNU General Public License, version 2.詳細はQt ライセンスを参照してください。

さらに、Qt 6.8.2のQt D-Bus 、以下の許諾ライセンスの下でサードパーティモジュールを含むことができます:

libdus-1 headers, version dbus-1.13.12

アカデミック・フリー・ライセンス v2.1、または GNU 一般公有使用許諾 v2.0 以降。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.