web-dev-qa-db-ja.com

Arch Linuxサーバーを更新し、tmuxを取得しました。UTF-8ロケール(LC_CTYPE)が必要ですが、ANSI_X3.4-1968があります。

最近Arch Linuxサーバーを更新しましたが、その間にtmuxが更新されました。アップグレード中にtmuxを使用し、その後それを使用しましたが、すべて同じSSHセッション中に使用しました。

ただし、tmuxコマンドを発行しようとすると、次のエラーが発生します。

tmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968

サーバー上のlocale -aからの出力は次のとおりです。

$ locale -a
C
POSIX

そして私のマシン(Ubuntu 15.10):

$ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

何が起こっているのですか、どうすれば修正できますか?

32
RPiAwesomeness

同じことが私にも起こりました。トーマスが上で言ったことに基づいて、私はコメントを外すことによってそれを修正することができましたen_US.UTF-8 UTF-8私の/etc/locale.genファイル(以前はコメント解除されていなかった行)、次にlocale-gen

35

これに従う リンク 私の問題を解決します:

Sudo localectl set-locale LANG=en_CA.UTF-8
# or change to en_US.UTF-8 depends on your locale-gen

ファイルを生成します/etc/locale.confこの問題を修正します

5
Kokizzu

これも食べました。私の解決策は…

apt search locales

リストを取得したら、これをインストールします…

apt install locales-all
4
bulldogbat

おそらく、アップグレードにより、使用していたロケールエイリアスが置き換えられ、新しい名前への有効なアップグレードパスが提供されなかった可能性があります。サーバーでロケール情報を再生成できますが、問題は/etc/locale.genまたはlocale.confファイルにある可能性があることに注意してください。

参考文献:

3
Thomas Dickey

echo "LC_ALL = en_US.UTF-8" >>/etc/environment
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
echo "LANG = en_US.UTF-8"> /etc/locale.conf
locale-gen en_US.UTF-8

0
Dan