GNOME Bugzilla – Bug 649413
System default locale is ignored
Last modified: 2011-06-14 00:35:16 UTC
Created attachment 187242 [details] [review] Only set GDM_LANG, not LANG When logging in without a default locale configured, the system default (in Debian, set by a pam_env entry) is ignored. This is because LANG is set in setup_session_environment, overriding anything that could have been set by PAM even when the result is empty. The patch removes the LANG setting; GDM_LANG is enough, since the Xsession script will set LANG based on it.
Is this problem gone now that http://git.gnome.org/browse/gdm/commit/?id=35f9ce03c26a42856e9246c5995334c09e88ff86 has landed?
I haven’t checked all changes between 2.30 and 3.0, but I would suspect the problem is *here* now that this commit has landed :) (I wanted to specify 3.0 as version but it doesn’t appear in the list.)
ah maybe we should revert the commit then? We landed it because it fixed a FIXME but not because it fixed a real problem.
I’m not sure the patch is wrong, but from what I understand variables now always override values set by PAM modules. Other possible fixes would be to either: - always set LANG (at least to the value the greeter has) instead of leaving it empty when accountsservice returns no language set; - simply not set LANG if it’s empty (but not setting it works too since we already have this logic in Xsession).
(In reply to comment #4) > I’m not sure the patch is wrong, but from what I understand variables now > always override values set by PAM modules. well it sounds like it's more like variables "underride" values set by PAM. We set LANG in the pam environment before pam_env runs, so that pam module chooses not to override it. You could fix this by using OVERRIDE in the pam_env config, but we probably should get the behavior right in GDM. > Other possible fixes would be to either: > - simply not set LANG if it’s empty (but not setting it works too since we > already have this logic in Xsession). Yea, so if you look at get_welcome_environment that's exactly what we. We should copy that logic into setup_session_environment, I guess.
Created attachment 189861 [details] [review] daemon: don't set LANG to empty value This makes PAM not set it to a proper value later.