що мені потрібно зробити з "man: не може встановити локаль; переконайтесь, що $ LC_ * та $ LANG правильні »


20

Я набрав, man sudoersале отримав

man: can't set the locale; make sure $LC_* and $LANG are correct
No manual entry for sudoers

Що це означає?


У мене була схожа проблема в OS X, і я зміг її виправити, коментуючи SendEnv LANG LC_*в /etc/ssh/ssh_config.
Ілля І

Відповіді:


13

Ваша мова не встановлена. У Debian-Baseвас слід використовувати його dpkg-reconfigure localesдля встановлення.

Деякі packagesзалежать від locales packageі variableтаких, як LC_* series...!

Це означає $LANG, що порожній.


6

Ваші параметри локалі, як зазначено змінними середовища, використовують імена локалів, недоступні у вашій системі.

Параметри локального керування керують набором символів, використовуваним командами та терміналами ( LC_CTYPE), порядком порівняння ( LC_COLLATE), форматом дат ( LC_TIME), цифрами ( LC_NUMERIC) та сумою валюти ( LC_MONETARY), мовою повідомлень ( LC_MESSAGES) тощо. Значення цих змінні - це локальні імена. У більшості систем, назва має форму xx_YYабо xx_YY@variantабо xx_YY.charsetде xxє дві літери коду мови і YYє дві літери коду країни .

Виконайте команду, localeщоб побачити поточні налаштування. Запустіть, locale -aщоб переглянути доступні імена локалів.

Якщо локалі, який ви хочете використовувати, відсутній, можливо, вам доведеться його генерувати. Це залежить від розподілу. Наприклад, на Debian запустіть dpkg-reconfigure localesяк root. На Ubuntu запустіть, locale-gen xx_YYщоб створити локаль xx_YY.


1

Це означає, що ваша система не знає, якою мовою повинна відображатися інформація.

Вставте висновок locale - напевно, ви ще не створили локалі, це трохи специфічно для distro, але зазвичай запущений gen genle генерує локали для вас, отже, видаляючи помилку. Подивіться за цим посиланням .


1

Нижче наведено доповнення до рекомендації щодо використання dpkg-reconfigure locales, яка не вдалася для мене (моя думка полягає в тому, що якби це працювало, у мене не було б цієї проблеми.

Проблема

me@pc:~$ man
man: can't set the locale; make sure $LC_* and $LANG are correct
What manual page do you want?

Спочатку спробувати її вирішити, не вдається

me@pc:~$ sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US"
    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
Generating locales...
  en_AG.UTF-8... up-to-date
  ...(lines omitted)...

Друга спроба, вдається. Я все ще отримую помилку на en_ZW, але я не використовую її.

me@pc:~$ sudo locale-gen en_US en_US.UTF-8 && sudo dpkg-reconfigure locales
...
me@pc:~$ man
what manual page do you want?

Більше помилок LOCALE в команді man!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.