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

У меня проблема с локалью.
Последовательность сортировки в 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=

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

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

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

    apt-get install --reinstall locales

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

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

  • ОС - 10.04
43
задан 13 April 2017 в 15:23

12 ответов

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

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

Когда вы запускаете sudo dpkg-reconfigure locales, вы можете выбрать желаемую локаль, нажав пробел и перемещение с помощью и перед нажатием Enter .

0
ответ дан 13 April 2017 в 15:23

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

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

#fix for locale issues when connecting to ubuntu servers
export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"
0
ответ дан 13 April 2017 в 15:23

Я также столкнулся с этой проблемой, как вы видите, ваш 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.utf8
LC_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
0
ответ дан 13 April 2017 в 15:23

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

gedit ~/.profile

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

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

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

0
ответ дан 13 April 2017 в 15:23

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

Что наконец-то сработало для меня, так это отредактировать /etc/default/locale, где я удалил все в этом файле. Затем я запустил настройку языка Unity (Settings -> Language Support), настроил все (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".

0
ответ дан 13 April 2017 в 15:23

Запустите

export LC_ALL="zh_CN.utf8"
ibus-setup

и выберите один из вариантов метода ввода по своему желанию.

0
ответ дан 13 April 2017 в 15:23
1113 Мне снова удалось заставить все работать "нормально".

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

Я заметил, что вывод из locale был довольно лишен назначений UTF-8, поэтому я проверил это в недавно установленной ВМ ... все записи LC_ * (кроме LC_ALL, который переопределяет [ 1122] все остальные) были установлены с суффиксом .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"
    
  • [ 1112]

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

    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-8
    LC_MONETARY="en_AU.UTF-8"
    LC_MESSAGES=en_AU.UTF-8
    LC_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" 
<час>
0
ответ дан 13 April 2017 в 15:23

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

0
ответ дан 13 April 2017 в 15:23

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

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

0
ответ дан 13 April 2017 в 15:23

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

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

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

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

0
ответ дан 13 April 2017 в 15:23

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

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

$locale

Вывод:

LANG=
LANGUAGE=en_US
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=POSIX

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

sudo locale-gen
sudo dpkg-reconfigure locales

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

$cat /etc/default/locale

Вывод:

LANG=en_US.UTF-8
LC_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"

Также мой . Файл pam_environment показался правильным:

$cat .pam_environment

Вывод:

LANGUAGE=en_US:en
LANG=en_US.UTF-8
LC_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
PAPERSIZE=letter

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

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

$cat .bashrc | grep LANG

Вывод:

unset LANG

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

unset LANG
export LC_ALL=POSIX

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

0
ответ дан 13 April 2017 в 15:23

У меня была похожая проблема (наиболее заметная в Thunderbird) с примером en_AU здесь - но я из en_NZ - и после некоторых проб и ошибок в Ubuntu 17.10 я решил исправить ~ / .pam_environment, заменив все другие записи (в основном en_AU и en_US) с en_NZ, затем перезагрузка.

Жаль, что вы не можете просто установить свою локаль и заставить ее делать то, о чем она заявляет - большинство разочарованы тем, что запуск локалей dpkg-configure на самом деле, кажется, не делает ничего полезного.

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: