8.71. D-Bus-1.12.20

D-Bus is a message bus system, a simple way for applications to talk to one another. D-Bus supplies both a system daemon (for events such as "new hardware device added" or "printer queue changed") and a per-user-login-session daemon (for general IPC needs among user applications). Also, the message bus is built on top of a general one-to-one message passing framework, which can be used by any two applications to communicate directly (without going through the message bus daemon).

Approximate build time: 0.2 SBU
Required disk space: 18 MB

8.71.1. Installation of D-Bus

Prepare D-Bus for compilation:

./configure --prefix=/usr                       \
            --sysconfdir=/etc                   \
            --localstatedir=/var                \
            --disable-static                    \
            --disable-doxygen-docs              \
            --disable-xml-docs                  \
            --docdir=/usr/share/doc/dbus-1.12.20 \

The meaning of the configure options:


This specifies the location of the ConsoleKit authorization directory.

Compile the package:


This package does come with a test suite, but it requires several packages that are not included in LFS. Instructions for running the test suite can be found in the BLFS book at http://www.linuxfromscratch.org/blfs/view/svn/general/dbus.html.

Install the package:

make install

The shared library needs to be moved to /lib, and as a result the .so file in /usr/lib will need to be recreated:

mv -v /usr/lib/libdbus-1.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so

Create a symlink so that D-Bus and systemd can use the same machine-id file:

ln -sfv /etc/machine-id /var/lib/dbus

Move the socket file to /run instead of the deprecated /var/run:

sed -i 's:/var/run:/run:' /lib/systemd/system/dbus.socket

8.71.2. Contents of D-Bus

Installed programs: dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor, dbus-run-session, dbus-send, dbus-test-tool, dbus-update-activation-environment, and dbus-uuidgen
Installed libraries: libdbus-1.{a,so}
Installed directories: /etc/dbus-1, /usr/include/dbus-1.0, /usr/lib/dbus-1.0, /usr/share/dbus-1, /usr/share/doc/dbus-1.12.20, and /var/lib/dbus

Short Descriptions


is used to remove leftover sockets in a directory


Is the D-Bus message bus daemon


Starts dbus-daemon from a shell script


Monitors messages passing through a D-Bus message bus


Starts a session bus instance of dbus-daemon from a shell script and starts a specified program in that session


Sends a message to a D-Bus message bus


Is a tool to help packages test D-Bus


Updates environment variables that will be set for D-Bus session services


Generates a universally unique ID


Contains API functions used to communicate with the D-Bus message bus