From Gentoo Wiki
Jump to: navigation, search

D-Bus is an interprocess communication (IPC) system for software applications. Software makes use of D-Bus to communicate information between services.


USE flags

Portage knows the global dbus USE flag for enabling support for D-Bus in other packages. Enabling this flag will pull in sys-apps/dbus automatically. This is the default for desktop profiles:

FILE /etc/portage/make.confEnabling D-Bus globally

USE flags for sys-apps/dbus A message bus system, a simple way for applications to talk to each other

elogind Use sys-auth/elogind for session tracking. local
static-libs Build static versions of dynamic libraries as well global
systemd Build with sys-apps/systemd at_console support local
user-session Enable user-session semantics for session bus under systemd local


After setting the dbus global USE flag be sure to update the system using the --changed-use option:

root #emerge --ask --changed-use --deep @world



The main configuration files include:

  • /usr/share/dbus-1/system.conf for the system bus
  • /usr/share/dbus-1/session.conf for the session bus



After configuration step, start D-Bus with:

root #/etc/init.d/dbus start

To start D-Bus at boot time, add it the default run level:

root #rc-update add dbus default
Even without adding D-Bus to the default runlevel it often will get started by D-Bus dependent services. This should explain why D-Bus mysteriously gets started even though it has not been formally added to a system runlevel.


Some useful commands include:

  • dbus-monitor --system - To monitor the activities in the system bus.
  • dbus-monitor --session - To monitor the activities in the session bus.
  • dbus-send <PARAMETER> - To send a message. See the dbus-send man page (man dbus-send) for more information.


Use the dbus-monitor command to monitor the buses. Errors are also redirected to the syslog (/var/log/messages).

See also

  • eudev - A fork of systemd's udev with the goal of obtaining better compatibility with existing software such as OpenRC.
  • udev - The device manager for the Linux kernel.

External resources