最近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
何が起こっているのですか、どうすれば修正できますか?
同じことが私にも起こりました。トーマスが上で言ったことに基づいて、私はコメントを外すことによってそれを修正することができましたen_US.UTF-8 UTF-8
私の/etc/locale.gen
ファイル(以前はコメント解除されていなかった行)、次にlocale-gen
。
これに従う リンク 私の問題を解決します:
Sudo localectl set-locale LANG=en_CA.UTF-8
# or change to en_US.UTF-8 depends on your locale-gen
ファイルを生成します/etc/locale.conf
この問題を修正します
これも食べました。私の解決策は…
apt search locales
リストを取得したら、これをインストールします…
apt install locales-all
おそらく、アップグレードにより、使用していたロケールエイリアスが置き換えられ、新しい名前への有効なアップグレードパスが提供されなかった可能性があります。サーバーでロケール情報を再生成できますが、問題は/etc/locale.gen
またはlocale.conf
ファイルにある可能性があることに注意してください。
参考文献:
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