D-Bus - ArchWiki

# D-Bus

From ArchWiki
Jump to navigation Jump to search

This article or section needs expansion.

Reason: Mention disabling of dbus services through use of `systemctl mask` and overrides in `/etc/dbus-1/services` (Discuss in Talk: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.

## 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.

  https://wiki.gnome.org/Apps/DFeet || d-feet

- QDbusViewer — GUI D-Bus debugger. Can be used to inspect D-Bus services and invoke methods on them.

  https://doc.qt.io/qt-5/qdbusviewer.html || qt5-tools

You can also use busctl(5)[dead link 2019-08-19] from systemd.

## See also

- D-Bus homepage – freedesktop.org
- Introduction to D-Bus – freedesktop.org

Category:

- Daemons

Hidden categories:

- Pages or sections flagged with Template:Expansion
- Pages with dead links