Menghubungkan dari PC Windows 7 melalui SSH ke server Ubuntu menggunakan Putty , saya mendapatkan beberapa kesalahan layar:
Yaitu:
- "Double-draws" pilihan di dalam Midnight Commander (MC).
- Karakter lain seperti elemen garis digambar sebagai karakter yang salah (mis. "Â" bukannya "|").
Saya terhubung ke server Ubuntu yang sama dengan terminal dan SHH dari Mac OS X dan tidak mendapatkan layar ini kacau (yaitu semuanya terlihat dan berfungsi dengan benar). Saya sudah mencoba bermain dengan pengaturan font di dalam Putty, mengubahnya dari Courier New ke Consolas tetapi tidak berhasil.
Karena itu pertanyaan saya adalah:
Bagaimana cara mengkonfigurasi Putty untuk menampilkan karakter khusus dengan benar dan tidak menggambar dua kali / menimpa garis layar?
Jawaban:
Anda hampir pasti telah menetapkan set karakter yang salah dalam pengaturan Putty Anda .
Verifikasi set karakter pada sistem jarak jauh dengan menjalankan perintah:
Ini akan menghasilkan sesuatu seperti:
Jadi, periksa pengaturan Putty Anda di bawah Terjemahan dan pastikan bahwa Anda telah
UTF-8
menetapkan sebagai set karakter.Anda mungkin perlu mengubah pengaturan gambar garis juga, tetapi mungkin tidak.
sumber
NCURSES_NO_UTF8_ACS=1
[info lebih lanjut ]locale
pengembalian,POSIX
Anda mungkin menonaktifkan usePAM di sshd configPOSIX
, terbitkanupdate-locale LANG=en_US.utf8
di baris perintah - lihat thomas-krenn.com/de/wiki/Locales_unter_Ubuntu_konfigurierenSaya memiliki masalah dengan
aptitude
program Debian meskipun saya memiliki UTF-8 saat karakter saya ditetapkan. Yang berhasil bagi saya adalah mengatur 'Koneksi> Data>' Terminal-type string 'menjadi' dempul 'dan bukannya' xterm '- tampaknya Putty mengabaikan urutan karakter untuk beralih ke mode menggambar: http: //www.chiark.greenend .org.uk / ~ sgtatham / putty / wishlist / utf8-plus-vt100.htmlsumber
Juga, jika UTF-8 tidak dikonfigurasi dengan benar, Anda dapat menjalankannya sebagai mc -ac .
Kredit: http://blog.acsystem.sk/linux/midnight-commander-utf8-line-drawing-characters-problem
sumber
Dua faktor dasar adalah Window / Terjemahan UTF-8 di pengaturan dempul dan lokal di Linux, seperti yang diperintahkan di sini dan banyak tempat lainnya.
Selain itu, mungkin membantu dalam dempul mengatur string Koneksi / Data / Terminal menjadi dempul , dan / atau di Linux
export NCURSES_NO_UTF8_ACS=1
. Keduanya juga disebut beberapa tempat.Tetapi: Anda mungkin masih mendapatkan blok untuk karakter tertentu karena font default seperti Courier dan Lucida Console tidak memiliki semua karakter Unicode. Unduh dan instal http://dejavu-fonts.org/wiki/Download , dan atur dempul untuk menggunakannya.
Trik terakhir ini penting bagi saya untuk mendapatkan
noping
(disarankan!) Untuk menunjukkan semua karakter grafik.sumber
export NCURSES_NO_UTF8_ACS=1
bekerja paling baik untuk saya. Saya hanya perlu ingat untuk menggunakan-E
opsi padasudo
saat saya menjalankaniftop
untuk menjaga pengaturan lingkungan itu.sudo -E iftop
Dalam kasus saya (Ubuntu 14.04) masalah ini disebabkan oleh hilang
entri di / etc / ssh / sshd_config sebagai /etc/pam.d/sshd konfigurasi pam bertanggung jawab secara default untuk memuat / etc / default / locale ke dalam lingkungan pengguna.
sumber
Untuk kalian semua VMS tua yang malang yang berakhir di sini:
bekerja untukku.
sumber
Saya mencari banyak solusi untuk ini ketika menggunakan mesin Docker (baik lokal maupun pada mesin yang diatur oleh administrator sistem). Dalam Putty saya semuanya baik-baik saja (saya punya
UTF-8
), saya juga menggunakan klien SSH lain dan memiliki masalah yang sama persis.Berlari:
sedang memecahkan masalah (tetapi tidak sepenuhnya) dan saya sedang mencari solusi lengkap.
Setelah membaca banyak saran, saya akhirnya menemukan satu yang menyelesaikan masalah saya.
Di terminal saat Anda menjalankan:
verifikasi lokal apa yang telah Anda tentukan. Saya memiliki secara default
C
lokal.Untuk memverifikasi semua jalankan lokal diinstal
locale -a
Saya punya misalnya:
secara default.
Solusinya adalah mengekspor
LANG
variabel denganC.UTF-8
lokal seperti:Anda jelas dapat menambahkannya
.bashrc
agar diatur secara otomatis di profil Anda.sumber
Alasan lain terkait dengan pam yang mungkin mempengaruhi host dengan powerbroker / pbis / otentikasi juga.
grep /etc/pam.d untuk kejadian "lsass":
jika Anda melihat sesuatu di output seperti:
maka itu mungkin akar penyebab masalahnya. Perbaikan cepat adalah mengganti "cukup" dengan "opsional" di sebelah modul pam_lsass sehingga terlihat seperti:
/etc/pam.d/common-session (atau file lain dengan entri serupa - mungkin ada beberapa) mungkin disertakan oleh /etc/pam.d/sshd sebelum pam_env dimuat, jadi jika pemrosesan modul pam selesai sebelum sampai ke pam_env, / etc / default / locale tidak dimuat di lingkungan pengguna dan Anda memiliki karakter yang kacau.
sumber
Setelah 15 tahun saya merasa jengkel sekali lagi dan mencari-cari lagi, menemukan ini, memilih
dan itu memperbaikinya.
sumber
Saya harus mengatur, pada halaman Window → Translation , karakter diatur ke:
Kemudian, dan hanya kemudian, apakah karakter linedraw muncul dengan benar.
sumber
Menjalankan mc dengan cara ini (set lokal ke en) berfungsi untuk saya:
sumber
apa yang bekerja untuk saya adalah "Koneksi, Data, tipe terminal-string = ansi" ditambah "Window, Terjemahan, set karakter Remote = Gunakan pengkodean font" kemudian
set TERM=ansi
di sisi unix.PS. Ingatlah untuk mematikan kutipan pintar jika Anda dipaksa untuk menggunakan MS-Word.
sumber
Masalah saya adalah bahwa dempul dikonfigurasi sebagai UTF-8 tetapi sistem jarak jauh adalah ISO-8859-1
Eropa barat, jadi saya mengubah itu pada dempul dan apa pun bekerja dengan baik.
Tangkapan layar Putty
sumber