For more details check http://ofi.hakore.com/

if you use DBUS-0.22 please apply patches from contrib/patches/dbus-all-services.patch to DBUS source.

To get DBUS operational you need to start system bus service at system 
startup:

# dbus-daemon-1 --system

And then for every user session:

$ dbus-daemon-1 --session

process running in you system to work it propertly.

you can run it with while you login with script like this:

if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
  ## if not found, launch a new one 
  eval `dbus-launch --sh-syntax --exit-with-session`
  echo "D-BUS per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"
fi

or I do prefer start GNOME with "dbus-launch gnome-session" because it allow to activate X based services

my /etc/X11/Xinit/Xclients:
------------------------------------------------------------ start --
# these files are left sitting around by RunWM.
rm -f /tmp/mwmrc* 2>/dev/null
# check to see if the user has a preferred desktop
[ -f /etc/sysconfig/desktop ] && . /etc/sysconfig/desktop
[ -f ~/.wm_style ] && PREFERRED="`cat ~/.wm_style | tr a-z A-Z`"
GSESSION="`which gnome-session 2>/dev/null`"
STARTKDE="`which startkde 2>/dev/null`"
case "$PREFERRED" in
	GNOME)
		[ -x "$GSESSION" ] && exec "/usr/bin/dbus-launch" "$GSESSION"
		;;
	KDE)
		[ -x "$STARTKDE" ] && exec "$STARTKDE"
		;;
esac
# Last, try plain window manager
exec /usr/X11R6/bin/RunWM
------------------------------------------------------------ end ---

### NOTES ####
#/desktop/gnome/url-handlers/jabber	""
#dbus-send --type="method_call" --dest='org.freedesktop.im.GG' /org/freedesktop/im org.freedesktop.im.openChat string:'gg://5074881'
