D-Bus
D-Bus is a message bus system that provides an easy way for inter-process communication. It consists of a daemon, which can be run both system-wide and for each user session, and a set of libraries to allow applications to use D-Bus.
dbus is pulled and installed as a dependency of systemd and user session bus is started automatically for each user.
Alternative Implementations
dbus-broker
dbus-broker is a drop-in replacement for the libdbus reference implementation, which aims "to provide high performance and reliability, while keeping compatibility to the D-Bus reference implementation". [1]
To enable dbus-broker as the system bus:
# systemctl enable dbus-broker.service
To enable as a user bus, run as the desired user:
$ systemctl --user enable dbus-broker.service
Or, to enable for all users, run as root:
# systemctl --global enable dbus-broker.service
Reboot for these settings to take effect.
Tips and tricks
Disable dbus service
You can override dbus services in ~/.local/share/dbus-1/services
Debugging
- D-Feet — Easy to use D-Bus debugger GUI tool. D-Feet can be used to inspect D-Bus interfaces of running programs and invoke methods on those interfaces.
- QDbusViewer — GUI D-Bus debugger. Can be used to inspect D-Bus services and invoke methods on them.
You can also use busctl(1) from systemd.
See also
- D-Bus homepage – freedesktop.org
- Introduction to D-Bus – freedesktop.org