아치 리눅스 서버를 업데이트하고 이제 tmux를 얻습니다 : UTF-8 로켈 (LC_CTYPE)이 필요하지만 ANSI_X3.4-1968이 필요합니다


29

최근에 아치 리눅스 서버를 업데이트했고 그 과정에서 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

무슨 일이 있고 어떻게 해결합니까?

답변:


32

나에게도 똑같은 일이 일어났다. Thomas가 위에서 말한 내용을 바탕으로 en_US.UTF-8 UTF-8/etc/locale.gen파일 에서 주석 처리를 제거 하여 (이전에는 주석 처리가 해제 된 줄이 없음) 문제를 해결 한 후 실행할 수 locale-gen있었습니다.


예를 들어, 업그레이드로 인해 사용자 정의 locale.gen파일 을 덮어 쓸 수 있습니다 .
Thomas Dickey

@ThomasDickey Arch Linux ARM은 종속성이 없기 때문에 작동하지 않는 쓸모없는 패키지로 배송하는 것과 같이 기본 이미지에서 다소 바보 같은 일을하기 때문에 어리석은 것일 가능성이 큽니다. 그래도 그 파일을 건드리지 않았다는 것을 알고 있습니다.
Hitechcomputergeek

그리고 @RPiAwesomeness의 사용자 이름으로 판단하면 문제의 서버가 Arch Linux ARM을 실행하는 Raspberry Pi라고 생각합니다. (btw 노트북에서 우분투를 실행하고 Pi 서버에서도 아치를 실행합니다)
Hitechcomputergeek

@Hitechcomputergeek 사실, 데스크탑은 우분투에 적합한 15.10이며 서버는 아치 리눅스 ARM이있는 Pi 2입니다 : D
RPiAwesomeness

1
시스템 로케일이 en_CA.UTF-8이기 때문에 Debian 9 Stretch로 업그레이드하는 데 동일한 문제가 발생했습니다. 이것은 /etc/locale.gen에서 주석 해제되었습니다. 그러나 en_US.UTF-8은 주석 처리되었으며 tmux가 없으면 정확한 오류가 발생했습니다. 따라서 로케일이 en_US이면이 문제가 표시되지 않습니다.
Falken 교수

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
부딪 쳤지 만이

2

아마도 업그레이드가 사용중인 로케일 별명을 대체하고 새 이름으로의 유용한 업그레이드 경로를 제공하지 않았을 수 있습니다. 서버에서 로케일 정보를 재생성 할 수 있지만 문제점은 사용자 /etc/locale.gen또는 locale.conf파일 에있을 수 있습니다 .

더 읽을 거리 :


2

나는 이것도 가지고 있었다. 내 해결책은…

apt search locales

나는 목록을 가지고 이것을 설치 ...

apt install locales-all

이 질문에는 패키지 관리에 apt를 사용하지 않는 Arch Linux가 언급되어 있습니다.
매트

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


이것이 왜 문제를 해결합니까? 그리고 귀하의 답변은 기존 답변과 어떻게 다릅니 까?
nohillside
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.