Latar Belakang:
- Saya memiliki beberapa karakter unicode di prompt saya (penanda status git pada dasarnya)
- Saya menjalankan urxvt di bawah xfce di arch linux.
Saya menggunakan DejaVu Sans Mono untuk font Powerline, ditentukan melalui baris .Xresources:
URxvt*font: xft:DejaVu Sans Mono for Powerline:pixelsize=14
Ketika saya mulai urxvt karakter unicode tidak ditampilkan dengan benar.
Sebagai contoh
● diterjemahkan sebagai â
Namun, jika saya kemudian memulai yang baru urxvt
dari dalam terminal pertama semuanya membuat dengan benar.
Tampaknya tidak ada perbedaan dalam lingkungan antara kedua terminal.
Apa yang bisa menjadi perbedaan antara doa pertama dan doa bersarang? Saya menduga font tidak benar dalam contoh 'luar', tapi saya tidak yakin bagaimana memeriksa font dari X windows yang sedang berjalan
UPDATE : Tampaknya lokal tidak diatur dengan benar di peluncur aplikasi untuk xfce4, tetapi mungkin shell di dalam terminal pertama memiliki lokal itu sendiri, yang berarti bahwa kedua shell memiliki lokal yang sama.
menambahkan
export LANG=en_GB.UTF-8
ke .xinitrc sebelum xfce4 dimulai tampaknya untuk memperbaikinya. Saya curiga ini bukan cara yang benar , tetapi itu bekerja cukup baik untuk saya.
tangkapan layar menunjukkan masalah:
Catatan: Saya memindahkan pertanyaan ini dari serverfault.com - saya harap situs ini lebih tepat
LC_ALL=ru_RU.utf8 urxvt
dari sesi X saat ini. Jika karakter Rusia (dan Unicode lainnya) menjadi benar, Anda berada dalam kasus ketika lingkungan Anda telah berjalan di bawah C locale. Jadi periksa pengaturan lokal untukxfce
. Misalnya jika Anda memulainya,.xinitrc
coba atur lokal sebelum dijalankan sepertiLANG=ru_RU.utf8 exec startxfce4
.Jawaban:
Saya tidak sepenuhnya yakin apa penyebab masalahnya, tetapi langkah-langkah di bawah ini mungkin membantu:
Konfirmasikan bahwa lokal sudah diatur dengan benar
Aktifkan lokal yang diinginkan di /etc/locale.gen dan jalankan
locale-gen
Pastikan font yang diinginkan dapat dimuat
sumber
URxvt.letterSpace: -10
dan semua karakter ditampilkan sebagai kotakBagi saya itu adalah masalah dengan mesin terbang powerline di urxvt. Baru tahu bahwa mengatur lokal dengan
localectl set-locale LANG=en_AU.UTF-8
perbaikan masalah untuk saya, dengan font terminess powerline setidaknya (belum mencoba font lain)Itu tidak berhasil
en_US.UTF-8
, saya cukup yakin karena saya dapat mereproduksinya ... sekarang itu aneh ... tetapi sekarang berfungsi.sumber
sumber