Shaun McCance
shaunm@gnome.org 2011–2012

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

As a special exception, the copyright holders give you permission to copy, modify, and distribute the example code contained in this document under the terms of your choosing, without restriction.

Inter-process communication bus to provide APIs to other processes

# D-Bus

D-Bus is a message bus for sending messages between various applications, the desktop, and low-level components of the system. D-Bus provides a simple API for sending messages to particular services and for broadcasting messages to all interested services. D-Bus enables different types of applications to communicate and integrate with each other and with the desktop, providing better interaction and a richer experience for the user.

D-Bus provides a session bus and a system bus. The session bus is used by applications in a single user session, allowing them to share data and event notifications and to integrate into the user's desktop. For example, movie players can send a D-Bus message to prevent the screensaver from activating while the user is watching a movie.

システムバスはユーザーセッションとは独立して実行される単一のメッセージバスです。システムバスはアプリケーションと通信することにより、それらのアプリケーションがシステムの低レベルな詳細を知ることなくシステムコンポーネントと相互作用することを可能にします。システムバスはユーザーが彼らのシステムで動作することを期待するであろう重要な機能を提供します。たとえば、システムバスはネットワークインターフェースの UP / DOWN や外部デバイスがプラグインされたり、ラップトップのバッテリが低下するのをモニターするのに使用されます。

D-Bus is developed jointly on freedesktop.org, so you can use it with different desktop environments and applications. Because D-Bus is a cross-desktop project, you use it to create portable and versatile software that seamlessly integrates with the user's desktop, regardless of which desktop it is.

GNOME provides full support for D-Bus using the GDBus APIs in GIO.

GIO Reference Manual

D-Bus Tutorial

D-Bus Specification