On Tue, Sep 27, 2005 at 06:56:10PM +0300, Eddy Petri?or wrote: > Hello, > > I have seen for quite a while that my laptop does not display the GDM > inteface in a localized manner. (...) > - /etc/init.d/gdm restart : gdm respawns in Romanian Yes, because your language is set to Romanian and the LANG environment variable is inherited. > I suspect that the scripts in rcS.d are started too late, but I can't > put my finger on the source of the problem. No, it's just that the rcS.d scripts do not source /etc/environment but source /etc/default/gdm instead. Just add a LANG definition in that file and you are done. > I wanted to know before I filll a bug: > - does anybody else experiences this behaviour? > - any idea about should be bugged X.org/initscripts? Actually gdm should be bugged, and already is see #265101. As far as I'm concerned, it should source /etc/environment (that's where the installation system will drop the default system locale for logins) but the maintainer is against it (see #265101 or a previous, closed, bug #133578 or, even, http://lists.debian.org/debian-glibc/2004/debian-glibc-200401/msg00278.html). The attached (trivial) patch should implement this, so feel free to use it in the systems you need to support. Regards Javier PS: The bottom line is that we need consensus on how the language should be set system-wide, some are against using /etc/environment as they say it's PAM specific but other distributions (like Red Hat) use a global configuration file for all the localisation in the system, including initscripts.
--- gdm.orig 2005-09-27 21:14:08.000000000 +0200 +++ gdm 2005-09-27 21:22:44.000000000 +0200 @@ -32,11 +32,15 @@ if [ -r /etc/default/gdm ]; then . /etc/default/gdm if [ -z "$LANG" ]; then + LANG=`grep ^LANG= /etc/environment | tail -1 | sed -e 's/.*=//'` + if [ -z "$LANG" ]; then : - else - export LANG + fi fi fi +if [ -n "$LANG" ] + export LANG +fi case "$1" in start)
Attachment:
signature.asc
Description: Digital signature