「人:ロケールを設定できません。$ 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 packagevariableまるでLC_* series…!

空であることを意味します$LANG

答え2

環境変数に示されているロケールがシステムで使用できないロケール名を使用します。

ロケールは、コマンドと端末で使用される文字セット(LC_CTYPE)、照合(LC_COLLATE)、日付形式(LC_TIME)、数字(LC_NUMERIC)、金額(LC_MONETARY)、メッセージ言語(LC_MESSAGES)などを制御します。これらの値変数はロケール名です。ほとんどのシステムでは、名前は次の形式です。xx_YYまたは、2文字はどこにありますか?xx_YY@variantxx_YY.charsetxx言語コードそしてYY2文字国コード

locale現在の設定を表示するには、このコマンドを実行してください。locale -a利用可能なロケール名を表示するには、実行してください。

使用するロケールがない場合は、それを生成する必要があります。これは展開によって異なります。たとえば、Debianはdpkg-reconfigure localesrootとして実行します。 Ubuntuでは実行してlocale-gen xx_YYlocalを作成しますxx_YY

答え3

以下は私に失敗した使用提案の追加です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)...

2回目の試み、成功しました。 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コマンドに表示されなくなりました!

答え4

2020年にはまだ問題がありますexport LC_ALL=en_US.UTF-8。私のシステム(Kubuntu 20.04.1)でも~/.zshrc同じアプローチが機能するようです.bashrc

設定する必要がある他の変数(おそらく報告された変数locales)があると思いますが、すべてデスクトップ環境で処理されるようです。

関連情報