[gdm/fix-jump-back-to-login-screen: 12/21] gdm-x-session: run session bus on non-seat0 seats
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm/fix-jump-back-to-login-screen: 12/21] gdm-x-session: run session bus on non-seat0 seats
- Date: Tue, 22 Mar 2022 14:41:13 +0000 (UTC)
commit d2947d36645e1bdaf31fede470df89b83ef8ea3a
Author: Ray Strode <rstrode redhat com>
Date: Wed Feb 5 15:20:48 2020 -0500
gdm-x-session: run session bus on non-seat0 seats
GNOME doesn't deal very well with multiple sessions
running on a multiple seats at the moment.
Until that's fixed, ensure sessions run on auxillary
seats get their own session bus.
daemon/gdm-session.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index a65fa0f9f..f13b54afc 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -2891,6 +2891,7 @@ gdm_session_start_session (GdmSession *self,
gboolean is_x11 = TRUE;
gboolean run_launcher = FALSE;
gboolean allow_remote_connections = FALSE;
+ gboolean run_separate_bus = FALSE;
char *command;
char *program;
gboolean register_session;
@@ -2921,6 +2922,10 @@ gdm_session_start_session (GdmSession *self,
register_session = !gdm_session_session_registers (self);
+ if (g_strcmp0 (self->display_seat_id, "seat0") != 0 && !run_launcher) {
+ run_separate_bus = TRUE;
+ }
+
if (self->selected_program == NULL) {
gboolean run_xsession_script;
@@ -2949,7 +2954,11 @@ gdm_session_start_session (GdmSession *self,
command);
}
} else if (run_xsession_script) {
- program = g_strdup_printf (GDMCONFDIR "/Xsession \"%s\"", command);
+ if (run_separate_bus) {
+ program = g_strdup_printf ("dbus-run-session -- " GDMCONFDIR "/Xsession
\"%s\"", command);
+ } else {
+ program = g_strdup_printf (GDMCONFDIR "/Xsession \"%s\"", command);
+ }
} else {
program = g_strdup (command);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]