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 support for X11|
||Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces|
||Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally|
||Use sys-auth/elogind for session tracking.|
||!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur|
||Build static versions of dynamic libraries as well|
||Build with sys-apps/systemd at_console support|
||Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)|
||Enable user-session semantics for session bus under systemd|
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.
To shutdown and reboot as a regular user:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
Use the dbus-monitor command to monitor the buses. Errors are also redirected to the syslog (/var/log/messages).
- Eudev — Gentoo's fork of udev, systemd's device file manager for the Linux kernel.
- Udev — systemd's device manager for the Linux kernel.