Difference between revisions of "D-Bus"

From ArchWiki
Jump to: navigation, search
(new page, moved a D-Bus specific problem from the HAL article)
 
(Troubleshooting)
Line 14: Line 14:
 
  # groupadd -g 81 dbus
 
  # groupadd -g 81 dbus
 
  # useradd -c 'System message bus' -u 81 -g dbus -d '/' -s /bin/false dbus
 
  # useradd -c 'System message bus' -u 81 -g dbus -d '/' -s /bin/false dbus
 +
 +
==D-bus Launch==
 +
If you are not using a desktop environment, more than likely you will need to add the following to your ''.xinitrc'':
 +
 +
# D-bus
 +
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
 +
        eval `dbus-launch --sh-syntax --exit-with-session`
 +
fi
 +
 +
This is used to start a user d-bus session (seperate from the system's) and remedies errors such as:
 +
 +
libnotify-Message: Unable to get session bus: Failed to execute dbus-launch to autolaunch D-Bus session
 +
 +
===Further reading===
 +
For more information, see [http://bbs.archlinux.org/viewtopic.php?pid=576861#p576861 Gnome-do and compiz standalone] and
 +
 +
man dbus-launch

Revision as of 22:49, 20 July 2009

Introduction

D-Bus (Desktop Bus) is a simple inter-process communication (IPC) system for software applications to communicate with one another. D-Bus was heavily influenced by KDE2–3's DCOP system and has replaced it in the KDE 4 release; it is supported on Linux, Microsoft Windows and Apple OS X operating systems and is used by Qt 4 and GNOME.

Source: D-Bus - Wikipedia.


D-Bus is automatically started by HAL, you don't need to (and you shouldn't) add it to your DAEMONS array in Template:Filename.

Troubleshooting

Could not get UID and GID

If you get the following error while starting DBUS:

Failed to start message bus: Could not get UID and GID for username "dbus"

then add the user like so:

# groupadd -g 81 dbus
# useradd -c 'System message bus' -u 81 -g dbus -d '/' -s /bin/false dbus

D-bus Launch

If you are not using a desktop environment, more than likely you will need to add the following to your .xinitrc:

# D-bus
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
       eval `dbus-launch --sh-syntax --exit-with-session`
fi

This is used to start a user d-bus session (seperate from the system's) and remedies errors such as:

libnotify-Message: Unable to get session bus: Failed to execute dbus-launch to autolaunch D-Bus session

Further reading

For more information, see Gnome-do and compiz standalone and

man dbus-launch