无法在终端中输入任何特殊字符或变音符号

无法在终端中输入任何特殊字符或变音符号

环境:
我使用的是 Ubuntu 11.10,其中 wmii 3.9 为 GUI,uxterm 为终端,bash 为 shell。硬件是联想 ThinkPad W500,采用瑞士德语键盘布局(因此我需要变音符号)。我使用 ibus 进行日文输入。

症状:
当我在终端中键入~诸如 之类的键/字符时^没有什么发生。如果我按ö(arg: 6)”,则ä不会发生任何事情,ü有时会出现历史记录中的命令。
到目前为止,我测试的所有终端(gnome-terminal、xfce4-terminal、xterm)中的行为都相同。它在其他 X 应用程序(如 chromium-browser、skype 或 texteditors)中按预期工作。

附加信息:

> 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)"     };
};

答案1

当我使用终端仿真器通过 ssh 连接到 Mac OS X 时,我也遇到了类似的问题。尽管我已将 LANG 设置为,但de_DE.UTF-8我无法输入任何带变音符号的字符。

我发现的修复方法是创建/编辑~/.inputrc (或编辑以下几行/etc/inputrc):

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

现在我可以输入变音符号了。我相信这适用于一般的 xterms。

答案2

使用以下方式设置正确的语言环境

sudo dpkg-reconfigure locales

您将在那里选择de_DE.UTF-8您的设置。这解决了所有问题 ;)

set convert-meta off信息:更改in的值/etc/inputrc并不完全有效:
它也修复了这种问题,但仍然有一些奇怪的事情:如果我输入,ö我会得到一个 ö,但在 ö 前面似乎有一个隐藏的字符:我可以删除 wich Backspace 两个字符,尽管我只输入了一个 ö

答案3

除了上述答案之外,还可能是您的语言环境未编译。/usr/share 下有语言环境源文件,/usr/lib 下有已编译的语言环境文件。/usr/lib 下的文件可能已损坏或未编译,要修复此问题,您可以使用 localedef 实用程序编译文件。或者在基于 Debian 的系统上使用 dpkg-reconfigure。

相关内容