Я использую Ubuntu 12.04, и после автоматического обновления он изменил системную стандартную форму кодировки UTF-8 на «ANSI_X3.4-1968». Я понял, что когда мои комментарии к коду в Eclipse появились со странными символами и после того, как я понял, что среда IDE невиновна, я открыл терминал для проверки. Когда я набираю латинские символы в окне терминала, например, çãõéèê
..., вместо этого отображается знак вопроса. То же самое, когда я cat
текстовый файл. Изменение настроек локали Ubuntu с помощью графического интерфейса приводит к сбою демона account:
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
Затем я изменил save-to-pam-env
, добавив строку отладки, и выполнил lang-selector
в терминале:
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
Итак, запустив эту команду вручную:
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
Все выглядит нормально, но перезапуск ПК и вход в систему остаются прежними. По CLI я вижу, что локали установлены правильно:
gag@desktop~> locale -a | grep pt
pt_BR.utf8
pt_PT.utf8
gag@desktop~> locale -m | grep UTF
UTF-8
Я также пробовал:
sudo apt-get install language-pack-pt language-pack-pt-base
sudo apt-get install --reinstall locales
Без эффекта. Когда я вхожу с другой учетной записи, кодировка в порядке. Идеи?
У меня была та же проблема после обновления моей системы (xubuntu 12.04, с помощью аналогично открытый): у Меня не было проблем, если бы я вошел в систему со своей системной учетной записью, но если бы я вошел в систему с AD учетной записью, то я не мог бы установить настройки локали работать (моя настройка по умолчанию является it_IT, но так или иначе это было изменено на en_US).
я попробовал те же команды, о которых Вы сообщаете без успеха, но наконец изменение моего менеджера по оформлению делает его.
я предположил, что это была проблема с lightdm, таким образом, я пытался переключиться на другой (тонкий) DM:
sudo dpkg-reconfigure slim
и после перезагрузки я нашел, что система была установлена с правильным языком.
я решил переключиться назад на lightdm, потому что у меня были проблемы с разрешением моего экрана и после выполнения
sudo dpkg-reconfigure lightdm
и перезагрузка, все было прекрасно.
, Возможно, могло быть правильно только выполнить реконфигурирование lightdm.