我需要对“人:无法设置区域设置;确保 $LC_* 和 $LANG 正确”做什么

我需要对“人:无法设置区域设置;确保 $LC_* 和 $LANG 正确”做什么

我输入man sudoers但得到

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

这是什么意思?

答案1

您的区域设置未设置。您Debian-Base应该使用它dpkg-reconfigure locales来设置它。

有些packages取决于locales package它,variable例如LC_* series......!

就是空的意思$LANG

答案2

环境变量指示的区域设置使用系统上不可用的区域设置名称。

区域设置控制命令和终端使用的字符集 ( LC_CTYPE)、排序规则 ( LC_COLLATE)、日期格式 ( LC_TIME)、数字 ( LC_NUMERIC) 和货币金额 ( LC_MONETARY)、消息语言 ( LC_MESSAGES) 等。这些值变量是语言环境名称。在大多数系统上,名称的形式为xx_YYorxx_YY@variant或 ,xx_YY.charset其中xx是两个字母语言代码并且YY是两个字母国家代码

运行该命令locale以查看您当前的设置。运行locale -a以查看可用的区域设置名称。

如果您想要使用的区域设置丢失,您可能需要生成它。这是依赖于分布的。例如,在 Debian 上,dpkg-reconfigure locales以 root 身份运行。在 Ubuntu 上,运行locale-gen xx_YY以生成 locale xx_YY

答案3

下面是对 use 的建议的补充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?

man 命令不再出现 LOCALE 错误!

答案4

2020 年仍然是一个问题......在我的系统(Kubuntu 20.04.1)上,解决方案就export LC_ALL=en_US.UTF-8在我的~/.zshrc.我想同样的方法也适用于.bashrc.

我认为还有其他变量需要设置(可能是 报告的变量locales),但它们似乎都已由桌面环境处理。

相关内容