summaryrefslogtreecommitdiff
path: root/daemon/gdm-session.c
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 /daemon/gdm-session.c
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
Diffstat (limited to 'daemon/gdm-session.c')
-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);
+ }
}
}