更新了我的 arch linux 服务器,现在我得到了 tmux:需要 UTF-8 语言环境(LC_CTYPE)但有 ANSI_X3.4-1968

RPi*_*ess 40 arch-linux tmux unicode locale

我最近更新了我的 Arch Linux 服务器,在这个过程中 tmux 得到了更新。我tmux在升级过程中使用它,然后使用它,但都是在同一个 SSH 会话中使用的。

但是,现在,每当我尝试发出任何tmux命令时,都会收到此错误:

tmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968
Run Code Online (Sandbox Code Playgroud)

这是locale -a服务器上的输出:

$ locale -a
C
POSIX
Run Code Online (Sandbox Code Playgroud)

在我的机器上(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
Run Code Online (Sandbox Code Playgroud)

这是怎么回事,我该如何解决?

Hit*_*eek 47

同样的事情发生在我身上。基于 Thomas 上面所说的,我能够通过en_US.UTF-8 UTF-8在我的/etc/locale.gen文件中取消注释来修复它(以前没有任何行被取消注释),然后运行locale-gen.


Kok*_*zzu 7

按照此链接解决我的问题:

sudo localectl set-locale LANG=en_CA.UTF-8
# or change to en_US.UTF-8 depends on your locale-gen
Run Code Online (Sandbox Code Playgroud)

它会生成一个/etc/locale.conf解决此问题的文件


小智 6

我也有这个。我的解决方案是……

apt search locales
Run Code Online (Sandbox Code Playgroud)

我得到了一个列表,然后安装这个……

apt install locales-all
Run Code Online (Sandbox Code Playgroud)