Terminalde özel bir karakter veya nokta işareti yazılamıyor


13

Çevre:
Ubuntu 11.10'u GUI olarak wmii 3.9 ve kabuk olarak bash ile terminal olarak kullanıyorum. Donanım, bir Swissgerman klavye düzenine sahip bir Lenovo ThinkPad W500'dür (bu yüzden umurumun olması gerekir). Japonca girdi için ibus kullanıyorum.

Symthoms:
Anahtarları / karakterleri şöyle yazdığımda~ , ^terminalde hiçbir şey olmuyor. Ben basarsanız ö' (arg: 6)ile,' görünür ähiçbir şey, olur ügeçmiş görünmeden bazen bir komutla.
Şimdiye kadar test ettiğim tüm terminallerde aynı davranıştır (gnome-terminal, xfce4-terminal, xterm). Krom tarayıcı, skype veya texteditor gibi diğer X uygulamalarında istendiği gibi çalışır.

Ek bilgi:

> locale
LANG=de_CH.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="de_CH.UTF-8"
LC_TIME="de_CH.UTF-8"
LC_COLLATE=en_US.UTF-8
LC_MONETARY="de_CH.UTF-8"
LC_MESSAGES=en_US.UTF-8
LC_PAPER="de_CH.UTF-8"
LC_NAME="de_CH.UTF-8"
LC_ADDRESS="de_CH.UTF-8"
LC_TELEPHONE="de_CH.UTF-8"
LC_MEASUREMENT="de_CH.UTF-8"
LC_IDENTIFICATION="de_CH.UTF-8"
LC_ALL=

> setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+ch+inet(evdev)+terminate(ctrl_alt_bksp)"    };
        xkb_geometry  { include "pc(pc105)"     };
};

Yanıtlar:


17

Terminal emülatörü kullanarak Mac OS X'e ssh ile bağlanırken benzer bir sorun yaşıyordum. LANG olarak ayarlamış de_DE.UTF-8olsam da, umlaut içeren karakterleri yazamadım.

Bulduğum düzeltme ~/.inputrc , aşağıdaki satırları oluşturmak / düzenlemek (veya düzenlemek /etc/inputrc) idi:

set input-meta on
set output-meta on
set convert-meta off

Şimdi umlaut yazabilirim. Bunun genel olarak xterms için geçerli olduğuna inanıyorum.


Teşekkürler, bu, umlaut sorununu çözer! Ama yine de ~, ^ veya ¨ gibi karakterler yazamıyorum.
jonas

Bunu benim için de düzeltti (yeni bir girişten sonra) ama yine de garip bir şey var: yazdığımda öö alıyorum, ancak gizli bir karakter de var: Sadece yazdığım halde iki karakter silebilirim bir ö. LANG=de_DE.UTF-8Komut satırına girmek bu oturum için bunu yapar, ancak yeni bir kabukta
gider

@ rubo77 eklenti export LANG=de_DE.UTF-8sizin için~/.bashrc
naitsirch

5

İle doğru yerel ayarları yapın

sudo dpkg-reconfigure locales

Orada de_DE.UTF-8ayarınız olarak seçersiniz . Bu tüm sorunları çözer;)

Bilgi: için değerinin değiştirilmesi set convert-meta offhalinde /etc/inputrcçalışmayı tamamen değildir:
O da bu tür sabit, ama bir şey garip hala var: Ben yazarsanız öben ö olsun, ama ö önünde bir gizli karakter var gibi görünüyor: I can yalnızca bir ö yazmış olsam da iki karakteri geri sil


Cevabınız için teşekkür ederim, ne yazık ki önerinizin sonucunu test edemiyorum, çünkü bu sorun meydana gelen sistem artık mevcut değil. Ayrıca, neden yerel ayarı de_CH.UTF-8'den de_DE.UTF-8 olarak değiştirmenin durumu değiştirmesi gerektiğini anlamıyorum.
jonas

Emin değilim, daha önce İngilizce bir düzen vardı. Ama belki ch düzeni ö için de deadkey kullanır.
rubo77

Evet, öyle, de_CH İsviçre-Alman düzeni, Alman düzenine çok benziyor.
jonas

1
Bu sorunun benzer bir sorunu olan ancak CH düzenini kullanmayan kullanıcılar için kalması gerektiğini düşünüyorum. Sanırım çözüm dpkg-reconfigure localestekrar çalıştırmak (kullandığım belirli bir düzen değil)
rubo77

Kabul! Keşke sorunu çözüp çözmediğini test edebilirim.
jonas

-1

Belirtilen cevaplara ek olarak, yerel ayarlarınız derlenmemiş olabilir. / Usr / share altında yerel ayar kaynak dosyaları ve / usr / lib altında derlenmiş yerel ayar dosyaları vardır. / Usr / lib altındaki dosyalar zarar görmüş veya derlenmemiş olabilir. Dosyaları derlemek için localedef yardımcı programını kullanabilirsiniz. Veya Debian tabanlı sistemlerde dpkg-reconfigure.

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.