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


29

我最近更新了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

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

Answers:


32

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


例如,升级可能会覆盖您的自定义locale.gen文件。
Thomas Dickey

@ThomasDickey更可能是Arch Linux ARM是愚蠢的,因为Arch Linux ARM在默认映像中做了一些相当愚蠢的事情,例如使用无用的软件包进行运输,这些软件包由于缺少依赖性而无法工作。我知道我从来没有碰过那个文件。
Hitechcomputergeek '16

而且,从@RPiAwesomeness的用户名来看,我猜这台服务器恰好是运行Arch Linux ARM的Raspberry Pi。(顺便说一句,我也在笔记本电脑上运行Ubuntu,在Pi服务器上也运行Arch)
Hitechcomputergeek

@Hitechcomputergeek确实如此,桌面是Ubuntu正确的15.10,服务器是带有Arch Linux ARM的Pi 2:D
RPiAwesomeness

1
我在升级到Debian 9 Stretch时遇到了同样的问题,因为我的系统语言环境是en_CA.UTF-8。在/etc/locale.gen中没有注释。但是en_US.UTF-8被注释掉了,没有那个tmux抛出了那个确切的错误。因此,这表明如果您的语言环境是en_US,那么您将不会看到此问题。
法肯教授教授

3

通过此链接可以解决我的问题:

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

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


除上述操作外,我还必须这样做才能解决我的覆盆子跑步弓臂的问题。所以我sudo localectl set-locale LANG=nl_BE.UTF-8以前也遇到了一个错误org.freedesktop.PolicyKit1 not provided on daemon,使我有些失误,但是这个错误仅仅是因为我在没有命令的情况下运行了命令sudo(我有一个习惯,就是将已经打开的终端保持打开状态)
oneindelijk


2

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

apt search locales

我得到了一个清单,然后安装这个……

apt install locales-all

这个问题提到了Arch Linux,它不使用apt进行软件包管理。
马特·

-1

回声“ LC_ALL = en_US.UTF-8” >> / etc /环境
回声“ en_US.UTF-8 UTF-8” >> /etc/locale.gen
回声“ LANG = en_US.UTF-8”> / etc / locale .conf
locale-gen en_US.UTF-8


为什么这可以解决问题?您的答案与现有答案有何不同?
nohillside
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.