Ambiente:
Estou usando o Ubuntu 11.10 com o wmii 3.9 como GUI e o uxterm como terminal com o bash como shell. O hardware é um Lenovo ThinkPad W500 com um layout de teclado Swissgerman (portanto, preciso de tremas). Estou usando o ibus para entrada em japonês.
Sintomas:
Quando digito chaves / caracteres como ~
, ^
no terminal nada acontece. Se eu pressionar ö
' (arg: 6)
' aparece, sem ä
nada acontecer, ü
às vezes um comando do histórico aparece.
É o mesmo comportamento em todos os terminais que testei até agora (gnome-terminal, xfce4-terminal, xterm). Funciona como desejado em outros aplicativos X, como navegador de cromo, skype ou editores de texto.
Informação adicional:
> 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)" };
};
fonte
ö
, recebo um ö, mas parece haver também um caracter oculto: posso excluir o Backspace de dois caracteres, embora apenas tenha digitado umö
. EntrandoLANG=de_DE.UTF-8
na linha de comando fises isso para essa sessão, mas se foi em um novo shellexport LANG=de_DE.UTF-8
ao seu~/.bashrc
Defina os locais certos com
Lá você selecionaria
de_DE.UTF-8
como sua configuração. Isso resolve todos os problemas;)Info: Alterar o valor de
set convert-meta off
in/etc/inputrc
não está completamente funcionando:ele também corrigiu esse tipo de problema, mas ainda há algo estranho: se eu digitar
ö
, recebo um ö, mas parece haver um caractere oculto na frente do ö: posso excluir o que retrocede dois caracteres, embora eu tenha digitado apenas umfonte
dpkg-reconfigure locales
novamente (não o específico de layout que eu usei)Além das respostas mencionadas, pode ser que seus locais não sejam compilados. Existem arquivos de código de idioma em / usr / share e arquivos de código de idioma compilados em / usr / lib. Aqueles em / usr / lib podem estar danificados ou não serem compilados para corrigir que você pode usar o utilitário localedef para compilar os arquivos. Ou em sistemas baseados na Debian, dpkg-reconfigure.
fonte