summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2022-04-07 12:44:10 -0400
committerRay Strode <rstrode@redhat.com>2022-04-07 12:46:53 -0400
commitcf4664891ede9648d096569900e8b95abd91a633 (patch)
tree53a79664a5c4a8e1dd4e1a143ceee14d24840c85 /daemon
parent4a52f026dc0b218a2ca33fa32853c71a0f88a2b4 (diff)
downloadgdm-cf4664891ede9648d096569900e8b95abd91a633.tar.gz
session-settings: Explicitly cache remote users
Right now a user's cache file won't get written out if they are logging in with entirely default settings. This means remote users have to type in their usernames manually until they change their session. This commit explicitly caches remote users. Closes: https://gitlab.gnome.org/GNOME/gdm/-/issues/743
Diffstat (limited to 'daemon')
-rw-r--r--daemon/gdm-session-settings.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/daemon/gdm-session-settings.c b/daemon/gdm-session-settings.c
index 5b64cb65..ef5d72e7 100644
--- a/daemon/gdm-session-settings.c
+++ b/daemon/gdm-session-settings.c
@@ -406,6 +406,19 @@ gdm_session_settings_save (GdmSessionSettings *settings,
if (settings->priv->language_name != NULL) {
act_user_set_language (user, settings->priv->language_name);
}
+
+ if (!act_user_is_local_account (user)) {
+ g_autoptr (GError) error = NULL;
+
+ act_user_manager_cache_user (settings->priv->user_manager, username, &error);
+
+ if (error != NULL) {
+ g_debug ("GdmSessionSettings: Could not locally cache remote user: %s", error->message);
+ g_object_unref (user);
+ return FALSE;
+ }
+
+ }
g_object_unref (user);
return TRUE;