Actualicé mi servidor Arch Linux y ahora obtengo tmux: necesito la configuración regional UTF-8 (LC_CTYPE) pero tengo ANSI_X3.4-1968

29

Recientemente actualicé mi servidor Arch Linux y durante ese proceso tmux se actualizó. Estaba usando tmuxmientras se realizaba la actualización y la usé después, pero todo durante la misma sesión SSH.

Ahora, sin embargo, cada vez que intento emitir algún tmuxcomando me sale este error:

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

Aquí está la salida del locale -aservidor:

$ locale -a
C
POSIX

y en mi máquina (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

¿Qué está pasando y cómo lo soluciono?

RPiAwesomeness
fuente

Respuestas:

32

Me pasó exactamente lo mismo. Sobre la base de lo que Thomas dijo anteriormente, pude solucionarlo descomentando en_US.UTF-8 UTF-8en mi /etc/locale.genarchivo (anteriormente ninguna de las líneas había sido descomentada) y luego ejecutándola locale-gen.

Hitechcomputergeek
fuente
Por ejemplo, una actualización puede haber sobrescrito su locale.genarchivo personalizado .
Thomas Dickey
@ThomasDickey Lo más probable es que Arch Linux ARM fuera simplemente estúpido, ya que Arch Linux ARM hace algunas cosas bastante tontas en la imagen predeterminada, como enviar paquetes inútiles que no funcionan porque les faltan dependencias. Sin embargo, sé que nunca toqué ese archivo.
Hitechcomputergeek
Y, a juzgar por el nombre de usuario de @ RPiAwesomeness, supongo que el servidor en cuestión es un Raspberry Pi con Arch Linux ARM. (por cierto, ejecuto Ubuntu en mi computadora portátil y Arch en mi servidor Pi también)
Hitechcomputergeek
@Hitechcomputergeek De hecho, el escritorio es Ubuntu apropiado 15.10 y el servidor es un Pi 2 con Arch Linux ARM: D
RPiAwesomeness
1
Tuve el mismo problema al actualizar a Debian 9 Stretch, porque la configuración regional de mi sistema es en_CA.UTF-8. Eso no fue comentado en /etc/locale.gen. Pero en_US.UTF-8 fue comentado y sin eso tmux arrojó ese error exacto. Eso sugiere que si su configuración regional es en_US, entonces no verá este problema.
Profesor Falken
3

Seguir este enlace resuelve mi problema:

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

genera un archivo /etc/locale.confque soluciona este problema

Kokizzu
fuente
Tuve que hacer esto además de lo anterior para arreglar esto para mi brazo de arco de frambuesa. Así que utilicé sudo localectl set-locale LANG=nl_BE.UTF-8también me encontré con un error org.freedesktop.PolicyKit1 not provided on daemonque me puso en el pie equivocado por un tiempo, pero este error fue simplemente porque ejecuté el comando sin sudo(tengo la mala costumbre de dejar una terminal abierta que ya está elevada)
oneindelijk
2

Quizás su actualización reemplazó el alias de configuración regional que estaba utilizando y no proporcionó una ruta de actualización útil para los nuevos nombres. Puede regenerarse información de configuración regional en el servidor, pero tenga en cuenta que el problema puede estar en su /etc/locale.geno locale.confarchivo.

Otras lecturas:

Thomas Dickey
fuente
2

También tuve este. Mi solución fue ...

apt search locales

Tengo una lista, luego instalo esto ...

apt install locales-all
bulldogbat
fuente
La pregunta menciona Arch Linux, que no utiliza apt para la gestión de paquetes.
mate
-1

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 es_ES.UTF-8

Dan
fuente
¿Por qué esto resuelve el problema? ¿Y cómo difiere su respuesta de las ya existentes?
nohillside