it-swarm.com.de

Verschiedene Eingabemethoden verstehen und einrichten

Ich benutze Trisquel GNU/Linux 7.0 LTS mit GNOME 3 Flashback Umgebung.

Ich habe von drei verschiedenen Eingabemethoden gehört, nämlich. ibus, xim und uim. Und es scheint, dass ibus auf meinem System vorinstalliert ist.

$ cat trisquel_7.0_i686.iso.manifest | grep ibus
gir1.2-ibus-1.0 1.5.5-1ubuntu3
ibus 1.5.5-1ubuntu3
ibus-gtk:i386 1.5.5-1ubuntu3
ibus-m17n 1.3.4-3ubuntu1
ibus-table 1.5.0.is.1.5.0.20130419-2
libibus-1.0-5:i386 1.5.5-1ubuntu3
libusb-0.1-4:i386 2:0.1.12-23.3ubuntu1
libusb-1.0-0:i386 2:1.0.17-1ubuntu2
libusbmuxd2 1.0.8-2ubuntu1
libustr-1.0-1:i386 1.0.4-3ubuntu2

Während ich vor diesem Problem stand, lernte ich, wie man uim installiert und mit GTK_IM_MODULE="uim" Unter ~/.profile Einrichtet. Kürzlich habe ich uim entfernt und die Zeile GTK_IM_MODULE="uim" Aus ~/.profile Entfernt. Aber um diesen Fehler zu überwinden, plane ich, ibus jetzt loszuwerden.

Ohne Installation einer zusätzlichen Eingabemethode (z. B. Neuinstallation von Trisquel) gibt echo $GTK_IM_MODULExim aus. Ich bin also verwirrt, weil die Standardeingabemethode ibus ist. dann warum sagt $GTK_IM_MODULExim?

Kann ich auch apt-get remove ibus? oder sollte ich zuerst uim installieren und dann ibus entfernen? Außerdem möchte ich wissen, welche Eingabemethode derzeit funktioniert ibus oder xim? Und wie kann die Eingabemethode richtig eingestellt werden (d. H. GTK_IM_MODULE="uim" Auf ~/.profile)?

Außerdem habe ich ein Einstellungsschema gefunden:

$ gsettings get org.gnome.desktop.interface gtk-im-module
'gtk-im-context-simple'

Kurz/allgemein Ich brauche Hilfe, um die Installation/Entfernung und Einrichtung verschiedener Eingabemethoden zu verstehen:

  • Woher weiß ich, welche Eingabemethode gerade aktiv ist?
  • Wie installiere und richte ich verschiedene Eingabemethoden ein? (Soll ich einen anderen entfernen?)
23
Pandya

Der gesamte X11-Eingabestapel ist ein Chaos. Erstens benötigen Sie kein spezielles Framework für Eingabemethoden, wenn Sie nur lateinische Zeichen oder mehrstellige Kompositionssequenzen eingeben, wie sie in Ihrem XKB-Tastaturlayout definiert sind. Genau genommen erfordern alle Mehrtastensequenzen, wie z. B. Totschlüssel, eine sehr einfache Eingabemethode. Sie werden jedoch von libx11/XKB bereitgestellt und funktionieren ohne zusätzliches IM-Framework. Es ist also vollkommen in Ordnung, alle ibus-, uim-, fcitx- oder anderen Eingabemethoden zu deinstallieren, wenn Sie keine Sprachen wie Chinesisch oder Japanisch eingeben müssen.

Wie Sie bereits sagten, hat Gnome ibus zur Standardeingabemethode gemacht, eine Entscheidung, über die sich nicht alle freuten. Es gibt viele Leute, die fcitx (was bei den meisten KDE-Distributionen die Standardeinstellung zu sein scheint) aus mehreren Gründen gegenüber ibus bevorzugen: sei es die richtige Sprachunterstützung (meistens Japanisch vs. vereinfacht vs. traditionelles Chinesisch) oder Leistungsprobleme. Da ich keine östlichen Sprachen spreche, die ein spezielles IM-Framework benötigen, kann ich dieser Debatte nichts hinzufügen. Wenn Sie jedoch an weiteren Details zu fcitx vs ibus interessiert sind, sollten Sie diesen leicht veralteten (2012), aber wahrscheinlich immer noch genauen LWN-Artikel lesen.

