web-dev-qa-db-ja.com

「man:ロケールを設定できません。$ LC_ *と$ LANGが正しいことを確認してください」

man sudoersが得た

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

これは何を意味するのでしょうか?

20
AGamePlayer

ロケールが設定されていません。 _Debian-Base_では、_dpkg-reconfigure locales_を使用して設定する必要があります。

一部のpackagesは、_locales package_などの_LC_* series_とそのvariableに依存しています...!

_$LANG_が空であることを意味します。

13
PersianGulf

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

ロケール設定は、コマンドと端末で使用される文字セット(LC_CTYPE)、照合順序(LC_COLLATE)、日付の形式(LC_TIME)、数値(LC_NUMERIC)を制御します通貨の金額(LC_MONETARY)、メッセージの言語(LC_MESSAGES)など。これらの変数の値はロケール名です。ほとんどのシステムでは、名前の形式はxx_YYまたはxx_YY@variantまたはxx_YY.charsetです。ここで、xxは2文字 言語コード およびYYは2文字の 国コード です。

コマンドlocaleを実行して、現在の設定を確認します。 locale -aを実行して、使用可能なロケール名を確認します。

使用したいロケールがない場合は、生成する必要があります。これはディストリビューションに依存します。たとえば、Debianでは、ルートとしてdpkg-reconfigure localesを実行します。 Ubuntuでは、locale-gen xx_YYを実行してロケールxx_YYを生成します。

これは、情報を表示する言語をシステムが認識していないことを意味します。

ロケールの出力を貼り付けます-aおそらく、これはビットディストリビューション固有のロケールを生成していませんが、通常、locale-genを実行すると、したがって、エラーを取り除くことができます。これを見てください リンク

1
vfbsilva

以下は、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?

ManコマンドのLOCALEエラーはもうありません!

1
nortally