summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <halfline@gmail.com>2020-07-13 20:55:55 +0000
committerRay Strode <halfline@gmail.com>2020-07-13 20:55:55 +0000
commita350886d0be769d58e60da7e5c38b37198c5e445 (patch)
tree11041893d3417f601a67586b6d98ab5500bcb83a
parentd786a16aceed2b868881fa4cde96b8c3b0c08048 (diff)
parent89cbd8eaed69306e4f1e68bbe35a7370803f97df (diff)
downloadgdm-a350886d0be769d58e60da7e5c38b37198c5e445.tar.gz
Merge branch 'wip/kill-x-on-login-too-plz' into 'master'
Wip/kill x on login too plz See merge request GNOME/gdm!51
-rw-r--r--daemon/gdm-local-display-factory.c9
-rw-r--r--daemon/gdm-manager.c20
-rw-r--r--daemon/gdm-x-session.c1
3 files changed, 3 insertions, 27 deletions
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
index 8709edd0..4a1889e7 100644
--- a/daemon/gdm-local-display-factory.c
+++ b/daemon/gdm-local-display-factory.c
@@ -668,7 +668,6 @@ static void
maybe_stop_greeter_in_background (GdmLocalDisplayFactory *factory,
GdmDisplay *display)
{
- g_autofree char *display_session_type = NULL;
gboolean doing_initial_setup = FALSE;
if (gdm_display_get_status (display) != GDM_DISPLAY_MANAGED) {
@@ -677,7 +676,6 @@ maybe_stop_greeter_in_background (GdmLocalDisplayFactory *factory,
}
g_object_get (G_OBJECT (display),
- "session-type", &display_session_type,
"doing-initial-setup", &doing_initial_setup,
NULL);
@@ -687,13 +685,6 @@ maybe_stop_greeter_in_background (GdmLocalDisplayFactory *factory,
return;
}
- /* we can only stop greeter for wayland sessions, since
- * X server would jump back on exit */
- if (g_strcmp0 (display_session_type, "wayland") != 0) {
- g_debug ("GdmLocalDisplayFactory: login window is running on Xorg, so ignoring");
- return;
- }
-
g_debug ("GdmLocalDisplayFactory: killing login window once its unused");
g_object_set (G_OBJECT (display), "status", GDM_DISPLAY_WAITING_TO_FINISH, NULL);
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
index efcce9b6..3249cb9e 100644
--- a/daemon/gdm-manager.c
+++ b/daemon/gdm-manager.c
@@ -1781,9 +1781,6 @@ on_start_user_session (StartUserSessionOperation *operation)
gboolean doing_initial_setup = FALSE;
GdmDisplay *display;
const char *session_id;
-#if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
- g_autofree char *display_session_type = NULL;
-#endif
g_debug ("GdmManager: start or jump to session");
@@ -1808,9 +1805,6 @@ on_start_user_session (StartUserSessionOperation *operation)
g_object_get (G_OBJECT (display),
"doing-initial-setup", &doing_initial_setup,
-#if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
- "session-type", &display_session_type,
-#endif
NULL);
if (doing_initial_setup)
@@ -1835,18 +1829,8 @@ on_start_user_session (StartUserSessionOperation *operation)
if (doing_initial_setup) {
g_autoptr(GError) error = NULL;
-#if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
- if (g_strcmp0 (display_session_type, "wayland") == 0) {
- g_debug ("GdmManager: closing down initial setup display in background");
- g_object_set (G_OBJECT (display), "status", GDM_DISPLAY_WAITING_TO_FINISH, NULL);
- }
-#endif
- if (gdm_display_get_status (display) == GDM_DISPLAY_MANAGED) {
- g_debug ("GdmManager: closing down initial setup display");
- gdm_display_stop_greeter_session (display);
- gdm_display_unmanage (display);
- gdm_display_finish (display);
- }
+ g_debug ("GdmManager: closing down initial setup display in background");
+ g_object_set (G_OBJECT (display), "status", GDM_DISPLAY_WAITING_TO_FINISH, NULL);
if (!g_file_set_contents (ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT,
"1",
diff --git a/daemon/gdm-x-session.c b/daemon/gdm-x-session.c
index 58865a6c..f0082fdc 100644
--- a/daemon/gdm-x-session.c
+++ b/daemon/gdm-x-session.c
@@ -277,6 +277,7 @@ spawn_x_server (State *state,
g_ptr_array_add (arguments, "-noreset");
g_ptr_array_add (arguments, "-keeptty");
+ g_ptr_array_add (arguments, "-novtswitch");
g_ptr_array_add (arguments, "-verbose");
if (state->debug_enabled) {