Language selector fails to set language and regional formats on user level (Precise)

Bug #993818 reported by dreamon
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
language-selector (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Just upgraded to Ubuntu 12.04 Precise Pangolin (64 bit) last weekend and noticed that changing the display language and regional formats via language selector does not have any effect unless changes are applied system-wide.

Steps to reproduce:
1. On a clean Precise install, navigate to System Settings -> Language support
2. Select desired display language (e.g. German) by moving it to the top of the list; select desired regional format setting (e.g. German/Germany) from the "Regional Formats" tab
3. Log out and back in, open a terminal and run "locale"

Expected result:
Display language and regional formats are set according to user's choice -- i.e. here German and German/Germany. Terminal shows that all locale variables are set to "de" and "de_DE" respectively.

What happened instead:
The display language remains set to (American) English and terminal reports that locale variables remain set to "en" and "en_US". The system does not honour the settings applied through language-selector.

Workaround:
Clicking "Apply system-wide" on both the "Language" and the "Regional Formats" tabs on language-selector will change the language for the whole system. This will also apply the respective language settings on the user level. In my case this is no problem, as I am the only one using this system. But this is certainly not a solution for multi-user setups.

System information:
OS: Ubuntu 12.04 LTS (Precise Pangolin), 64 bit
Language selector version: 0.79
Hardware: ThinkPad Edge 13, Intel i5 CPU

dreamon (dreamon)
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in language-selector (Ubuntu):
status: New → Confirmed
Revision history for this message
Reşat SABIQ (tilde-birlik) wrote :

This bug cost me a lot of time. After last year's Turkish/Turkic-specific issues, it is quite frustrating to suffer from this generic one this year.

FWIW, the issue might not be in language-selector per se:
+:
1) .pam_environment is updated after making the non-system-wide change in language-selector (so if that's supposed to be sufficient, then the bug is elsewhere)
-:
1) .profile isn't updated by updated after making the non-system-wide change in language-selector (e.g., if it's supposed to be, then this is a language-selector bug)
2) as of now, desktop environment appears to only respect /etc/default/locale and/or /etc/environment

Despite the fact that single-user machines have a work-around, this bug should be given an escalated Importance, because it's likely to waste people's time if they aren't using a multi-user machine.

Revision history for this message
Steve Langasek (vorlon) wrote :

> 1) .pam_environment is updated after making the non-system-wide
> change in language-selector (so if that's supposed to be sufficient,
> then the bug is elsewhere)

Yes, this is supposed to be sufficient, so the bug is elsewhere.

The question is where. After making this change, I assume you're logging out and logging back in to test the change. Are you doing this with Ubuntu Desktop, or with one of the other flavors (such as Kubuntu or Lubuntu)? I can't reproduce the problem with a login using the standard Ubuntu lightdm login manager; lightdm appears to be correctly reading the settings from ~/.pam_environment.

Changed in language-selector (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Reşat SABIQ (tilde-birlik) wrote :

> After making this change, I assume you're logging out and logging back in to test the change.
I did that, plus rebooting: the bug is present either way.
> Are you doing this with Ubuntu Desktop, or with one of the other flavors (such as Kubuntu or Lubuntu)?
I'm using Ubuntu Desktop.
> I can't reproduce the problem with a login using the standard Ubuntu lightdm login manager; lightdm appears to be correctly reading the settings from ~/.pam_environment.
I'm using the default login/desktop manager, and the issue exists on my box, consistently with the original poster.

Changed in language-selector (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
dreamon (dreamon) wrote :

Thank you for looking into this, Steve. My experience is the same as Resat's, though. Changing the language settings in language selector and logging off and on again (or rebooting) does not affect the desktop language in any way on the standard Ubuntu Desktop version. I have set up Ubuntu on a number of different systems, including virtual machines, and have consistently encountered this problem, always using a fresh image from ubuntu.com, typically completely formatting the hard drive and fully updating the system before running any tests.

May I ask if you updated Ubuntu from a previous version (and if so, which one?), or if you formatted your hdd before installing Precise Pangolin?

Revision history for this message
David M (theexternvoid) wrote :

Looks like this is a dupe of 584249. There's a workaround in that one that worked for me:

session required pam_env.so

Add that line at the end of /etc/pam.d/common-session is supposed to force it to read the ~/.pam_environment after an encrypted $HOME is mounted. Maybe that's all Ubuntu needs to do in its distro to fix this bug? Not sure what any side effects might be, but so far everything is working awesome for me with that fix.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.