D-Bus
[Wikipedia|▼Menu]

D-Bus開発元多数[1]

最新版1.12.16[1] / 2019年6月11日 (4年前) (2019-06-11)
最新評価版1.13.12[2] / 2019年6月11日 (4年前) (2019-06-11)
リポジトリ

gitlab.freedesktop.org/dbus/dbus.git

対応OSクロスプラットフォーム
種別ライブラリ
ライセンスGPLまたはAcademic Free License
公式サイトwww.freedesktop.org/wiki/Software/dbus/
テンプレートを表示

D-Bus(Desktop Bus、ディーバス)は、メッセージバスと呼ばれる、アプリケーション間でやりとりを行うための、プロセス間通信 (IPC) 実装の1つである。プロセスの生成期間を調節し、それらのサービスが必要なときに簡単に呼び出すことができるようにすることができる。軽量さ、低依存度を保って開発されている。

D-BusはKDE(バージョン2 - 3)独自のIPC実装であるDCOPの影響を受けて生まれ、KDE4 (Qt4) で採用された。GNOMEも独自のIPC実装であるBonoboからD-Busへ移行している。Linuxでもudevによるマウントメッセージの通知を行う際にD-Busを使っている。X.Org Server7.3からはD-Busによる実行時の設定が可能になっている。

D-Busは多くのプログラミング言語ライブラリとのバインディングを持ち、C言語JavaC++C#PythonRubyPerlGTKQtMaemo(携帯端末用のデスクトップ環境)などから利用できる。さらに、Unix系オペレーティングシステム (OS) だけでなく、winDBusという名前の別プロジェクトとしてWindows版も開発されている。
機構.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この節の加筆が望まれています。

D-Busデーモン (dbus-daemon) によってメッセージを管理する。OSの起動中に常時実行されるシステム管理用のデーモンと、該当ログインセッションが有効である期間中実行されるログインセッション管理デーモンの2つがある。システム管理用のデーモンは、プリンタキューの追加やデバイスの追加・削除などを通知する。セッションごとのデーモンは、デスクトップアプリケーション間の通信に使われる。

デーモンとアプリケーションの間の通信としては、ソケットを用いる。
アーキテクチャ

D-Busは、3つのレイヤーから構成されるアーキテクチャである[3]
libdbus - 2つのアプリケーションをつなぎ、メッセージを交換することを可能にするライブラリ

dbus-daemon - libdbus 上に作られた実行ファイル形式のメッセージバスデーモン。複数のアプリケーションが接続する。デーモンは1つのアプリケーションから0個以上の複数のアプリケーションにメッセージを配信する。出版-購読型モデルを実装できる。

特定のアプリケーションフレームワークに基づくラッパーライブラリ

D-Busの設計は、以下の2つのケースに基づいて行われた。
同じデスクトップセッション内のデスクトップ環境上のアプリケーション間の通信。全体として、デスクトップセッションを1つに統合する。

デスクトップセッションとOS間の通信。OSには典型的にはカーネルやシステムデーモンなどが含まれる。

D-Busを利用するソフトウェア

HAL (ソフトウェア)(ハードウェアの変更をアプリケーションへ通知する)

notification-daemon(Xのイベントをアプリケーションに通知する)

BlueZ (Linux及びAndroidで動作するBluetoothスタック)

参照[脚注の使い方]^ “index : dbus/dbus” (2019年6月11日). 2019年12月22日閲覧。
^ “index : dbus/dbus” (2019年6月11日). 2019年12月22日閲覧。
^ “ ⇒Get on the D-BUS”. Linux Journal. 2008年1月23日閲覧。

関連項目.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:#f9f9f9;display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}ポータル FLOSS

freedesktop.org

外部リンク

公式ウェブサイト


ソースコード

D-Bus 仕様

D-Bus Tutorial (英語)

IBM D-BUSを使用してデスクトップ・アプリケーションを接続

D-BUSのWindowsポーティング (英語)

NokiaのLinux開発環境(Maemo)のチュートリアル (英語)

MeeGo wiki D-Busオーバービュー (英語)










freedesktop.orgのプロジェクト
コンポーネント

Avahi

Compiz

D-Bus

DRI

Enchant

Flatpak

kmscon(英語版)

luit(英語版)

nouveau

PackageKit

Plymouth(英語版)

PulseAudio

systemd

Wayland

X.Org Server

Glamor


Xephyr(英語版)

ライブラリ

AppStream

cairo

Fontconfig

glitz

GStreamer

Mesa 3D

fprint

HarfBuzz

Pango

Poppler

Swfdec

Video Acceleration API(英語版)

XCB

Xft

フレームワーク

CppUnit(英語版)

Galago

GeoClue

Open Collaboration Services(英語版)

Telepathy

ミーテイング

Create Project(英語版)

Portland Project


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:17 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef