Impossible de saisir un caractère spécial ou un tréma dans le terminal

13

Environnement:
J'utilise Ubuntu 11.10 avec wmii 3.9 comme GUI et uxterm comme terminal avec bash comme shell. Le matériel est un Lenovo ThinkPad W500 avec une disposition de clavier Swissgerman (j'ai donc besoin de trémas). J'utilise ibus pour l'entrée japonaise.

Symthoms:
Quand je tape des touches / caractères comme ~, ^dans le terminal, rien ne se passe. Si j'appuie sur ö' (arg: 6)' apparaît, ärien ne se passe, avec üparfois une commande de l'historique apparaît.
C'est le même comportement dans tous les terminaux que j'ai testés jusqu'à présent (gnome-terminal, xfce4-terminal, xterm). Il fonctionne comme vous le souhaitez dans d'autres applications X comme le navigateur Chrome, Skype ou les éditeurs de texte.

Information additionnelle:

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

Réponses:

17

J'avais un problème similaire lors de la connexion via ssh à Mac OS X à l'aide d'un émulateur de terminal. Bien que j'aie défini LANG, de_DE.UTF-8je ne pouvais pas taper de caractères avec des trémas.

Le correctif que j'ai trouvé était de créer / modifier ~/.inputrc (ou de modifier les lignes suivantes /etc/inputrc):

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

Maintenant, je peux taper des trémas. Je crois que cela s'applique aux xterms en général.

arcdale
la source
Merci, cela résout le problème du tréma! Mais je ne suis toujours pas en mesure de taper des caractères comme ~, ^ ou ¨.
jonas
Cela a corrigé cela pour moi aussi (après une nouvelle connexion) mais il y a toujours quelque chose d'étrange: si je tape, öj'obtiens un ö, mais il semble aussi y avoir un caractère caché: je peux supprimer deux caractères de retour arrière, même si je n'ai tapé que un ö. Entrer LANG=de_DE.UTF-8dans la ligne de commande résout cela pour cette session, mais est parti dans un nouveau shell
rubo77
@ rubo77 ajouter export LANG=de_DE.UTF-8à votre~/.bashrc
naitsirch
5

Définissez les bons paramètres régionaux avec

sudo dpkg-reconfigure locales

Là, vous sélectionnez de_DE.UTF-8comme paramètre. Cela résout tous les problèmes;)

Info: La modification de la valeur de set convert-meta offin /etc/inputrcne fonctionne pas complètement:
elle a corrigé ce genre de problème aussi, mais il y a toujours quelque chose d'étrange: si je tape, öj'obtiens un ö, mais il semble y avoir un caractère caché devant le ö: je peux effacez deux caractères de retour arrière bien que je n'en ait tapé qu'un ö

rubo77
la source
Merci pour votre réponse, malheureusement je ne peux pas tester le résultat de votre suggestion, car le système sur lequel ce problème s'est produit n'existe plus. De plus, je ne comprends pas pourquoi le changement des paramètres régionaux de de_CH.UTF-8 à de_DE.UTF-8 devrait changer la situation.
jonas
Pas sûr, j'avais une mise en page en anglais avant. Mais peut-être que la disposition ch utilise également des touches mortes pour ö?
rubo77
Oui, de_CH est la disposition suisse-allemande, elle est très similaire à la disposition allemande.
jonas
1
Je pense que cette réponse devrait rester pour les utilisateurs qui ont un problème similaire, mais n'utilisez pas la disposition CH. Je suppose que la solution est de dpkg-reconfigure locales
relancer
D'accord! Je souhaite, je pourrais tester si cela résout le problème.
jonas
-1

En plus des réponses mentionnées, il se peut que vos paramètres régionaux ne soient pas compilés. Il y a des fichiers sources locaux sous / usr / share et des fichiers locaux compilés sous / usr / lib. Ceux sous / usr / lib peuvent être endommagés ou non compilés pour corriger que vous pouvez utiliser l'utilitaire localedef pour compiler les fichiers. Ou sur les systèmes basés sur Debian dpkg-reconfigure.

Toasterson
la source