Настройки локали неверны. Как я могу их сбросить?

У меня проблема с локализацией.
Последовательность сопоставления в nautilus и другие программы изменились.
Я получаю ошибки локали, появляющиеся в терминале, когда я запускаю приложение с графическим интерфейсом..

    Gtk-WARNING **: Locale not supported by C library.        Using the fallback 'C' locale.

То locale команда выдает сообщения об ошибках

    locale: Cannot set LC_CTYPE to default locale: No such file or directory    locale: Cannot set LC_ALL to default locale: No such file or directory    LANG=en_AU    LANGUAGE=en_AU:en    LC_CTYPE="en_AU"    LC_NUMERIC="en_AU"    LC_TIME="en_AU"    LC_COLLATE=en_AU.UTF-8    LC_MONETARY="en_AU"    LC_MESSAGES=en_AU.UTF-8    LC_PAPER="en_AU"    LC_NAME="en_AU"    LC_ADDRESS="en_AU"    LC_TELEPHONE="en_AU"    LC_MEASUREMENT="en_AU"    LC_IDENTIFICATION="en_AU"    LC_ALL=

Как было предложено в задайте вопрос в ubuntu, Я выполнил следующие команды, но никаких изменений не произошло.

    sudo apt-get install language-pack-en-base    sudo dpkg-reconfigure locales

Я также попробовал это предложение в задайте вопрос в ubuntu... также никаких изменений.

    apt-get install --reinstall locales

Я думать это началось, когда я временно установил и удалил редактор методов ввода языка урду с помощью IBus .. это, конечно, произошло в один и тот же день.

Возможно, это связано с IBus, но до этого у меня не было никаких проблем с этим.

  • Операционная система - 10.04

Мне удалось снова заставить все работать "нормально".

Перепробовав множество переустановок пакетов и т.д., Включая полное удаление IBus (все безрезультатно), я начал думать, что это может быть вызвано настройкой конфигурации, которую повторная установка не изменяет.

Я заметил, что вывод из locale был довольно лишен назначений UTF-8, поэтому я проверил это на недавно установленной виртуальной машине ... все записи LC_ * (кроме LC_ALL, который переопределяет все остальные) были установлены с помощью .UTF-8 суффикс. поэтому я вручную установил значения LC_*, как показано ниже.

Я, наверное, мог бы просто использовать LC_ALL="en_AU.UTF-8", но, читая об этом, я обнаружил, как настроить системный формат даты и времени, и LC_ALL это переопределило бы мои пользовательские настройки.

Я не знаю, использовал ли я наиболее подходящий метод, но он работает!

Измененный файл является: /etc/default/locale

  • Это показывает содержимое перед модом:

    LANG="en_AU.UTF-8"LANGUAGE="en_AU:en"LC_MESSAGES="en_AU.UTF-8"
  • Это показывает содержимое после мод:

    LANG="en_AU.UTF-8"LANGUAGE="en_AU:en"LC_CTYPE="en_AU.UTF-8"LC_NUMERIC="en_AU.UTF-8"LC_TIME="en_AU.UTF-8"LC_COLLATE=en_AU.UTF-8LC_MONETARY="en_AU.UTF-8"LC_MESSAGES=en_AU.UTF-8LC_PAPER="en_AU.UTF-8"LC_NAME="en_AU.UTF-8"LC_ADDRESS="en_AU.UTF-8"LC_TELEPHONE="en_AU.UTF-8"LC_MEASUREMENT="en_AU.UTF-8"LC_IDENTIFICATION="en_AU.UTF-8"

Тот же файл в виртуальной машине содержал только эту одну строку:

    LANG="en_AU.UTF-8" 

Переопределения локализаций и перенастройки может быть достаточно для устранения проблемы:

sudo locale-gen en_AU.UTF-8sudo dpkg-reconfigure locales

Когда ты бежишь sudo dpkg-reconfigure locales вы можете выбрать нужный вам язык, нажав на spacebar и двигаясь с и прежде чем ударить Enter.

Я также столкнулся с этой проблемой, как вы видите, ваш LC_ALL пусто. Я сделал следующее, и это помогает:

$ sudo vim /etc/environment

и установите LC_ALL к чему-то вроде en_US.UTF-8, мой - это:

LANG="en_US.UTF-8"LC_MESSAGES="C"LC_ALL="en_US.UTF-8"

затем перезагрузитесь и запустите locale , и это должно быть что - то вроде:

LANG=zh_CN.utf8LC_CTYPE="en_US.UTF-8"LC_NUMERIC="en_US.UTF-8"LC_TIME="en_US.UTF-8"LC_COLLATE="en_US.UTF-8"LC_MONETARY="en_US.UTF-8"LC_MESSAGES="en_US.UTF-8"LC_PAPER="en_US.UTF-8"LC_NAME="en_US.UTF-8"LC_ADDRESS="en_US.UTF-8"LC_TELEPHONE="en_US.UTF-8"LC_MEASUREMENT="en_US.UTF-8"LC_IDENTIFICATION="en_US.UTF-8"LC_ALL=en_US.UTF-8

Если вы удаленно подключены к компьютеру по ssh (например, с устройства macosx), вам необходимо установить эти переменные на компьютере, с которого вы подключаетесь

добавьте следующее в ~/.bash_profile

#fix for locale issues when connecting to ubuntu serversexport LANG="en_US.utf8"export LANGUAGE="en_US.utf8"export LC_ALL="en_US.utf8"

Я просто хочу добавить, что мне тоже нужно было отредактировать свой домашний профиль:

gedit ~/.profile

Так что в вашем случае это будет выглядеть так:

...LANG="en_AU.UTF-8"LANGUAGE="en_AU:en"

Выйдите из системы + Войдите в систему. И все идет так, как и ожидалось.

