我输入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_YY
orxx_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
),但它们似乎都已由桌面环境处理。