D-Bus

From Gentoo Wiki
Jump to: navigation, search
External resources

D-Bus is an inter-process communication (IPC) system for software applications; software makes use of D-Bus to communicate between services.

Installation

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.conf Enabling D-Bus globally
USE="dbus"


Optional USE flags for sys-apps/dbus:
USE flag (what is that?) Default Recommended Description
X Yes Add support for X11
abi_x86_32 No 32-bit (x86) libraries
debug No Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml
doc No Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
static-libs No Build static versions of dynamic libraries as well
systemd No Build with sys-apps/systemd at_console support
test No Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so don't set it in make.conf/package.use anymore

Emerge

After setting at least the dbus global USE flag be sure update the system using --changed-use option so Portage will be sure to notice the changes:

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

Configuration

The main configuration files are /etc/dbus-1/system.conf for the system bus and session.conf for the session bus.

Service

After configuration, 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
Note
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 is mysteriously starting even though it has not been added to a runlevel.

Usage

Some useful commands are:

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

Troubleshooting

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

See also

External resources