man sudoers but got
man: can't set the locale; make sure $LC_* and $LANG are correct No manual entry for sudoers
What does this mean?
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It only takes a minute to sign up.Sign up to join this community
Your locale settings as indicated by environment variables uses locale names that are not available on your system.
Locale settings control the character set used by commands and terminals (
LC_CTYPE), the collation order (
LC_COLLATE), the format of dates (
LC_TIME), numbers (
LC_NUMERIC) and amounts of currency (
LC_MONETARY), the language of messages (
LC_MESSAGES), etc. The values of these variables are locale names. On most systems, the name has the form
xx is a two-letter language code and
YY is a two-letter country code.
Run the command
locale to see your current settings.
locale -a to see the available locale names.
If the locale you'd like to use is missing, you may need to generate it. This is distribution-dependent. For example, on Debian, run
dpkg-reconfigure locales as root. On Ubuntu, run
locale-gen xx_YY to generate the locale
Below is an addition to the recommendation to use
dpkg-reconfigure locales, which failed for me (my hunch is that if it were working, I wouldn't have this problem.
me@pc:~$ man man: can't set the locale; make sure $LC_* and $LANG are correct What manual page do you want?
First try to solve it, fails
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)...
Second try, succeeds. I still get an error on en_ZW, but I don't use it.
me@pc:~$ sudo locale-gen en_US en_US.UTF-8 && sudo dpkg-reconfigure locales ... me@pc:~$ man what manual page do you want?
No more LOCALE errors on the man command!
This means your system does not know in which language the info should be displayed.
Paste the output of locale -a probably you haven`t generated the locales this is a bit distro specific but usually running locale-gen will generate the locales for you hence removing the error. Take a look on this link.
Still a problem in 2020... On my system (Kubuntu 20.04.1), the solution was simply
export LC_ALL=en_US.UTF-8 in my
~/.zshrc. I imagine the same would work in
I think there are other variables which need to be set (probably those reported by
locales), but they seem to have all been handled by the desktop environment.