@@ -24,6 +24,9 @@ cleanup()
24 if [ -n "$INIT_PID" ]; then
24 if [ -n "$INIT_PID" ]; then
25 kill "$INIT_PID"
25 kill "$INIT_PID"
27+ if [ -n "$DBUS_PID" ]; then
27 if [ -n "$CMD_PID" ]; then
30 if [ -n "$CMD_PID" ]; then
28 kill "$CMD_PID"
31 kill "$CMD_PID"
@@ -39,6 +42,14 @@ set_greeter_var()
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")
42SUB_SOCKET=$XDG_RUNTIME_DIR/mir_socket
53SUB_SOCKET=$XDG_RUNTIME_DIR/mir_socket
43rm -f $SUB_SOCKET # clear socket in case we were hard shut down
54rm -f $SUB_SOCKET # clear socket in case we were hard shut down