Mailinglist Archive: opensuse-bugs (14451 mails)

< Previous Next >
[Bug 440371] New: XIM script overwrites LANG variable incorrectly
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Thu, 30 Oct 2008 14:38:08 -0600 (MDT)
  • Message-id: <bug-440371-21960@xxxxxxxxxxxxxxxxxxxxxxxxx/>
https://bugzilla.novell.com/show_bug.cgi?id=440371


Summary: XIM script overwrites LANG variable incorrectly
Product: openSUSE 11.1
Version: Beta 3
Platform: Other
OS/Version: Other
Status: NEW
Severity: Major
Priority: P5 - None
Component: Basesystem
AssignedTo: mfabian@xxxxxxxxxx
ReportedBy: jpr@xxxxxxxxxx
QAContact: qa@xxxxxxx
CC: mmeeks@xxxxxxxxxx, werner@xxxxxxxxxx, hpj@xxxxxxxxxx
Found By: ---


gdm (and xdm/kdm) executes /etc/X11/xdm/Xsession, which executes/sources
/etc/X11/xinit/xinitrc.common which executes/sources /etc/X11/xim. Xsession
sets LANG based on the second parameter passed to it (which may not be the
default set in /etc/sysconfig/language).

The xim script executes a function called adduserenv to fix bug 235044, however
exec -l -a ${SHELL##*/} $SHELL -c printenv dumps the environment of a login
shell, which will use the default language set in /etc/sysconfig/language
because of /etc/profile.d/lang.sh unless a user has explicitly set LANG in
~/.profile. Hence LANG will be reset to the default language every time - the
goal however was too only reset if ~/.profile explicitly set to override.

Overall this approach is broken though, because if a user *explicitly* set a
different language in the gdm login screen, I don't think even ~/.profile
should over ride a more immediate choice. Please make adduserenv only handle
INPUT method if anything at all

The gnome session itself used to work around this by finding GDM_LANG and
setting LANG again, but it no longer has this work around upstream.

I have straces if need be with debug echo's, but hopefully the above explains
it.


--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

< Previous Next >