Blame SOURCES/0034-manager-don-t-run-autologin-display-on-tty1.patch

400dab
From e4c9a998f89d429d31b02997f146c8218c0742bc Mon Sep 17 00:00:00 2001
400dab
From: Ray Strode <rstrode@redhat.com>
400dab
Date: Mon, 24 Sep 2018 14:45:38 -0400
400dab
Subject: [PATCH 34/51] manager: don't run autologin display on tty1
400dab
400dab
tty1 is really meant for the login screen.
400dab
If a user autologins on it and we need a login
400dab
screen later, then the login screen has to go
400dab
in some auxiliary VT which isn't very nice.
400dab
400dab
This commit changes autologin to not use the
400dab
initial vt.
400dab
---
400dab
 daemon/gdm-manager.c | 4 +---
400dab
 1 file changed, 1 insertion(+), 3 deletions(-)
400dab
400dab
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
400dab
index 4c81dac7f..e896c8945 100644
400dab
--- a/daemon/gdm-manager.c
400dab
+++ b/daemon/gdm-manager.c
400dab
@@ -1308,74 +1308,72 @@ get_automatic_login_details (GdmManager *manager,
400dab
         } else {
400dab
                 g_free (username);
400dab
         }
400dab
 
400dab
         return enabled;
400dab
 }
400dab
 
400dab
 static const char *
400dab
 get_username_for_greeter_display (GdmManager *manager,
400dab
                                   GdmDisplay *display)
400dab
 {
400dab
         gboolean doing_initial_setup = FALSE;
400dab
 
400dab
         g_object_get (G_OBJECT (display),
400dab
                       "doing-initial-setup", &doing_initial_setup,
400dab
                       NULL);
400dab
 
400dab
         if (doing_initial_setup) {
400dab
                 return INITIAL_SETUP_USERNAME;
400dab
         } else {
400dab
                 return GDM_USERNAME;
400dab
         }
400dab
 }
400dab
 
400dab
 static void
400dab
 set_up_automatic_login_session (GdmManager *manager,
400dab
                                 GdmDisplay *display)
400dab
 {
400dab
         GdmSession *session;
400dab
         char       *display_session_type = NULL;
400dab
-        gboolean is_initial;
400dab
 
400dab
         /* 0 is root user; since the daemon talks to the session object
400dab
          * directly, itself, for automatic login
400dab
          */
400dab
         session = create_user_session_for_display (manager, display, 0);
400dab
 
400dab
         g_object_get (G_OBJECT (display),
400dab
-                      "is-initial", &is_initial,
400dab
                       "session-type", &display_session_type,
400dab
                       NULL);
400dab
 
400dab
         g_object_set (G_OBJECT (session),
400dab
-                      "display-is-initial", is_initial,
400dab
+                      "display-is-initial", FALSE,
400dab
                       NULL);
400dab
 
400dab
         g_debug ("GdmManager: Starting automatic login conversation");
400dab
         gdm_session_start_conversation (session, "gdm-autologin");
400dab
 }
400dab
 
400dab
 static void
400dab
 set_up_chooser_session (GdmManager *manager,
400dab
                         GdmDisplay *display)
400dab
 {
400dab
         const char *allowed_user;
400dab
         struct passwd *passwd_entry;
400dab
 
400dab
         allowed_user = get_username_for_greeter_display (manager, display);
400dab
 
400dab
         if (!gdm_get_pwent_for_name (allowed_user, &passwd_entry)) {
400dab
                 g_warning ("GdmManager: couldn't look up username %s",
400dab
                            allowed_user);
400dab
                 gdm_display_unmanage (display);
400dab
                 gdm_display_finish (display);
400dab
                 return;
400dab
         }
400dab
 
400dab
         gdm_display_start_greeter_session (display);
400dab
 }
400dab
 
400dab
 static void
400dab
 set_up_greeter_session (GdmManager *manager,
400dab
                         GdmDisplay *display)
400dab
 {
400dab
-- 
400dab
2.27.0
400dab