FS#30192 - [gnome] Locale in GNOME defaults to C with systemd
Attached to Project:
Arch Linux
Opened by Lukas B (teateawhy) - Friday, 08 June 2012, 17:27 GMT
Last edited by Dave Reisner (falconindy) - Sunday, 10 June 2012, 23:43 GMT
Opened by Lukas B (teateawhy) - Friday, 08 June 2012, 17:27 GMT
Last edited by Dave Reisner (falconindy) - Sunday, 10 June 2012, 23:43 GMT
|
Details
Description:
When moving from sysvinit to systemd, the locale in GNOME is not set correctly. In my example locale is de_DE. It is also happening with: de_AT Reason: The file /var/lib/AccountsService/users/[username] should contain: [User] Language=de_DE.UTF-8 Instead it contains: [User] Language=de_DE.utf8 Additional info: package versions: systemd 185-1 gnome-shell 3.4.1-3 Steps to reproduce: Install GNOME and systemd. Set your locale to something differing from C. The UI elements will be in C locale, ignoring your settings. Not reproducible with standard sysvinit, therefore filed against systemd. Solved by writing the correct value [].UTF-8 Also see forum posts: https://bbs.archlinux.org/viewtopic.php?id=139396 https://bbs.archlinux.de/viewtopic.php?id=21368 |
This task depends upon
Closed by Dave Reisner (falconindy)
Sunday, 10 June 2012, 23:43 GMT
Reason for closing: Upstream
Additional comments about closing: Working as intended. pam_systemd doesn't currently add locale settings to user sessions. /etc/profile.d/locale.sh from initscripts or systemd-sysvcompat is required.
Sunday, 10 June 2012, 23:43 GMT
Reason for closing: Upstream
Additional comments about closing: Working as intended. pam_systemd doesn't currently add locale settings to user sessions. /etc/profile.d/locale.sh from initscripts or systemd-sysvcompat is required.
Writing the new value ..UTF.. to /var/lib/AccountsService/users/[username]
Does not solve the problem, the locale is still set to english.
Now to your questions:
1. systemctl list-units does not list systemd-localed.service anywhere.
2. Not sure who is Hooch.I am posting as teateawhy everywhere.
3. /etc/locale.conf
LANG=de_DE.UTF-8
LC_MESSAGES=C
I have been looking for systemd-localed.service in /usr/lib/systemd/system,
and it isn't there.
Some additional info:
In locale.gen i have uncommented the following entries:
...
de_DE.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-1
...
en_GB.UTF-8 UTF-8
en_GB ISO-8859-1
Hope this helps.
http://sprunge.us/ASbP
systemctl enable systemd-localed.service
Warning: unit files do not carry install information. No operation executed.
In my case I added:
LANG = pt_BR.utf8
To / etc / environment
I think you original analysis of this program is only the symptom, and it probably warrants an upstream bug report. Some light testing reveals that de_DE.utf8 is entirely valid as a locale. If a program isn't respecting this, it's wrong.
/etc/locale.conf, as per upstream, does not currently affect user sessions. You're meant to use a file like /etc/profile.d/locale.sh which sets your locale on login. Does this file not exist for you?