summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2017-09-20 09:47:53 -0400
committerRay Strode <rstrode@redhat.com>2017-09-20 16:04:53 -0400
commit2b52d8933c8ab38e7ee83318da2363d00d8c5581 (patch)
tree6e1b15e75a4696e676ec604ea3cbbf61dbfea8c9
parent85d23a4d51fc6690fbd7775f459fd46a8ea796f8 (diff)
downloadgdm-2b52d8933c8ab38e7ee83318da2363d00d8c5581.tar.gz
gdm-sessions: force a session bus for non-seat0 session
Eventually, our software should become "multi-seat aware", where it takes into account multiple seats at a time for the user (even if it's just putting up a dialog saying "user is busy" on all but one seat). We're not there yet. And user bus currently breaks XDMCP (which should really spawn session with its own separate user, but again, we're not there yet). This commit changes GDM to start a session bus for all non-seat0 displays, as a near-term workaround. https://bugzilla.gnome.org/show_bug.cgi?id=787943
-rw-r--r--daemon/gdm-session.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index eece5fb4..1f1f6eea 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -2791,7 +2791,12 @@ gdm_session_start_session (GdmSession *self,
self->priv->selected_program);
}
} else {
- program = g_strdup (self->priv->selected_program);
+ if (g_strcmp0 (self->priv->display_seat_id, "seat0") != 0) {
+ program = g_strdup_printf ("dbus-run-session -- %s",
+ self->priv->selected_program);
+ } else {
+ program = g_strdup (self->priv->selected_program);
+ }
}
}