Aggiornato il mio server Linux Arch e ora ottengo tmux: ho bisogno della locale UTF-8 (LC_CTYPE) ma ho ANSI_X3.4-1968


29

Di recente ho aggiornato il mio server Arch Linux e durante quel processo tmux è stato aggiornato. Stavo usando tmuxmentre l'aggiornamento andava avanti e l'ho usato in seguito, ma tutti durante la stessa sessione SSH.

Ora, tuttavia, ogni volta che provo a emettere un tmuxcomando, visualizzo questo errore:

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

Ecco l'output locale -asul server:

$ locale -a
C
POSIX

e sulla mia macchina (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

Cosa sta succedendo e come posso risolverlo?

Risposte:


32

La stessa cosa esatta mi è successa. Basandomi su ciò che Thomas ha detto sopra, sono stato in grado di risolverlo decommentando en_US.UTF-8 UTF-8nel mio /etc/locale.genfile (in precedenza nessuna delle righe era stata decommentata), quindi in esecuzione locale-gen.


Ad esempio, un aggiornamento potrebbe aver sovrascritto il locale.genfile personalizzato .
Thomas Dickey,

@ThomasDickey Molto probabilmente Arch Linux ARM era semplicemente stupido, poiché Arch Linux ARM fa alcune cose piuttosto stupide nell'immagine predefinita come la spedizione con pacchetti inutili che non funzionano perché mancano dipendenze. So di non aver mai toccato quel file, comunque.
Hitechcomputergeek il

E, a giudicare dal nome utente di @ RPiAwesomeness, immagino che il server in questione sia un Raspberry Pi con Arch Linux ARM. (tra l'altro
eseguo

@Hitechcomputergeek In effetti lo è, il desktop è Ubuntu corretto 15.10 e il server è un Pi 2 con Arch Linux ARM: D
RPiAwesomeness

1
Ho avuto lo stesso problema con l'aggiornamento a Debian 9 Stretch, perché la mia locale di sistema è en_CA.UTF-8. Non è stato commentato in /etc/locale.gen. Ma en_US.UTF-8 è stato commentato e senza questo tmux ha gettato quell'errore esatto. Questo suggerisce che se la tua locale è en_US, non vedrai questo problema.
Professor Falken,

3

Seguire questo link risolve il mio problema:

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

genera un file /etc/locale.confche risolve questo problema


Ho dovuto fare questo in aggiunta a quanto sopra per risolvere il problema per il mio braccio ad arco con lampone in esecuzione. Quindi ho usato sudo localectl set-locale LANG=nl_BE.UTF-8anche un errore org.freedesktop.PolicyKit1 not provided on daemonche mi ha messo per un po 'sul piede sbagliato, ma questo errore è stato semplicemente perché ho eseguito il comando senza sudo(ho la cattiva abitudine di lasciare un terminale aperto che è già elevato)
oneindelijk


2

Ho avuto anche questo. La mia soluzione era ...

apt search locales

Ho un elenco, quindi installa questo ...

apt install locales-all

La domanda menziona Arch Linux, che non usa apt per la gestione dei pacchetti.
opaco

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


Perché questo risolve il problema? E in che modo la tua risposta differisce da quelle già esistenti?
Nohillside,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.