Я получаю это сообщение каждый раз, когда делаю что-то вроде запуска или остановки службы.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_MESSAGES = "en_US.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
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
(Reading database ... 21173 files and directories currently installed.)
Removing bind9 ...
* Stopping domain name service... bind9 [ OK ]
Processing triggers for man-db ...
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
Как я могу исправить эту ошибку?
command-line
server
locale
HackToHell
источник
источник
Ответы:
Сначала запустите,
locale
чтобы увидеть, какие локали в настоящее время определены для текущей учетной записи пользователя:Затем сгенерируйте недостающий языковой стандарт и перенастройте языковые стандарты, чтобы принять к сведению
Теперь вы не увидите больше ошибок!
источник
en_GB
по умолчанию, но вы настроили ее наen_US
. Вы должны вручную комментироватьen_GB
и раскомментироватьen_US
в/etc/locale.gen
. Смотрите мой ответ askubuntu.com/a/790373/25388 в аппаратной части Raspberry Pi 3b и в системе Raspbian Jessie.Ничто из предложенного выше не сработало в моем случае (Ubuntu Server 12.04LTS). Что в итоге помогло - это положить в файл
/etc/environment
:По какой-то причине этого не было. Выходные данные для локали и других команд выглядели так, как будто переменные были правильно определены. Другими словами, не принимайте как должное, все основные вещи объявляются там, где они должны быть объявлены.
источник
/etc/default/locale
./etc/default/locale
и больше никаких предупреждений. Спасибоsudo sh -c "echo 'LC_ALL=en_US.UTF-8\nLANG=en_US.UTF-8' >> /etc/environment"
echo
должно запускаться с включенной интерпретацией обратной косой черты. Это то же самое, что и у вас, но с вышеупомянутым исправленным:sh -c "echo -e 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale"
Они должны исчезнуть после выдачи:
dpkg-reconfigure
переконфигурирует пакеты после того, как они уже установлены. Передайте ему имена пакетов или пакетов для перенастройки. Он будет задавать вопросы о конфигурации, как при первой установке пакета.источник
en
,en_AU
,en_CA
,en_GB
присутствуют по умолчанию , но неen_US
?dpkg-reconfigure
.makemessage
нуждается в этом. Это сработало отлично! Благодарю.LC_ALL
была правильно установлена.Просто добавьте следующее в ваш
.bashrc
файл (если вы используете bash)источник
LC_ALL
я смог наконец использоватьsudo dpkg-reconfigure locales
.Это распространенная проблема, если вы подключаетесь удаленно, поэтому решение состоит в том, чтобы не пересылать язык. Отредактируйте
/etc/ssh/ssh_config
и закомментируйтеSendEnv LANG LC_*
строку.источник
/etc/ssh_config
sed -e '/SendEnv/ s/^#*/#/' -i /etc/ssh/ssh_config
(полезно для подготовки сервера)Для этого есть команда:
Он обновляется
/etc/default/locale
с предоставленными значениями.источник
locale
прежнему не показывает никаких значений UTF.locale-gen
отсутствует. Раньше надо делатьapt-get install locales
.Что сработало для меня 12.10, так это:
Это было после того, как не
dpkg-reconfigure locales
дали никаких результатов.источник
chroot
под дебианом. Спасибо :)Не забудьте выйти из сеанса SSH (или X11), выйдя и войдя снова. Все эти предложения не сработали для меня, пока я не вошел в систему ....
источник
Для Ubuntu 12.10 ничего из вышеперечисленного не сработало, за исключением решения Раца. Я рекомендую добавить это в ваш файл /etc/bash.bashrc:
источник
Я застрял в странном состоянии, в котором настроен мой локальный компьютер,
es
и поэтому удаленный компьютер (черезvagrant
) был переведен в необработанное состояние. Поэтому мне пришлось использовать руководствоexport=
только для того, чтобы облегчить успехdpkg-reconfigure
. Тогда система в порядке.источник
dpkg-recofigure
дисплеям моджибаке.Я написал bash-скрипт для исправления вышеуказанной проблемы. Приведенные выше ответы полезны, но установка переменных локали путем простого экспорта значений в переменную оболочки будет работать только для сеанса. Я навсегда решил эту проблему, экспортировав переменные локали в файл .bash_profile. Вы также можете использовать
/etc/profile
файл вместо.bash_profile
.Не забудьте и следовать сценарию в легкой установке.
source
.bash_profile
источник
Ты можешь попробовать:
где
ru_RU
код вашей страныисточник
Текущий принятый ответ не достаточен в стратегии устранения неполадок, потому что вы можете иметь человеческую ошибку. Вы настроили свою систему на,
en_US
но выen_GB
включили,/etc/locale.gen
как я имел в теме здесь для Raspberry Pi 3b. Вы должны включить все ваши используемые локали в/etc/locale.gen
.Я
en_GB.UTF-8 UTF-8
только включил/etc/locale.gen
. Я должен был там только включить,en_US.UTF-8 UTF-8
потому что другие команды запускаются для него. Поэтому я прокомментировал ГБ и США без комментариев, и теперь все работаетТеперь я не получаю эти языковые ошибки ни с какими командами.
Система: Raspbian Jessie
Оборудование: Raspberry Pi 3b
источник
Как сказано здесь, в вики Debian , вы можете редактировать
/etc/locale.gen
и добавлять все локали (или раскомментировать их, у меня был список всех локалей, но все, кроме той, которую я использовал в качестве комментариев), которую вы хотите поддерживать в своей системе. Затем выполнитеобновить локали в вашей системе. Теперь все локали, которые вы добавили / комментировали
/etc/locale.gen
, доступны в вашей системе без каких-либо предупреждений.источник
Если вы используете среду KDE, проверьте
setlocale.sh
файл в~/.kde/env/
:источник
Вам также может потребоваться запустить
sudo dpkg-reconfigure
приложение, которое вы установили, в то время как настройки «локали» были недействительными / не совпадали.В то время как система была неправильно настроена, я установил
vim
. Позже, когда системный языковой стандарт был исправлен, я увидел ситуацию,vim
когда символы utf-8 неправильно отображались как странные символы,nano
иless
отображали их правильно. Бегпоявился, чтобы исправить проблему после того, как системные настройки были исправлены.
Я также заметил то же самое, что уже упоминалось: вам может потребоваться отключить / повторно подключить SSH, чтобы сделать изменения видимыми.
источник
Добавление следующего текста
~/.profile
работает для меня:Я использую 64-битный сервер Ubuntu 16.04 LTS на Linode.
источник
Это сработало для меня, когда у меня возникла та же проблема (на основе решения, предоставленного dman ):
источник
>
вместо>>
) кажется ответом на комментарий Дмана. Я на самом деле не знаю, какой путь правильный или лучший, но если у вас есть какое-либо понимание этого, вы можете расширить этот ответ с дополнительной информацией. (Вы не должны, хотя.)