Вопрос Стойкие ошибки, связанные с локалью и сбои


Я только что установил Ubuntu 13.10 на своем Chromebook через Chrubuntu, который, похоже, не правильно настроил локали. Мои попытки сделать это сами неудачны. Система должен en_GB в режиме UTF-8. Выход locale -a включает en_GB.utf8, locale выводит следующее:

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

Различные программы вызывают ошибки, связанные с локальностью, в основном не фатальные, например:

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

Тем не менее, я также получаю сбои при загрузке из «Методы ввода клавиатуры» и при попытке использовать раздел «Поддержка языка» в разделе «Настройки системы». В настоящее время мой /etc/default/locale файл читается следующим образом, который был скопирован из locale вывода на рабочую систему (хотя с тех пор я мог бы сделать одно или два изменения):

LANG=en_GB.utf8
LANGUAGE=
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES="en_GB.utf8"
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=

В разных точках, пытающихся это исправить, мне удалось заставить apt бросить 400 ошибок при попытке запустить apt-get update, и сделать систему полностью не загружаемой, вызывая mountall сбой.

Я пробовал различные решения, которые я нашел при работе с Google, включая запуск locale-gen а также dkpg-reconfigure locales, без везения.

Что происходит и как я могу это исправить?

Изменить: настройка LC_ALL=en_GB.utf8 исправляет локальные проблемы, но при попытке SSH на других машинах, у которых нет en_GB.utf8, он вызывает кучу сообщений об ошибках. Этого не происходит в других моих Ubuntu-блоках, поэтому должен быть способ сортировки локальных настроек без установка LC_ALL и вызывают эти проблемы.


1
2017-10-20 13:09


происхождения




ответы:


Даже если ваш /etc/default/locale выглядит правильно, я рекомендую вам изменить его, чтобы просто скрыть

LANG=en_GB.UTF-8    

(что фактически является одним и тем же).

Но проблема заключается в том, что что-то в ваших пользовательских настройках испортило локаль. Я ничего не знаю о Chrubuntu, но, предполагая, что у вас есть доступ к GUI Ubuntu для установки языков, я предлагаю вам перейти к System Settings -> Language Support и явным образом устанавливаю как язык, так и региональные форматы.

В любом случае никогда не рекомендуется устанавливать LC_ALL через /etc/default/locale,


2
2017-10-20 14:34



Chrubuntu - всего лишь магия для того, чтобы Ubuntu установил и загрузился с загрузочного загрузчика Chromebook - он должен быть установленным Ubuntu. Настройки моей языковой поддержки установлены на английском (Соединенное Королевство) на вкладках Язык и Региональные Форматы. Установка этого значения в /etc/default/locale вызывает ошибки, описанные в первом сообщении. - Sam
@Sam: Что, если вы измените региональные форматы на что-то еще, а затем вернитесь к «English (United Kingdom)»? Я предлагаю вам это сделать, затем выйдите из системы и войдите в систему, откройте окно терминала и запустите locale команда. - Gunnar Hjalmarsson
Вытирая мои /etc/default/locale и после этого делающ это исправил его, вы. - Sam
Я занимался той же проблемой в течение нескольких недель. Никаких ответов на меня не работало. Наконец, удаление /etc/default/locale и перезагрузка моего языка, как рекомендовано. Спасибо! - Andrew Ensley