diff --git a/src/remote/remote_daemon.c b/src/remote/remote_daemon.c index d44a365000..d90355c0d2 100644 --- a/src/remote/remote_daemon.c +++ b/src/remote/remote_daemon.c @@ -631,23 +631,27 @@ static void daemonRunStateInit(void *opaque) /* Tie the non-privileged daemons to the session/shutdown lifecycle */ if (!virNetDaemonIsPrivileged(dmn)) { - sessionBus = virGDBusGetSessionBus(); - if (sessionBus != NULL) - g_dbus_connection_add_filter(sessionBus, - handleSessionMessageFunc, dmn, NULL); + if (virGDBusHasSessionBus()) { + sessionBus = virGDBusGetSessionBus(); + if (sessionBus != NULL) + g_dbus_connection_add_filter(sessionBus, + handleSessionMessageFunc, dmn, NULL); + } - systemBus = virGDBusGetSystemBus(); - if (systemBus != NULL) - g_dbus_connection_signal_subscribe(systemBus, - "org.freedesktop.login1", - "org.freedesktop.login1.Manager", - "PrepareForShutdown", - NULL, - NULL, - G_DBUS_SIGNAL_FLAGS_NONE, - handleSystemMessageFunc, - dmn, - NULL); + if (virGDBusHasSystemBus()) { + systemBus = virGDBusGetSystemBus(); + if (systemBus != NULL) + g_dbus_connection_signal_subscribe(systemBus, + "org.freedesktop.login1", + "org.freedesktop.login1.Manager", + "PrepareForShutdown", + NULL, + NULL, + G_DBUS_SIGNAL_FLAGS_NONE, + handleSystemMessageFunc, + dmn, + NULL); + } } /* Only now accept clients from network */