D-Bus

From Gentoo Wiki
Jump to: navigation, search
External resources

D-Bus is an inter-process communication (IPC) system for software applications to communicate with one another.

Installation

Portage knows the global USE flag dbus for enabling support for D-Bus in other packages. Enabling this USE flag will pull in sys-apps/dbus automatically (default for desktop profiles):

FILE /etc/portage/make.conf
USE="... dbus ..."

The USE flags of dbus are a follows:

USE flag (what is that?) Default Recommended Description
X Yes Add support for X11
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
selinux No  !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
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

After setting the USE flags be sure update the system so the changes will take effect:

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

Configuration

The main config 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 runlevel (although it often will get started by D-Bus depending services):

root #rc-update add dbus default

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