Bug 957038

Summary: LightDM locale setting doesn't work until restart
Product: [openSUSE] openSUSE Distribution Reporter: S. B. <sb56637>
Component: BasesystemAssignee: Forgotten User Wum0mkMcd8 <forgotten_Wum0mkMcd8>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: forgotten_cAXlJ_FoSf, ke, systemd-maintainers
Version: Leap 42.1   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description S. B. 2015-11-28 19:35:15 UTC
Hi, 

I use en_US.utf8 and es_ES.utf8 locales on the same system. LightDM has a locale selector, but the selected locale does not take effect until after a system reboot. 

For example, I log in the first time with en_US, log out, and for the same user I select "Spanish (Spain)" in LightDM. However upon logging in, the interface is still in English, and the environment variable LANG=en_US.utf8 is still set. Then if I reboot and log in, the interface will finally be in Spanish. However, if I log out and change it back to en_US, the interface will remain in Spanish until the next reboot.

I also tried switching between different user accounts, and I also tried killing the X server with Ctrl+Alt+Bksp, but it makes no difference.

I tried both the official Leap version as well as the X11:Utilities repo versions of lightdm and lightdm-gtk-greeter, but the bug remains.
Comment 1 Karl Eichwalder 2015-11-30 09:04:14 UTC
Is this part of lxde?  If not, please reassign.
Comment 2 S. B. 2015-11-30 13:56:23 UTC
No, it's not part of LXDE. I originally assigned this bug to the Translation team, but that probably wasn't right either. Assigning it now to "Basesystem" since it's a low-level problem with environment variables. Feel free to move it elsewhere if there's another more appropriate contact.
Comment 3 Bernhard Wiedemann 2015-11-30 19:46:55 UTC
can you check the output of 
localectl
after such a change?
Comment 4 S. B. 2015-11-30 19:58:31 UTC
Sure, after booting the computer with es_ES.utf8 selected by default, I switched it to en_US.utf8 and logged in (to XFCE), but the interface was still in Spanish and the LANG variable was still set to es_ES.utf8. the localectl says:

System Locale: LANG=POSIX
                  LC_CTYPE=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us
Comment 7 Stefan Dirsch 2015-12-07 12:23:39 UTC
lightdm is a display manager. I can't say what it exactly does or does not. Apparently it doesn't change the locale for the logged in user and his desktop, but changes the system locale setting instead. For me this looks wrong. Please reassign to maintainer of lightdm.
Comment 8 Egbert Eich 2015-12-07 12:36:51 UTC
The X.Org team is the wrong team to assign this to. Since this project has  
no dedicated maintainer and no bug owner there is nobody feeling responsible 
for it.

Drop request filed.
https://build.opensuse.org/request/show/347771