Окружение:
я использую Ubuntu 11.10 с wmii 3.9 в качестве графического интерфейса и uxterm в качестве терминала с bash в качестве оболочки. Аппаратное обеспечение - Lenovo ThinkPad W500 с раскладкой клавиатуры Swissgerman (поэтому мне нужно умляуться). Я использую ibus для японского ввода.
Симптомы:
когда я набираю ключ / символ как ~
, ^
в терминале ничего не происходит. Если я нажимаю ö
' (arg: 6)
' появляется, ä
ничего не происходит, ü
иногда появляется команда из истории.
Это одинаковое поведение во всех терминалах, которые я тестировал до сих пор (gnome-терминал, xfce4-терминал, xterm). Он работает, как требуется в других приложениях X, таких как Chromium-браузер, Skype или текстовые редакторы.
Дополнительная информация:
> 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)" };
};
источник
ö
я получаю ö, но, кажется, тоже есть скрытый символ: я могу удалить два символа Backspace, хотя я только набрал одинö
. ВводLANG=de_DE.UTF-8
в командной строке делает это для этой сессии, но пропал в новой оболочкеexport LANG=de_DE.UTF-8
в свой~/.bashrc
Установите правильные локали с помощью
Там вы бы выбрали в
de_DE.UTF-8
качестве настройки. Это решает все проблемы;)Информация: изменение значения
set convert-meta off
in/etc/inputrc
не работает полностью:оно исправило и этот тип, но есть еще кое-что странное: если я набираю,
ö
я получаю ö, но перед ö появляется скрытый символ: я могу удалить два символа Backspace, хотя я набрал только одинисточник
dpkg-reconfigure locales
снова (не конкретный макет, который я использовал)В дополнение к упомянутым ответам может оказаться, что ваши локали не скомпилированы. Исходные файлы локали находятся в / usr / share, а скомпилированные файлы локали в / usr / lib. Они в / usr / lib могут быть повреждены или не скомпилированы, чтобы исправить то, что вы можете использовать утилиту localedef для компиляции файлов. Или в системах на основе Debian dpkg-переконфигурируют.
источник