Hide Forgot
Description of problem: /etc/sysconfig/i18n variables do not get set properly in X sessions. Version-Release number of selected component (if applicable): How reproducible: Everytime Steps to Reproduce: 1.Set LC_COLLATE in /etc/sysconfig/i18n (but nowhere else) 2.Login to an X screen. 3. Execute echo $LC_COLLATE. Actual results: LC_COLLATE is not set to the i18n value Expected results: It should be set to the i18n value. Additional info: The /etc/profile.d/lang.sh script used to contain this: sourced=0 for langfile in /etc/sysconfig/i18n $HOME/.i18n ; do [ -f $langfile ] && . $langfile && sourced=1 done but has been changed to sourced=0 if [ -n "$LANG" ]; then saved_lang="$LANG" [ -f "$HOME/.i18n" ] && . "$HOME/.i18n" && sourced=1 LANG="$saved_lang" unset saved_lang else for langfile in /etc/sysconfig/i18n "$HOME/.i18n" ; do [ -f $langfile ] && . $langfile && sourced=1 done fi I believe GDM defaults LANG to "en_US", so the true part of the "if" executes which never checks for /etc/sysconfig/i18n so /etc/sysconfig/i18n never executes. I believe there is also a second bug in how this works. If GDM is setting the default LANG to "en_us" and a user overrides that with a setting in ~/.i18n, shouldn't the users setting for LANG be the one in effect. But with the revised "lang.sh" the user's setting is overwritten by the previous setting.
The language setting from GDM comes from the user choice, so it should take precedence over the stored setting. Why would you want to only set one setting and leave the others changeable?
Since RHEL 6.2 External Beta has begun, and this bug remains unresolved, it has been rejected as it is not proposed as exception or blocker. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux.