From: Auke Kok Date: Thu, 20 Jun 2013 20:36:33 +0000 (-0700) Subject: core: only attempt to connect to a session bus if one likely exists. X-Git-Tag: v205~93 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=ed002560a1945fb8765c5559c293a19bc9e132d8;p=elogind.git core: only attempt to connect to a session bus if one likely exists. --- diff --git a/src/core/manager.c b/src/core/manager.c index 5c3a2c72f..2416dd0f1 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -509,9 +509,13 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) { goto fail; /* Try to connect to the busses, if possible. */ - r = bus_init(m, running_as != SYSTEMD_SYSTEM); - if (r < 0) - goto fail; + if ((running_as == SYSTEMD_USER && getenv("DBUS_SESSION_BUS_ADDRESS")) || + running_as == SYSTEMD_SYSTEM) { + r = bus_init(m, running_as != SYSTEMD_SYSTEM); + if (r < 0) + goto fail; + } else + log_debug("Skipping DBus session bus connection attempt - no DBUS_SESSION_BUS_ADDRESS set..."); m->taint_usr = dir_is_empty("/usr") > 0;