@@ -24,6 +24,9 @@ cleanup()
2424 if [ -n "$INIT_PID" ]; then
2525 kill "$INIT_PID"
2626 fi
27+ if [ -n "$DBUS_PID" ]; then
28+ kill "$DBUS_PID"
29+ fi
2730 if [ -n "$CMD_PID" ]; then
2831 kill "$CMD_PID"
2932 fi
@@ -39,6 +42,14 @@ set_greeter_var()
3942 fi
4043}
4144
45+# Start dbus if it hasn't already been started for us (such as on the Desktop
46+# images by dbus-launch). We don't want to use dbus-launch ourselves because
47+# we don't want dbus-x11 on the Touch images.
48+if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
49+ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=$(mktemp -u /tmp/dbus-XXXXXXXXXX)
50+ DBUS_PID=$(dbus-daemon --fork --session --print-pid --address="$DBUS_SESSION_BUS_ADDRESS")
51+fi
52+
4253SUB_SOCKET=$XDG_RUNTIME_DIR/mir_socket
4354rm -f $SUB_SOCKET # clear socket in case we were hard shut down
4455