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

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