#!/bin/sh # # messagebus: The D-BUS systemwide message bus # # description: This is a daemon which broadcasts notifications of system events \ # and other messages. See http://www.freedesktop.org/software/dbus/ # # processname: dbus-daemon # This is a modified version of the rc.messagebus script distributed with the # dbus sources. Thanks to Don Tanner of the GWare Project # for most of the work involved --Robby Workman PIDFILE=/var/run/dbus/dbus.pid start() { mkdir -p $(dirname $PIDFILE) if ! ps -u messagebus -c | grep -wq dbus-daemon; then rm -f $(dirname $PIDFILE)/* if [ -x /usr/bin/dbus-uuidgen -a -x /usr/bin/dbus-daemon ] ; then echo "Starting system message bus: /usr/bin/dbus-uuidgen --ensure ; /usr/bin/dbus-daemon --system" /usr/bin/dbus-uuidgen --ensure /usr/bin/dbus-daemon --system 1> /dev/null fi fi } stop() { if [ -e "$PIDFILE" ]; then echo "Stopping system message bus..." pid=$(cat $PIDFILE) kill $pid 1> /dev/null 2> /dev/null # Just in case: killall dbus-daemon 1> /dev/null 2> /dev/null rm -f $PIDFILE fi } reload() { echo "Reloading system message bus configuration..." if [ -e "$PIDFILE" ]; then pid=$(cat $PIDFILE) kill -HUP $pid else killall -HUP dbus-daemon fi } status() { if ps -u messagebus -c | grep -wq dbus-daemon; then echo "System dbus-daemon is running." else echo "System dbus-daemon is stopped." fi } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start echo "You may need to restart your Window Manager to reconnect to the system dbus." ;; reload) reload ;; status) status ;; *) echo $"Usage: $0 {start|stop|restart|reload|status}" ;; esac