On Mon, 2011-06-13 at 20:00 +0100, Colin Guthrie wrote: > I: module.c: Loaded "module-position-event-sounds" (index: #17; > argument: ""). > I: module.c: Loaded "module-cork-music-on-phone" (index: #18; argument: ""). > E: server-lookup.c: Unable to contact D-Bus: > org.freedesktop.DBus.Error.Spawn.ExecFailed: /usr/bin/dbus-launch > terminated abnormally with the following error: Autolaunch error: X11 > initialization failed. > I: module.c: Unloading "module-device-restore" (index: #0). > I: module.c: Unloaded "module-device-restore" (index: #0). > > > So it seems that the dbus protocol needs X11. If DBUS_SESSION_BUS_ADDRESS is not set, trying to access the session bus will autolaunch a new bus. Autolaunching doesn't work without X11. We could check whether DBUS_SESSION_BUS_ADDRESS is set and launch the bus manually from Pulseaudio, but then clients probably wouldn't find the session bus, since the appropriate DBUS_SESSION_BUS_ADDRESS environment variable would only be defined within the Pulseaudio process. It would be nice if also the non-X11 sessions would set up the session bus already at login time, but I guess we can't rely on that. I'd expect the user bus work to solve this problem eventually, but until that becomes ubiquitous, I think putting module-dbus-protocol inside a .nofail section would be the best workaround. -- Tanu