Memperbarui server lengkungan linux saya dan sekarang saya mendapatkan tmux: perlu UTF-8 lokal (LC_CTYPE) tetapi memiliki ANSI_X3.4-1968

29

Saya baru-baru ini memperbarui server Arch Linux saya dan selama proses itu tmux mendapat pembaruan. Saya menggunakan tmuxsementara upgrade sedang berlangsung dan menggunakannya setelah itu, tetapi semua selama sesi SSH yang sama.

Sekarang, bagaimanapun, setiap kali saya mencoba mengeluarkan tmuxperintah apa pun saya mendapatkan kesalahan ini:

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

Inilah output dari locale -apada server:

$ locale -a
C
POSIX

dan di komputer saya (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

Apa yang terjadi dan bagaimana cara memperbaikinya?

Kehadiran RPi
sumber

Jawaban:

32

Hal yang persis sama terjadi pada saya. Berdasarkan apa yang dikatakan Thomas di atas, saya dapat memperbaikinya dengan menghapus komentar en_US.UTF-8 UTF-8pada /etc/locale.genfile saya (sebelumnya tidak ada baris yang tidak dihapus komentar), kemudian berjalan locale-gen.

Hitechcomputergeek
sumber
Misalnya, pemutakhiran mungkin telah menimpa locale.genfile khusus Anda.
Thomas Dickey
@ThomasDickey Kemungkinan besar Arch Linux ARM hanya menjadi bodoh, karena Arch Linux ARM melakukan hal-hal yang agak bodoh dalam gambar default seperti pengiriman dengan paket tidak berguna yang tidak berfungsi karena mereka kehilangan dependensi. Saya tahu saya tidak pernah menyentuh file itu.
Hitechcomputergeek
Dan, dilihat dari nama pengguna @RiAwesomeness, saya menduga server yang dimaksud adalah Raspberry Pi yang menjalankan Arch Linux ARM. (btw saya menjalankan Ubuntu di laptop saya dan Arch di server Pi saya juga)
Hitechcomputergeek
@Hitechcomputergeek Memang demikian, desktop adalah Ubuntu yang tepat 15.10 & server adalah Pi 2 dengan Arch Linux ARM: D
RPiAwesomeness
1
Saya mengalami masalah yang sama dengan memutakhirkan ke Debian 9 Stretch, karena sistem saya lokal adalah en_CA.UTF-8. Itu tidak dikomentari di /etc/locale.gen. Tapi en_US.UTF-8 dikomentari dan tanpa tmux itu melemparkan kesalahan yang tepat. Jadi itu menunjukkan jika lokal Anda adalah en_US maka Anda tidak akan melihat masalah ini.
Profesor Falken
3

Mengikuti tautan ini memecahkan masalah saya:

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

ini menghasilkan file /etc/locale.confyang memperbaiki masalah ini

Kokizzu
sumber
Saya harus melakukan ini di samping di atas untuk memperbaikinya untuk lengan lengkung raspberry saya. Jadi saya menggunakan sudo localectl set-locale LANG=nl_BE.UTF-8saya juga mengalami kesalahan org.freedesktop.PolicyKit1 not provided on daemonyang menempatkan saya pada kaki yang salah untuk sementara waktu, tetapi kesalahan ini hanya karena saya menjalankan perintah tanpa sudo(saya punya kebiasaan buruk meninggalkan terminal terbuka yang sudah ditinggikan)
oneindelijk
2

Saya juga punya yang ini. Solusi saya adalah ...

apt search locales

Saya punya daftar, lalu instal ini ...

apt install locales-all
bulldogbat
sumber
Pertanyaannya menyebutkan Arch Linux, yang tidak menggunakan apt untuk manajemen paket.
matt
-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

Dan
sumber
Mengapa ini menyelesaikan masalah? Dan bagaimana jawaban Anda berbeda dari yang sudah ada?
nohillside