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

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