ssh backspace, iki yerine bir karakter siler (utf-8 sembolleri)


2

Ssh kullanarak uzak bir bilgisayara erişiyorum ve standart giriş akışını kullanarak sembolleri girmek için bir bash komutu çalıştırıyorum:

testi oku; echo $ testi

Ingilizce harfleri girmek ve silmek için geri al, sonra diğer karakterleri girmek ve bu adımları istediğiniz zaman tekrarlamak iyidir. Ama ingilizce olanlar gibi 1 yerine 2 byte gerektiren, rusçalar gibi diğer utf-8 sembollerini kullandığımda felaket olur. Örneğin, şunu girdim:

абвгдежз

Ondan sonra 8 kez geri almayı kullandım ve diğer sembolleri girdim:

привет

Ve Enter tuşuna basın. Ancak son girdilerime eşit olacak sonuç yerine, aşağıdakileri alıyorum:

абвгпривет

Bu, 8 geri silme işleminin yalnızca 4 sembolü sildiği anlamına gelir.

Linux ubuntu 12.04 kullanıyorum. Denenmiş farklı konsollar: standart bir, sonlandırıcı; farklı geri alma seçenekleri (ASCII-del veya Ctrl + H gibi); $ LC_TYPE ayarını ru_RU.UTF-8 olarak ayarladı, ancak hiçbir şey çalışmıyor. Yerel konsolu kullanırken böyle bir sorun yoktur. Şimdiden teşekkür ederim.

güncelleme: Bu konuyla ilgili bir video da aldım, lütfen youtube'da izle

Yanıtlar:


2

Bu konuda çalışarak çalışabilirsiniz.

stty iutf8

sunucuda her ssh orada. Maalesef bu hata 2005 yılından beri var. debian forumları detaylar için. Bu satırı, .bashrc dosyanızın sonuna da eklemek isteyebilirsiniz.


2

Ayarlaman gerek LC_CTYPE bir UTF-8 yerel ayarına, örn. ru_RU.UTF-8 veya en_US.UTF-8. Kullanılabilir yerel ayarları kullanarak listeleyebilirsiniz. locale -a.


Cevabın için teşekkürler. Hem istemci hem de sunucu tarafında ru_RU.UTF-8 olarak ayarlanmış $ LC_TYPE var. Ne yazık ki, bu bir sorunu çözmüyor.

@VsevolodAvramov Denediniz mi export bu değişken? Ve: Ne zaman ayarladın? Kabuğa koyarsanız, çok geç olabilir ...
glglgl

@glglgl, aşağıdaki konfigürasyona sahibim: 1) İlk ~ / .ssh / config satırları: Host * SendEnv LC_ * 2) AcceptEnv yönergesi / etc / ssh / sshd_config adresindeki sunucu konfigürasyonunda bulunur 3) İlk satırlar ~ ve .bashrc öğesinin hem istemcide hem de sunucu tarafında dışa aktarılması LC_CTYPE = ru_RU.utf8 4) yerel ayar - a yerel ayar için kullanılabilir seçenekler listesinde ru_RU.utf8 öğesini gösterir. Başka fikrin var mı? Teşekkürler.

@glglgl Ayrıca LC_ENV değişkeninin doğru ayarlandığını kanıtlayan bir video da kaydettim. Lütfen youtube'da izle
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.