У меня есть точный вопрос как это, но нет никакого решения. Я пытался, но это не работает
Как мне исправить проблему с локалью?
$ 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?
Как исправить?
Ответы:
Откройте терминал и выполните следующую команду:
источник
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
Та же самая проблема (LC_CTYPE = UTF-8, что неправильно) может возникнуть, когда вы входите через ssh с Mac в Linux, и ваш терминал автоматически устанавливает переменные окружения. Для этого есть флажок. Снимите флажок, и вы готовы идти. В iTerm это находится в профиле-> вкладка терминала.
источник
У меня была похожая проблема, и я добавил следующие строки в мой
/etc/default/locale
файл:Я получил это из этого поста: Как мне исправить проблему с локалью?
источник
/etc/environment
не предназначен для установки локалей в Ubuntu;/etc/default/locale
является. Кроме того, в случае с настольным компьютером вы никогда не должны устанавливатьLC_ALL
настойчиво. Ваш способ сделает бесполезными пользовательские интерфейсы для управления настройками языка / локали на рабочем столе, такими как поддержка языков.только с этой работой для меня
источник
sudo dpkg-reconfigure locales
необходимо, так как он использует locale-gen.источник
sudo dpkg-reconfigure locales
не менее, сделал то, что, должно быть, пропало. Мои сеансы SSH теперь в порядке. Спасибо!Вывод
locale
команды указывает, что в вашей среде есть эта неправильная строка:(«UTF-8» не является допустимым именем локали.)
Это обычно происходит из
/etc/default/locale
. Пожалуйста, удалите эту строку, если она есть, и перезапустите.Если это не происходит оттуда, это может произойти из конфигурации вашей оболочки, или если вы вошли в систему удаленно через SSH, из конфигурации клиентского компьютера.
источник
dpkg-reconfigure locales
.Эти команды спасли мою жизнь
источник
sudo
. Перенаправления не будут работать, если вы уже не являетесь пользователем root.Файл / etc / default / locale может иметь дополнительные (но ненужные) строки: Файл примера может выглядеть следующим образом:
Чтобы разобраться и успешно создать и перенастроить языковые стандарты, удалите или закомментируйте все строки из этого файла, кроме:
Файл должен наконец выглядеть так:
После этого запустите
dpkg-reconfigure locales
, выберите en_US.UTF-8, когда будет предложено выбрать локаль, и все будет хорошо. Вы получитеGeneration complete.
сообщение, когда процесс будет завершен.источник
Мне удалось самому вызвать эту проблему при переносе файлов точек домашнего каталога на новый компьютер, и я некоторое время не мог определить причину из-за поиска файлов,
LC_
но не смогLOC
.~/.bashrc
Файл я скопировал имел следующее:(Особое значение здесь было из-за предыдущих экспериментов с GNU Guix на старой машине; но релевантным фактом является просто то, что для переменной среды был задан недопустимый путь.)
Это приводило к следующей ошибке при запуске различных программ:
И эти ошибки при запуске
locale
:Удаление (или комментирование)
LOCPATH
строки решило мои проблемы.источник
просто запустите следующее:
он сгенерирует все локации, затем установит значение по умолчанию US:
источник