私はこれとして正確な質問を持っていますが、解決策はありません。試したがうまくいかない
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
C.UTF-8
en_US.utf8
POSIX
これは、en_US.UTF-8とen_US.utf8の不一致が原因ですか?
直し方?
ターミナルを開き、次のコマンドを実行します。
export LC_ALL="en_US.UTF-8"
この同じ問題(LC_CTYPE = UTF-8、間違っています)は、MacからLinuxボックスにsshでログインし、端末が環境変数を自動的に設定するときに発生する可能性があります。そのためのチェックボックスがあります。チェックを外すと、準備完了です。 iTermでは、プロファイル-> [端末]タブにあります。
同様の問題があり、/etc/default/locale
ファイルに以下の行を追加しました。
LC_CTYPE="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LANG="en_US.UTF-8"
私はこの投稿からこれを得ました: ロケールの問題を修正するにはどうすればよいですか?
私のためにこの作品でのみ
Sudo dpkg-reconfigure locales
Sudo locale-gen
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
Sudo dpkg-reconfigure locales
locale
コマンドからの出力は、環境に次の不正な行があることを示しています。
LC_CTYPE="UTF-8"
(「UTF-8」は有効なロケール名ではありません。)
通常、/etc/default/locale
から取得されます。その行がある場合は削除し、再ログインしてください。
そこから来ていない場合は、シェル構成から来るか、SSHを介してリモートでログインしている場合は、クライアントマシンの構成から来ます。
このコマンドは私の命を救った
Sudo echo "LC_ALL=en_US.UTF-8" >> /etc/environment
Sudo echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
Sudo echo "LANG=en_US.UTF-8" > /etc/locale.conf
Sudo locale-gen en_US.UTF-8
/ etc/default/localeファイルには、追加の(ただし不要な)行を含めることができます。ファイルの例は次のようになります。
# File generated by update-locale
LANG=en_US.UTF-8
LANGUAGE="en_IN:en
ロケールを整理して正常に生成および再構成するには、このファイルから次の行を除くすべての行を削除またはコメントアウトします。
LANG=en_US.UTF-8
ファイルは最終的に次のようになります。
# File generated by update-locale
LANG=en_US.UTF-8
# LANGUAGE="en_IN:en
この後、dpkg-reconfigure locales
を実行し、ロケールの選択を求めるプロンプトが表示されたらen_US.UTF-8を選択すると、準備完了です。プロセスが完了すると、Generation complete.
メッセージが表示されます。
次を実行するだけです:
Sudo apt-get upgrade
すべてのロケートを生成し、デフォルトをUSに設定します。
export LC_ALL="en_US.UTF-8"
私はホームディレクトリのドットファイルを新しいマシンに移行するときに自分でなんとかして、LC_
ではなくLOC
でファイルを検索するため、しばらく原因を特定できませんでした。
コピーした~/.bashrc
ファイルには次のものがありました。
export LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale
(ここでの特定の値は、古いマシンでGNU Guixを使用した以前の実験のためでしたが、関連する事実は、環境変数が現在無効なパスに設定されたことだけです。)
これにより、さまざまなプログラムの実行時に次のエラーが発生しました。
Warning: locale not supported by C library, locale unchanged
locale
の実行時のこれらのエラー:
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
LOCPATH
行を削除(またはコメントアウト)すると、問題が解決しました。