Bug#471509: gdm: inherits locale from whatever shell it was (re)started from

Lionel Elie Mamane lionel at mamane.lu
Tue Mar 18 16:08:00 UTC 2008


Package: gdm
Version: 2.20.3-1
Severity: normal

In the following situation:

 - No /etc/default/locale file, or one that does not set any locale
   information, or does not touch e.g. LC_MESSAGES.

 - A user with sudo rights (or the root user) has different locale
   settings than what /etc/default/locale says.

Then, if that user (re)starts gdm, the gdm he starts will run under
different locale settings than the one started automatically at system
startup. This is madness, and will give sysadmins (and users) grey
hair and hard to understand inconsistent behaviour. In particular, if
LC_MESSAGES is set in the starting shell, but /etc/default/languages
doesn't set LANG, then gdm will take the value of LC_MESSAGES for
sytem-wide default language.

I therefore suggest that in /etc/init.d/gdm,

if [ -r /etc/default/locale ]; then
  . /etc/default/locale
  export LANG LANGUAGE
fi

be replaced by:

for e in $(set|egrep '^(LC_.*|LANG|LANGUAGE)='|sed 's/=.*//'); do
  unset $e
done

if [ -r /etc/default/locale ]; then
  . /etc/default/locale
  export LANG LANGUAGE
fi

-- 
Lionel





More information about the pkg-gnome-maintainers mailing list