Im Terminal können keine Sonderzeichen oder Umlaute eingegeben werden


13

Umgebung:
Ich benutze Ubuntu 11.10 mit wmii 3.9 als GUI und uxterm als Terminal mit bash als Shell. Die Hardware ist ein Lenovo ThinkPad W500 mit einem schweizerdeutschen Tastaturlayout (daher brauche ich Umlaute). Ich benutze ibus für japanische Eingabe.

Symthome:
Wenn ich Tasten / Zeichen wie eingebe~ , passiert ^im Terminal nichts . Wenn ich ö' (arg: 6)' drücke , äpassiert nichts, ümitunter erscheint ein Befehl aus dem Verlauf.
Es ist das gleiche Verhalten in allen Terminals, die ich bisher getestet habe (Gnome-Terminal, XFCE4-Terminal, XTERM). Es funktioniert wie gewünscht in anderen X-Anwendungen wie Chrom-Browser, Skype oder Texteditoren.

Zusätzliche Information:

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

Antworten:


17

Ich hatte ein ähnliches Problem beim Herstellen einer Verbindung über ssh mit Mac OS X mithilfe eines Terminalemulators. Obwohl ich LANG auf gesetzt hatte, de_DE.UTF-8konnte ich keine Zeichen mit Umlauten eingeben .

Das Update, das ich gefunden habe, war das Erstellen / Bearbeiten ~/.inputrc (oder Bearbeiten der folgenden Zeilen in /etc/inputrc):

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

Jetzt kann ich Umlaute eingeben. Ich glaube, das gilt allgemein für xterms.


Danke, das behebt das Umlautproblem! Aber ich kann immer noch keine Zeichen wie ~, ^ oder ¨ eingeben.
Jonas

Es hat das für mich auch irgendwie behoben (nach einem neuen Login), aber es gibt immer noch etwas Seltsames: Wenn ich ötippe, bekomme ich ein ö, aber es scheint auch ein verstecktes Zeichen zu geben: Ich kann die Rücktaste zwei Zeichen löschen, obwohl ich nur getippt habe eins ö. Das Eingeben LANG=de_DE.UTF-8der Befehlszeile ist für diese Sitzung fällig, wird jedoch in einer neuen Shell ausgeführt
rubo77

@ rubo77 Add export LANG=de_DE.UTF-8zu Ihrem~/.bashrc
naitsirch

5

Stellen Sie mit die richtigen Locales ein

sudo dpkg-reconfigure locales

Dort würdest du de_DE.UTF-8als deine Einstellung auswählen . Das löst alle Probleme;)

Info: Das Ändern des Wertes für set convert-meta offin /etc/inputrcfunktioniert nicht ganz:
Es hat diese Art von auch behoben, aber es gibt immer noch etwas Seltsames: Wenn ich ötippe, erhalte ich ein ö, aber es scheint ein verstecktes Zeichen vor dem ö zu geben: Ich kann lösche die Rücktaste zwei Zeichen obwohl ich nur ein ö eingegeben habe


Vielen Dank für Ihre Antwort. Leider kann ich das Ergebnis Ihres Vorschlags nicht testen, da das System, bei dem dieses Problem aufgetreten ist, nicht mehr existiert. Außerdem verstehe ich nicht, warum das Ändern des Gebietsschemas von de_CH.UTF-8 zu de_DE.UTF-8 die Situation ändern sollte.
Jonas

Ich bin mir nicht sicher, ob ich vorher ein englisches Layout hatte. Aber vielleicht benutzt das Ch-Layout auch Deadkeys für ö?
Rubo77

Ja, de_CH ist das schweizerdeutsche Layout, es ist dem deutschen Layout sehr ähnlich.
Jonas

1
Ich denke, diese Antwort sollte für Benutzer bleiben, die ein ähnliches Problem haben, aber nicht das CH-Layout verwenden. Ich denke, die Lösung ist, dpkg-reconfigure localeserneut zu starten (nicht das von mir verwendete Layout)
rubo77

Einverstanden! Ich wünschte, ich könnte testen, ob es das Problem löst.
Jonas

-1

Zusätzlich zu den genannten Antworten kann es sein, dass Ihre Ländereinstellungen nicht kompiliert werden. Unter / usr / share befinden sich lokale Quelldateien und unter / usr / lib kompilierte lokale Dateien. Die Dateien unter / usr / lib sind möglicherweise beschädigt oder wurden nicht kompiliert, um zu beheben, dass Sie das Dienstprogramm localedef zum Kompilieren der Dateien verwenden können. Oder auf Debian-basierten Systemen dpkg-reconfigure.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.