Não é possível digitar nenhum caractere ou trema especial no terminal


13

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

Respostas:


17

Eu estava tendo um problema semelhante ao conectar via ssh ao Mac OS X usando um emulador de terminal. Embora eu tenha definido LANG como de_DE.UTF-8não consegui digitar nenhum caractere com trema.

A correção que encontrei foi criar / editar ~/.inputrc (ou editar as seguintes linhas /etc/inputrc):

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

Agora eu posso digitar tremas. Eu acredito que isso se aplica aos xterms em geral.


Obrigado, isso corrige o problema do trema! Mas ainda não consigo digitar caracteres como ~, ^ ou ¨.
jonas

Isso também foi corrigido para mim (após um novo login), mas ainda há algo estranho: se eu digitar ö, recebo um ö, mas parece haver também um caracter oculto: posso excluir o Backspace de dois caracteres, embora apenas tenha digitado um ö. Entrando LANG=de_DE.UTF-8na linha de comando fises isso para essa sessão, mas se foi em um novo shell
rubo77

@ rubo77 adicione export LANG=de_DE.UTF-8ao seu~/.bashrc
naitsirch 4/17/17

5

Defina os locais certos com

sudo dpkg-reconfigure locales

Lá você selecionaria de_DE.UTF-8como sua configuração. Isso resolve todos os problemas;)

Info: Alterar o valor de set convert-meta offin /etc/inputrcnã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 um


Obrigado pela sua resposta, infelizmente não posso testar o resultado da sua sugestão, pois o sistema em que esse problema ocorreu não existe mais. Além disso, não entendo por que alterar o código do idioma de de_CH.UTF-8 para de_DE.UTF-8 deve mudar a situação.
jonas

Não tenho certeza, eu tinha um layout em inglês antes. Mas talvez o layout ch também use chaves mortas para ö?
rubo77

Sim, sim, de_CH é o layout suíço-alemão, é muito semelhante ao layout alemão.
jonas

1
Acho que essa resposta deve permanecer para usuários que têm um problema semelhante, mas não usam o layout CH. Eu acho que a solução é correr dpkg-reconfigure localesnovamente (não o específico de layout que eu usei)
rubo77

Acordado! Eu gostaria de poder testar se isso resolve o problema.
jonas

-1

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.