Index: lightdm-1.17.4/src/session-child.c =================================================================== --- lightdm-1.17.4.orig/src/session-child.c +++ lightdm-1.17.4/src/session-child.c @@ -387,6 +389,17 @@ session_child_run (int argc, char **argv { const gchar *new_username; + /* Set proper environment for PAM. Allow PAM user info messages to be localized */ + for (i = 0; locale_var_names[i] != NULL; i++) + { + if ((locale_value = g_getenv (locale_var_names[i])) != NULL) + { + locale_var = g_strdup_printf ("%s=%s", locale_var_names[i], locale_value); + pam_putenv (pam_handle, locale_var); + g_free (locale_var); + } + } + authentication_result = pam_authenticate (pam_handle, 0); /* See what user we ended up as */ @@ -457,17 +470,6 @@ session_child_run (int argc, char **argv pam_putenv (pam_handle, g_strdup_printf ("LOGNAME=%s", username)); pam_putenv (pam_handle, g_strdup_printf ("HOME=%s", user_get_home_directory (user))); pam_putenv (pam_handle, g_strdup_printf ("SHELL=%s", user_get_shell (user))); - - /* Let the greeter and user session inherit the system default locale */ - for (i = 0; locale_var_names[i] != NULL; i++) - { - if ((locale_value = g_getenv (locale_var_names[i])) != NULL) - { - locale_var = g_strdup_printf ("%s=%s", locale_var_names[i], locale_value); - pam_putenv (pam_handle, locale_var); - g_free (locale_var); - } - } } }