Description of problem: A few weeks ago, I switched my system localization from English to French. Yesterday I wanted to switch it back to English. I have a system with both Gnome and XFCE installed with XFCE being my currently most used desktop and I was trying to figure out how to change it back. Using the Mageia tool in MCC had no effect. I kept login back in to find the system remained in french (although the terminal was switched to English). After tampering all day long, I logged in to Gnome, and changed the localization using the Gnome tool. Unexpectedly, I logged back in to XFCE to find it now in English. I feel this is a bug as the behavior is unexpected. Either the localization of the system should be completely controlled by the settings in MCC (as in a centralized setting), or each desktop environment should have it's own localization setting (either using the gnome localization tool for Gnome, or some type of script setting the LANG variable for XFCE). As it is right now, it's not obvious on how to change localization in XFCE when Gnome imposes it's own settings. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Reproducible: Steps to Reproduce:
Which DM are you using?
CC: (none) => jani.valimaa
The bug describes that Philippe uses xfce4
(In reply to Dick Gevers from comment #2) > The bug describes that Philippe uses xfce4 DM as display manager, not DE as desktop environment.
I'm using GDM as my desktop manager.
the DM can set a locale which will then have priority over system/user one. In the DM you have to select "system default" as the locale so the DM doesn"t define anything and allows the user session to define it. It's a DM feature to allow "one shot" language changes. Maybe the DM should be patched so that it is actually one shot; that is, don't make that choice persistent ever (always default to "system default"); with maybe a pop up at login time telling if DM-choosen and drakconf-choosen locales differ, if drakconf should synchronize or not. The same thing occurs at DE (desktop environment) level; where gnome/kde can define languages, that could be inconsistent with system (drakconf) one. The same is true for keyboard layouts. IMHO this should be handled with a dbus service; so all possible levels (display manager, desktop environment, distribution tools, boot time options) request and tell the dbus service about it, and so all can be in sync (well, for boot time option it would be a one way communication). Does such a service already exists? If not, it would be a good proposal. it should provide locale (with all the LC_*, LANG, LANGUAGE variables) and keyboard (both X11 and console?). And that should be provided for, in that inverse priority order: * system * seat * user * seat/user * seat/user/session - system would be the default if nothing other defined; this is the current /etc/sysconfig/i18n - seat (aka: indepenndent "screen+input") will allow kind of "system default" but specific to a given seat; currently doesn"t have any equivalence - user is user default preferences; current $HOME/.i18n - seat/user would allow a user preference specific to a given seat - seat/user/session, aka just "session", would allow a one-shot overrriding of the values for the current session only; it should be forgotten at logout - DM managers should allow to define seat/user and seat/user/session parameters only (currently they do it at user level, which is imho wrong). - DE tools should allow to define user, seat/user and seat/user/session parameters - distrib tools should allow to define all level (needs admin access for system and seat ones) - boot time options should be able to define system level all tools should request the dbus service for currently defined values. of course, for the boot time case, it is the boot manager configuration tool that would request the dbus service for default value, while the boot time option would, after boot and trough systemd, tell the dbus service about the boot time forced value for system level.
CC: (none) => pablo
Thank you Pablo for your detailed answer. I was unaware of the complexity in system localization. What I don't understand is why does the Gnome localization settings take effect in XFCE. To my knowledge, the DM level localization remained to the default English. While trying to figure out how to change localization with XFCE, I went into gnome to try to at least change gnome's localization. When I later logged back in XFCE and I found it to be in French, I initially didn't realize that it was the Gnome settings that made it happen. It's only when I tried changing XFCE back to English a few weeks later that I eventually accomplished it by going into gnome. Maybe this bug is not really a bug, but more an enhancement to functionality? The way I see it, we should have a two level localization system. The first level would be a global setting that would change the system localization of every aspect of the operating system. Maybe this setting change can be accomplished through Mageia's tool in MCC to set localization globally. The second level would allow to set localization on a per user per desktop level and this level would override the system default set by level one. So if the second level localization isn't specified, the user will fall back to level one defaults when logging in to his/her desktop choice. But if the user's main language is different from the level 1 default, he can user level 2 to change it just for himself. I'm just throwing ideas out there so I don't know if this would make sense/is feasible/or flat out impossible. I agree with you that a consistent way to change localization globally would definitely nice and much more logical. How to accomplish this is beyond me but based on what you say is required to achieve that, it seems this would require some pretty extensive modifications. Maybe this is not something that could easily fixed, but maybe something that should become an enhancement to the next version?
Probably XFCE and Gnome use a same desktop-level (maybe defined by freedesktop.org) configuration for the language. It would make sense, XFCE started as a lightweight alternative to Gnome. There is already a system-level and user-level configuration tool (localedrake); the problem is the display manager and desktop environments will happily overwrte it. It is indeed an enhancement request (changed to that). And probably it is best discuted trough freedesktop.org (then, if a consensus is reached, it will spread trough all major desktop environments, display managers and distros; and life will be nice) Good news is that current trend to use dbus (= real time awareness of changes) it will make it possible to implement a correct solution.
Priority: Normal => LowSeverity: normal => enhancement
Blocks: (none) => 11674
CC: (none) => ennael1Blocks: 11674 => (none)
CC: (none) => doktor5000
(In reply to Pablo Saratxaga from comment #5) > Does such a service already exists? If not, it would be a good proposal. > it should provide locale (with all the LC_*, LANG, LANGUAGE variables) and > keyboard (both X11 and console?). Something similar has been introduced via systemd's localectl. But the complexity you described might be a little over-engineered and only wishful thinking IMHO, as that would have to be implemented upstream - for various values of upstream, as the kernel and console/terminal has to respect it, all the login managers and also X applications and more ...
I'm gonna go ahead and close this bug. It's not so much a bug as a feature enhancement requiring most likely too many resources to design and implement.
Not a bug
Status: NEW => RESOLVEDResolution: (none) => INVALID