Die Tatsache, dass ibus die Standard-IM für Gnome ist, macht es jedoch nicht obligatorisch. Sie können jede andere oder gar keine Eingabemethode verwenden. Die IM-Konfiguration erfolgt über Umgebungsvariablen. Aber außer wenn Sie ausschließlich GTK + -Anwendungen verwenden (was ich bezweifle), sollten Sie mehr als nur GTK_IM_MODULE Festlegen. Die richtige Methode zum Festlegen einer Eingabemethode ist:

export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
export XMODIFIERS="@im=fcitx"

im Falle von fcitx oder

export GTK_IM_MODULE="ibus"
export QT_IM_MODULE="ibus"
export XMODIFIERS="@im=ibus"

im Falle von ibus. uim funktioniert genauso. Wenn Sie eine Eingabemethode explizit deaktivieren möchten, verwenden Sie die folgenden Einstellungen:

export GTK_IM_MODULE="gtk-im-context-simple"
export QT_IM_MODULE="simple"

Eine leere Zeichenfolge funktioniert ebenfalls.

Sie können diese Variablen entweder systemweit in /etc/profile (Oder einer dedizierten Datei in /etc/profile.d) Oder in Ihrem lokalen ~/.xprofile Festlegen. Durch Einstellen von ~/.bashrc Oder ~/.profile Wird nicht sichergestellt, dass die Zeilen ausgeführt werden, wenn Sie sich mit einem grafischen Anmeldemanager wie GDM, SDDM, KDM oder LightDM bei Ihrem System anmelden. Wenn Sie Ihre X-Sitzung mit XDM, Slim oder startx starten, müssen Sie diese Zeilen in ~/.xinitrc Einfügen.

Wenn Sie eine andere Eingabemethode als ibus konfiguriert haben, gehen Sie anschließend zu den Gnome-Einstellungen und stellen Sie sicher, dass alle ibus-bezogenen Einstellungen deaktiviert sind, insbesondere Tastaturkürzel. Alternativ können Sie Gnome anweisen, Ihre Tastatureinstellungen nicht zu berühren, indem Sie:

gsettings set org.gnome.settings-daemon.plugins.keyboard active false

oder deinstallieren Sie ibus insgesamt.

Was ist nun mit XIM? XIM ist ein ziemlich veraltetes Eingabemethodenprotokoll, das sowohl ibus als auch fcitx nur aus Gründen der älteren Unterstützung implementieren. Es gibt keinen wirklichen Grund, warum Sie heutzutage XIM über einen dieser beiden verwenden möchten. Der einzige Grund, warum Sie GTK_IM_MODULE="xim" Setzen möchten, ist überschreiben Sie die fest codierten ComposeKey-Einstellungen von GTK .

Um Ihre andere Frage zu beantworten: Ich glaube nicht, dass es wirklich eine Möglichkeit gibt, festzustellen, welche Eingabemethode derzeit aktiv ist, außer die Umgebungsvariablen zu betrachten oder zu wissen, welche IMs auf Ihrem System installiert sind. Wenn GTK_IM_MODULE Nicht festgelegt ist, wählt GTK eine integrierte IM basierend auf den Konfigurationen in /etc/gtk-2.0/gtk.immodules Aus. GTK 3.0 sucht in /usr/lib/gtk-3.0/3.0.0/immodules.cache, Das von gtk-query-immodules-3.0 Erzeugt wird.

Der Grund, warum GTK_IM_MODULE Auf xim gesetzt ist, ist wahrscheinlich eine Streuvariablendefinition irgendwo in /etc/profile, /etc/profile.d/* Oder einer anderen Ihrer lokalen oder globalen Shell-RC-Dateien . Sie können diese Variable jederzeit deaktivieren oder überschreiben, wenn Sie dies für erforderlich halten.

Demnach Kommentar zum Gnome-Fehlerbericht Ich gehe jedoch davon aus, dass der über gsettings konfigurierte Wert den in GTK_IM_MODULE Für DBus-aktivierte Anwendungen festgelegten Wert überschreibt. Zumindest Ihre Gnome-Anwendungen verwenden derzeit wahrscheinlich gtk-im-context-simple, Was effektiv Standardverhalten bedeutet (d. H. Kein ibus oder eine andere dedizierte IM).

53