From f752c692c3a46e551a1c44c32fc1ad1ade6ac440 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 22 Jun 2015 11:21:23 +0200 Subject: [PATCH 1/1] handle kdbus If kdbus is around we can not use it directly. Instead we have to start a dbus session ourself, systemd will care to start a bus proxy. Signed-off-by: Christian Hesse --- xfce4-session/main.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/xfce4-session/main.c b/xfce4-session/main.c index 0c27a55..06b5e7d 100644 --- a/xfce4-session/main.c +++ b/xfce4-session/main.c @@ -196,11 +196,16 @@ static gboolean xfsm_dbus_require_session (gint argc, gchar **argv) { gchar **new_argv; + const gchar *dbus_session_bus_address; gchar *path; gint i; guint m = 0; - if (g_getenv ("DBUS_SESSION_BUS_ADDRESS") != NULL) + /* Return true if environment variable is set and value does NOT start with "kernel:". + * In second case we have kdbus around and need to lauch a dbus session with bus + * proxy. */ + dbus_session_bus_address = g_getenv ("DBUS_SESSION_BUS_ADDRESS"); + if (dbus_session_bus_address != NULL && strncmp (dbus_session_bus_address, "kernel:", 7) != 0) return TRUE; path = g_find_program_in_path ("dbus-launch"); -- 2.4.4