Thanks for taking the time to report this issue!
This is the code in accountsservice (user_change_language_authorized_cb() in
src/user.c):
gchar *profile_path = g_build_path ("/", user->home_dir, ".profile",
NULL);
if (!g_file_test (profile_path, G_FILE_TEST_IS_REGULAR)) {
/* SetLanguage was probably called from a login greeter,
and HOME not mounted and/or not decrypted.
Hence don't save anything, or else accountsservice
and ~/.pam_environment would become out of sync. */
throw_error (context, ERROR_FAILED, "not access to HOME yet so
language not saved");
goto out2;
}
As you can see, the purpose of the test whether ~/.profile exists is to
find out whether HOME is available (please note that /etc/skel includes
the file .profile, at least in the latest Ubuntu releases). If there is
a safer way to test for the availability of HOME, please let me know,
and I'll be happy to submit a suitable merge proposal.
** Changed in: accountsservice (Ubuntu)
Status: Triaged => In Progress
** Changed in: accountsservice (Ubuntu)
Assignee: (unassigned) => Gunnar Hjalmarsson (gunnarhj)
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to accountsservice in Ubuntu.
https://bugs.launchpad.net/bugs/1018621
Title:
"Language for menus and windows" is not saved if .profile is missing
Status in “accountsservice” package in Ubuntu:
In Progress
Bug description:
I had problems with changing language from english (to danish). It's
not being applied, even after re-login/reboot.
1) Open gnome-language-selector
2) Install wanted language (if not already installed, in my case Danish)
3) Drag the wanted language to top of list (above english)
4) Push close
5) Logout/login
6) Menus and windows are still english (e.g. gnome-panel, firefox menus).
7) Re-open gnome-language-selector > Changes not applied (english on top as
original).
Even tried reboot under 5), still didn't work.
The problem can also be reproduced just by reopening gnome-language-
selector just after closing it, and verify changes are not applied,
i.e. 1)+3)+4) + 7).
# Here's the root cause:
In step 3) when "slipping" the dragged language, following message occurs:
===============================================
Traceback (most recent call last):
File
"/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py",
line 62, in wrapper
res = f(*args, **kwargs)
File
"/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py",
line 1047, in on_treeview_locales_drag_end
self.writeUserLanguage(envLanguage)
File
"/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py",
line 800, in writeUserLanguage
self.writeUserLanguageSetting(userLanguage=languageString)
File
"/usr/lib/python2.7/dist-packages/LanguageSelector/LanguageSelector.py", line
83, in writeUserLanguageSetting
iface.SetLanguage(userLanguage)
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in
__call__
return self._proxy_method(*args, **keywords)
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in
__call__
**keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in
call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.Accounts.Error.Failed: not
access to HOME yet so language not saved
===============================================
The last line " not access to HOME yet so language not saved" made me
investigate conf files in my homedir. I noticed that ~/.profile did not exist
(my system has been upgraded many times and home conf files have long history).
This fixed the problem:
$ echo "" > ~/.profile
No errors at all, configuration stored on reopen, and re-login applies
language change to menus.
However, nothing seems to be written to .profile, neither before/after
re-login! It's still empty!
If I remove ~/.profile the bug re-appears completely. I.e.
bug appears if and only if ~.profile is missing.
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: language-selector-gnome 0.79
ProcVersionSignature: Ubuntu 3.2.0-26.41-generic 3.2.19
Uname: Linux 3.2.0-26-generic i686
ApportVersion: 2.0.1-0ubuntu10
Architecture: i386
CheckboxSubmission: 7a947f7b03ad4cd4dfd27d0dc7c36d60
CheckboxSystem: daed2f3d6643b4a84b4520a2427f8c2b
Date: Wed Jun 27 23:22:50 2012
ExecutablePath: /usr/bin/gnome-language-selector
InterpreterPath: /usr/bin/python2.7
PackageArchitecture: all
SourcePackage: language-selector
UpgradeStatus: Upgraded to precise on 2012-06-17 (10 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/accountsservice/+bug/1018621/+subscriptions
--
Mailing list: https://launchpad.net/~desktop-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help : https://help.launchpad.net/ListHelp