У меня есть точный вопрос как это, но нет никакого решения. Я пытался, но это не сработало
Как исправить проблему с локалью?
$ 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_US.UTF-8
LANGUAGE=
LC_CTYPE=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=
$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
C.UTF-8
en_US.utf8
POSIX
Это из-за en_US.UTF-8 и en_US.utf8 несоответствие?
Как исправить?
Вывод от эти locale
команда указывает, что у Вас есть эта неправильная строка в Вашей среде:
LC_CTYPE="UTF-8"
("UTF-8" не является допустимым именем локали.)
Это обычно прибывает от /etc/default/locale
. Удалите ту строку, если это там, и перевход в систему.
, Если это не прибывает оттуда, это может прибыть из Вашей конфигурации оболочки, или если Вы зарегистрированы удаленно через SSH от конфигурации клиентской машины.
Эта та же проблема (LC_CTYPE=UTF-8, который является неправильным) может произойти, когда Вы входите в систему по ssh от Mac до поля Linux, и Ваш терминал автоматически устанавливает переменные среды. Существует флажок для этого. Снимите флажок с ним, и Вы хороши пойти. В iTerm это находится в профиле-> Терминальная Вкладка.
Я имел подобную проблему и добавил ниже строк в моем /etc/default/locale
файл:
LC_CTYPE="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LANG="en_US.UTF-8"
я получил это из этого сообщения: , Как я устраняю свою проблему локали?
Откройте терминал и стреляйте ниже команды:
export LC_ALL="en_US.UTF-8"
/etc/default/locale файл может иметь дополнительный (но ненужный) строки: файл В качестве примера может быть похожим на это:
# File generated by update-locale
LANG=en_US.UTF-8
LANGUAGE="en_IN:en
, Чтобы разобраться и успешно генерировать и реконфигурировать локали, удалите или прокомментируйте все строки из этого файла кроме:
LANG=en_US.UTF-8
файл должен наконец быть похожим:
# File generated by update-locale
LANG=en_US.UTF-8
# LANGUAGE="en_IN:en
После этого выполнение dpkg-reconfigure locales
, избранный en_US.UTF-8 при запросе выбор локали, и необходимо быть хорошими для движения. Вы получите Generation complete.
сообщение, когда процесс будет завершен.
просто выполните следующее:
sudo apt-get upgrade
это генерирует, все определяет местоположение, затем установило значение по умолчанию на США:
export LC_ALL="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales
Это управляет, спас мою жизнь
sudo echo "LC_ALL=en_US.UTF-8" >> /etc/environment
sudo echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
sudo echo "LANG=en_US.UTF-8" > /etc/locale.conf
sudo locale-gen en_US.UTF-8
только с этой работой для меня
sudo dpkg-reconfigure locales
sudo locale-gen
Мне удалось вызвать это самому при миграции файлов точки корневого каталога в новую машину, и мне не удалось определить причину некоторое время вследствие ищущих файлов для LC_
но нет LOC
.
~/.bashrc
файл, который я скопировал, имел следующее:
export LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale
(конкретным значением здесь был в связи с предшествующими экспериментами с GNU Guix на старой машине; но соответствующий факт просто, что переменная среды была установлена на теперь недопустимый путь.)
Это привело к следующей ошибке при запущении различных программ:
Warning: locale not supported by C library, locale unchanged
И эти ошибки при выполнении 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_ALL to default locale: No such file or directory
Удаление (или комментирование) LOCPATH
строка решила мои вопросы.
$ sudo export LC_All=C.UTF-8 (you should use it)
$ sudo update-locale
После того, как я попробовал всевозможные способы исправить это, я, наконец, понял: что, если проблема была на другой стороне SCP? Видите ли, я столкнулся с этим, когда пытался передать файл на свой сервер в облаке. Оба работают под управлением Ubuntu. Теперь я пробовал все эти вещи выше, такие как установка LC_ALL и локаль и т. д., но ничего не сработало. Только после того, как мне пришло в голову делать подобные вещи на стороне сервера, я исправил это.
Итак, я подключился к своему серверу по ssh и запустил:
sudo pkg-reconfigure locales
и теперь, когда я перехожу со своего домашнего рабочего стола на свой сервер в облаке, я больше не вижу ошибок этой локали.