D-Bus is an interprocess communication (IPC) system for software applications. Software makes use of D-Bus to communicate information between services.
USE flags for sys-apps/dbus A message bus system, a simple way for applications to talk to each other
||Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally||global|
||Use sys-auth/elogind for session tracking.||local|
||Build static versions of dynamic libraries as well||global|
||Build with sys-apps/systemd at_console support||local|
||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
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:
To start D-Bus at boot time, add it the default run level:
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).
- 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.