Das Ändern der Ubuntu-Ländereinstellungen über die GUI führt zum Absturz des Account-Daemons

1429
gabriel_agm

Ich bin Ubuntu 12.04 und habe nach einem automatischen Update die Standard-Kodierungsform UTF-8 in "ANSI_X3.4-1968" geändert. Mir wurde klar, dass ich, als meine Code-Kommentare in Eclipse mit seltsamen Zeichen erschienen, und nachdem die Unschuld der IDE erkannt wurde, ein Terminal zur Überprüfung geöffnet hat. Wenn ich in einem Terminalfenster lateinische Zeichen eingebe, wie z. B. çãõéèê ..., wird stattdessen ein Fragezeichen angezeigt. Das Gleiche ist, ich "Katze" eine Textdatei. Das Ändern des Ubuntu-Gebietsschemas über die GUI stürzt den Konten-Daemon ab:

ExecutablePath: /usr/bin/gnome-language-selector ProcCmdline: /usr/bin/python /usr/bin/gnome-language-selector ... File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking message, timeout) DBusException: org.freedesktop.Accounts.Error.Failed: running '/usr/share/language-tools/save-to-pam-env' failed: no output 

Ich habe dann das save-to-pam-env durch Hinzufügen einer Debug-Zeile geändert und den lang-selector in einem Terminal ausgeführt:

gag@desktop~> /usr/bin/python /usr/bin/gnome-language-selector (gnome-language-selector:17733): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale. locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_COLLATE to default locale: No such file or directory perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "pt_BR" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). ...same message a dozen times... locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_COLLATE to default locale: No such file or directory /usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py:858: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal self._localeinfo.translate(loc, native=True) == defaultLangName): //the line below is my debug 'print' exec: /usr/share/language-tools/save-to-pam-env /home/likewise-open/CERTI/gag pt_BR.UTF-8  

Führen Sie diesen Befehl also von Hand aus:

gag@desktop~> /usr/share/language-tools/save-to-pam-env /home/likewise-open/CERTI/gag pt_BR.UTF-8 pt_BR.UTF-8 gag@ccd-7840~> locale LANG= LANGUAGE= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= gag@desktop~> cat .pam_environment  LANGUAGE=en LANG=en_US.UTF-8 LC_NUMERIC=pt_BR.UTF-8 LC_TIME=pt_BR.UTF-8 LC_MONETARY=pt_BR.UTF-8 LC_PAPER=pt_BR.UTF-8 LC_NAME=pt_BR.UTF-8 LC_ADDRESS=pt_BR.UTF-8 LC_TELEPHONE=pt_BR.UTF-8 LC_MEASUREMENT=pt_BR.UTF-8 LC_IDENTIFICATION=pt_BR.UTF-8 

Es scheint alles in Ordnung zu sein, aber beim Neustarten des PCs und beim Zurück-Anmelden sind die Dinge immer noch gleich. Mit der CLI kann ich sehen, dass die Locales richtig installiert sind:

gag@desktop~> locale -a | grep pt pt_BR.utf8 pt_PT.utf8 gag@desktop~> locale -m | grep UTF UTF-8 

Ich habe auch versucht:

sudo apt-get install language-pack-pt language-pack-pt-base sudo apt-get install --reinstall locales 

Ohne Wirkung. Wenn ich mich mit einem anderen Konto anmelde, ist die Verschlüsselung in Ordnung. Ideen?

1

1 Antwort auf die Frage

0
gabriel_agm

Es stellt sich heraus, dass meine "~ / .pam_environment" -Konfiguration überhaupt nicht gelesen wird. Ich habe dann eine Problemumgehung gemacht, indem ich diese in meiner ~ / .profile-Datei eingestellt habe:

export LC_COLLATE="C" export LANG="en_US.UTF-8" export LC_ALL="pt_BR.UTF-8" 

Die Verwendung von LC_ALL wird jedoch im Man-Eintrag "locale" nicht empfohlen.

Der einzige Grund, warum ich feststellen konnte, dass googli'n für .pam_environment ignoriert wird, ist das Home-Verzeichnis. encription usyng ecryptfs - und das ist nicht mein Fall.

Wie auch immer, es funktioniert, also lass es sein.