У меня была одна и та же проблема в течение нескольких месяцев, многие программные средства предупреждали о неправильных настройках локали, а некоторые даже отказывались запускаться. Я хочу использовать английский язык, но шведские денежные и числовые настройки.

Что, наконец, сработало для меня, так это редактирование /etc/default/locale где я удалил все, что было в этом файле. Затем я запустил настройку языка Unity (Settings -> Языковая поддержка), настроил все (Ubuntu хотел установить некоторые недостающие компоненты) и нажал "Apply System-wide" когда я закончу.

Мой /etc/default/locale теперь это выглядит так.

LC_NUMERIC="sv_SE.UTF-8"LC_TIME="sv_SE.UTF-8"LC_MONETARY="sv_SE.UTF-8"LC_PAPER="sv_SE.UTF-8"LC_IDENTIFICATION="sv_SE.UTF-8"LC_NAME="sv_SE.UTF-8"LC_ADDRESS="sv_SE.UTF-8"LC_TELEPHONE="sv_SE.UTF-8"LC_MEASUREMENT="sv_SE.UTF-8"LANGUAGE="en"LANG="en_US.UTF-8"

Большая разница между этим и моим исходным файлом заключается в том, что LANGUAGE="en".

Прошло много времени с тех пор, как это было опубликовано, но недавно у меня возникли проблемы с переменными "locale", и ни один ответ не дал мне никаких результатов. Может быть, мой собственный опыт мог бы помочь кому-то еще.

Мой Длинный переменная была пуста, и это создавало мне проблемы.

$locale

Выход:

LANG=LANGUAGE=en_USLC_CTYPE=POSIXLC_NUMERIC=POSIXLC_TIME=POSIXLC_COLLATE=POSIXLC_MONETARY=POSIXLC_MESSAGES=POSIXLC_PAPER=POSIXLC_NAME=POSIXLC_ADDRESS=POSIXLC_TELEPHONE=POSIXLC_MEASUREMENT=POSIXLC_IDENTIFICATION=POSIXLC_ALL=POSIX

Я попробовал некоторые команды, такие как:

sudo locale-gensudo dpkg-reconfigure locales

Безрезультатно. Я попытался отредактировать /etc/default/locale и узнаю, что все уже было в порядке:

$cat /etc/default/locale

Выход:

LANG=en_US.UTF-8LC_NUMERIC="es_CO.UTF-8"LC_TIME="es_CO.UTF-8"LC_MONETARY="es_CO.UTF-8"LC_PAPER="es_CO.UTF-8"LC_NAME="es_CO.UTF-8"LC_ADDRESS="es_CO.UTF-8"LC_TELEPHONE="es_CO.UTF-8"LC_MEASUREMENT="es_CO.UTF-8"LC_IDENTIFICATION="es_CO.UTF-8"

Также мой .пам_окружение файл, казалось, был прав:

$cat .pam_environment

Выход:

LANGUAGE=en_US:enLANG=en_US.UTF-8LC_NUMERIC=es_CO.UTF-8LC_TIME=es_CO.UTF-8LC_MONETARY=es_CO.UTF-8LC_PAPER=es_CO.UTF-8LC_NAME=es_CO.UTF-8LC_ADDRESS=es_CO.UTF-8LC_TELEPHONE=es_CO.UTF-8LC_MEASUREMENT=es_CO.UTF-8LC_IDENTIFICATION=es_CO.UTF-8PAPERSIZE=letter

Я не хотел добавлять дополнительные материалы в файлы профиля или bash, главным образом потому, что, хотя это могло бы решить проблему, я не знал бы причину, и это меня раздражало.

Наконец, я задался вопросом, не переопределяет ли что-то уже переменные "locale", и я выполнил следующую команду:

$cat .bashrc | grep LANG

Выход:

unset LANG

Итак, я нашел две строчки на своем .bashrc файл, в котором указана причина (я не вставляю весь файл целиком):

unset LANGexport LC_ALL=POSIX

Я не знаю, как и когда эти строки оказались в моем файле bash, но я полностью уверен, что я их не писал, возможно, мой файл .bashrc был заменен, когда я работал с некоторыми материалами для веб-разработки, я действительно не знаю, но поскольку я знаю, что это было непреднамеренно, и есть люди, которые понятия не имеют о том, что вызывает неправильное поведение "locale", возможно, это могло бы им помочь. В любом случае, комментирование этих строк и перезагрузка решили для меня проблему.Здесь Я ответил на тот же вопрос, посвященный жалобам sublimeT3 на Длинный переменная.

Похоже, обновление каким-то образом изменило локализацию.Исправление, которое я нашел, состояло в том, чтобы выйти из системы, изменить выбранный язык перед входом в систему и снова войти в систему.

Это также может помочь переустановить локали в synaptic, хотя я не могу подтвердить, что это то, что исправило это для меня, я думаю, что это был выход из системы или что-то в этом роде.

Я попытался отредактировать файл локали и выбрать разные языки при входе в систему.

Фильтрация поврежденных пакетов с помощью Synaptic и полное удаление 9 пакетов-нарушителей сработали для меня (libreoffice и python uno).

Но я не могу установить LibreOffice без явного повреждения менеджера пакетов. Тем не менее, он устанавливается.

Я нахожусь на 11.04 i386. Отказ от ответственности: Во время последней части моей установки произошел сбой питания, поскольку Ubuntu загружала обновления.

>>У меня была такая же проблема, но обращение к языковой поддержке системного администрирования может решить вашу проблему, потому что она может попросить вас установить некоторые пакеты, и тогда все будет хорошо!! У меня это сработало, так что, думаю, я сделаю то же самое и с тобой!!

возможный дубликат Когда я перезагрузился 12.04, некоторые меню находятся в Chinese/Japanese!