Когда я бегу perl
, я получаю предупреждение:
perl: warning: сбой при настройке локали. Perl: предупреждение: пожалуйста, проверьте, что ваши настройки локали: ЯЗЫК = (не установлено), LC_ALL = (не установлено), LANG = "en_US.UTF-8" поддерживаются и устанавливаются в вашей системе. perl: warning: возврат к стандартной локали («C»).
Как мне это исправить?
~/.pam_environment
Ответы:
Ваша ОС не знает о
en_US.UTF-8
.Вы не упомянули конкретную платформу, но я могу воспроизвести вашу проблему:
Я предполагаю, что вы использовали ssh для подключения к этому старому хосту с более новой настольной машины. Это обычно для
/etc/ssh/sshd_config
содержаниячто позволяет клиентам распространять значения этих переменных среды в новые сеансы.
Предупреждение дает вам подсказку о том, как его устранить, если вам не нужен полный языковой стандарт:
или с bash:
Для постоянного исправления выберите один из
LANG
переменную окружения в файле инициализации вашей оболочки.ssh hunter2
использования командыLANG=C ssh hunter2
.SendEnv LANG LC_*
строку в локальном/etc/ssh/ssh_config
файле. (Благодаря этому ответу . См. Ошибку 1285 для OpenSSH для получения дополнительной информации.)источник
dpkg-reconfigure locales
сообщение исчезло.service ssh reload
занимает доли секунды и даже не приводит к завершению текущего сеанса ssh.Вот как это решить на Mac OS Lion (10.7) или Cygwin (Windows 10):
Добавьте следующие строки в ваш bashrc или bash_profile на хост-машине:
Если вы используете zsh, отредактируйте zshrc:
источник
LC_ALL
перезаписывают все другие переменные, я бы предпочел установитьLANG=de_AT.UTF-8
и отдельные переменные, какLC_MESSAGES=en_US.UTF-8
. Если переменная не установлена, она возвращается кLANG
. Вы также можете, например.unset LC_CTYPE
заставить его отступитьLANG
.~/.bashrc
решило это для меня ... затем необходимо перезагрузить, используяsource ~/.bashrc
... Thnks <3Если вы создаете rootfs с помощью debootstrap, вам нужно сгенерировать локали. Вы можете сделать это, запустив:
Этот совет взят из https://help.ubuntu.com/community/Xen
источник
Ubuntu Server
$ echo en_US UTF-8 >> /etc/locale.gen
сначала.locale-gen
не принимает аргументов. Это читает от/etc/locale.gen
.Использование:
Это работает для Debian . Я не знаю почему - но у locale-gen не было результатов.
Важный! Это временное решение. Он должен быть запущен для каждого сеанса.
источник
.bashrc
файл.local-gen
обрабатываются только те локали, которые не прокомментированы в/etc/local.gen
. Возможно, вам придется сделать вecho en_US UTF-8 >> /etc/locale.gen
первую очередь.Как правило, это означает, что вы неправильно настроили локали на вашем Linux-компьютере.
На Debian или Ubuntu это означает, что вам нужно сделать
Смотрите также man locale-gen .
источник
sudo locale-gen es_UY.UTF-8
Только для пользователей MacOS и Mac OS X
Я получал то же предупреждение при использовании Git
Чтобы устранить это предупреждение , снимите с
Set locale environment variable on startup
опции и перезагрузить терминал. Ниже скриншот представляет мои настройки терминала.источник
Это просто исправить в Ubuntu. Вы должны сгенерировать Locales с нуля, выполнив следующие команды из командной строки:
Это должно создать локали, а затем перенастроить их.
источник
pt_BR pt_BR.UTF-8
- Спасибо.Чтобы
/etc/environment
исправить эту проблему в Debian и Ubuntu, добавьте следующее (конечно, измените в соответствии с языком, который вы хотите использовать):источник
/etc/environment
устарела и должна быть установлена в/etc/default/locale
. Оба, кажется, работают на данный момент.LC_CTYPE
Я сейчас использую это:
Затем выйдите из сеанса SSH и войдите снова.
Старый ответ:
Только это помогло мне:
источник
на Debian после долгих поисков это сработало.
первый:
тогда:
и знаменитый:
Это освобождает систему локалей, затем переустанавливает локали и понижает libc6 с 2.19 до 2.13, что является проблемой. Затем снова настраивает локали.
источник
dpkg-reconfigure locales
это все что нужно.sudo
если вы парень типа sudo или делаете это как root. Затем выберите ваш язык в соответствии с тем, что у вас есть в вашей оболочке.Это быстрый ответ. Мы установим локали, которые не сбрасываются после перезагрузки. Сначала откройте файл bash и отредактируйте его:
добавьте эти строки в файл:
активировать изменение путем перезагрузки bash:
результаты теста :
источник
Для Ubuntu используйте это,
Работал на меня.
источник
/etc/default/locale
и поместив только определение vars (удалив экспорт слова) и перезапустив серверЕсли вы используете Mac OS X v10.10 (Yosemite) или выше для подключения к вашему серверу Linux, вы можете попробовать эти шаги.
Держите ваш файл / etc / ssh / sshd-config оригинальным
Положите на ~ / .bash_profile
Запустить
И выберите «en_US.UTF-8»
источник
Раскомментируйте локали, которые вы хотите использовать (например
en_US.UTF-8 UTF-8
):Затем запустите:
Источник: http://people.debian.org/~schultmc/locales.html
источник
Вам необходимо соответствующим образом настроить язык в
/etc/default/locale
, выйти из системы, войти в систему , а затем запустить обычные командыисточник
Решение:
Попробуйте это ( uk_UA.UTF-8 - моя текущая локаль. Напишите вашу локаль, например en_US.UTF-8 !)
и это.
источник
для меня я исправляю эту ошибку, редактируя экспорт файла добавления файла .bashrc. Добавьте после первоначальных комментариев.
Добавить язык поддержки.
Доброго времени суток,
источник
Добавление правильных локал
~/.bashrc
,~/.bash_profile
,/etc/environment
и тому подобное будет решить эту проблему, однако это не рекомендуется, так как он переопределяет настройку из/etc/default/locale
, которые сбивают с толком в лучшем случае может привести к локалям не применяются последовательно в худшем случае.Вместо этого нужно редактировать
/etc/default/locale
напрямую, что может выглядеть примерно так:Изменения вступят в силу при следующем входе в систему. Вы можете получить новую локаль в существующей оболочке, используя следующие источники
/etc/default/locale
:источник
locale-gen
Для тех, кто подключается к DigitalOcean или другому провайдеру облачного хостинга из приложения iTerm2.app на MacOS High Sierra и получает эту ошибку по некоторым командам:
Это решило проблему для меня:
Я знаю, что эта ветка старая, но, возможно, кто-то найдет это полезным. Я знаю, как это может раздражать.
источник
После принятого ответа:
LC_ALL = C ssh hunter2
на стороне клиента сделал свое дело для меня.
источник
С zsh ohmyzsh я добавил это к
.zshrc
:Удаляя линию
export LANG=en_US.UTF-8
Открыл новую вкладку и включил SSH, у меня сработало :)
источник
Добавить
LC_ALL="en_GB.utf8"
к/etc/environment
и перезагрузиться. Это все.источник
Как всегда, дьявол кроется в деталях ...
В Mac OS X v10.7.5 (Lion), чтобы исправить ошибку Django ,
~/.bash_profile
я установил:И, в свою очередь, долгое время я получал это предупреждение при использовании Perl.
Виноват! Как я понял намного позже, моя система такова
en_US.UTF-8
! Я исправил это, просто изменивв
источник
Если вас не волнует проблема локали, вы можете установить
PERL_BADLANG=0
. Конечно, это может привести к неправильной локализации.источник
Все предыдущие ответы неверны. Сообщение ясно - отсутствует локаль. Решение заключается в добавлении соответствующей локали. Вы делаете это, редактируя файл /etc/locale.gen, удаляя знак # перед локалью, о которой сообщается, что она отсутствует, и затем вводите команду:
Это фактически сгенерирует локали, указанные в /etc/locale.gen, и поэтому сообщение не будет отображаться.
источник
в моем случае с debian8.6 мне пришлось изменить настройки в:
/etc/ssh/ssh_config
за#AcceptEnv LANG LC_*
и
sshd_config
для#SendEnv LANG LC_*
затем перезапустите службу SSH.
наконец, сделал
locale-gen en_US.UTF-8
а такжеdpkg-reconfigure locales
источник
Добавить недостающие локали в .bash_profile
Затем отправьте ваш .bash_profile
источник
В моем случае это был вывод:
Решение было:
источник
ssh
по умолчанию перезаписывает переменные локали LC. Смотрите/etc/ssh/sshd_config
:Поэтому, возможно, вам нужно установить эти переменные в вашей локальной оболочке.
источник
Для меня на Ubuntu 16.04 (Xenial Xerus) работало следующее:
Затем перезагрузите компьютер ...
источник