Wie kann ich IBus dazu bringen, ~ / .XCompose nicht zu ignorieren?

14

Da UIM nach der Installation von Ubuntu 12.04 nicht von Grund auf spielen wollte, habe ich IBus ausprobiert, da dies das IME-Framework ist, das standardmäßig mit Ubuntu geliefert wird.

Die Verwendung von ibus-table-compose ist jedoch ein Problem , da ich nur zur Eingabe eines Zeichens die Tastenkombination drücken muss, um IBus auszulösen. Geben Sie dann die entsprechende Kompositionssequenz ein und drücken Sie die IBus-Tastenkombination erneut, um sie zu deaktivieren. Stattdessen möchte ich lieber die von XIM bereitgestellte Funktion zum Verfassen von Schlüsseln beibehalten, da dies weniger Tastatureingaben erfordert.

Das Problem ist jedoch, dass wenn die Standardeingabemethode auf IBus gesetzt und IBus deaktiviert ist, so dass (AIUI, da ich es mit ibus-daemon --xim gestartet habe ) es zugunsten von XIM umgangen wird, die Einstellungen in ~ / .XCompose zu sein scheint außer Kraft gesetzt durch IBus eigene Version, so zB Compose ca nicht geben ± (a-ogonek) , wie ich in der definierten .XCompose Datei in meinem Home - Verzeichnis, aber ǎ (a-Hacek), wie von einigen definiert andere Einstellungen.

Ich habe mich ziemlich an meine eigene Mnemnonik gewöhnt. Gibt es also eine Möglichkeit, mein System dazu zu bringen, meine eigene ~ / .XCompose- Datei zu verwenden, wobei die Standardeingabemethode weiterhin auf IBus eingestellt ist, sodass IBus z. B. in OpenOffice und anderen Anwendungen weiterhin funktioniert ? können Sie die Eingabemethode nicht über ein Kontextmenü auswählen?

Hinweis: Dies ist kein Duplikat der Frage. Wie kann ich auf ibus wieder komponieren?

Jipí
quelle
Diese Frage scheint aufgegeben und unbeantwortet zu sein. Wenn Sie es gelöst haben, senden Sie bitte eine Antwort, in der erläutert wird, wie es gelöst wurde (die Beantwortung Ihrer eigenen Fragen ist nicht nur zulässig, sondern wird empfohlen, wenn es keine andere Antwort gibt, die die Aufgabe erfüllt ). Wenn die Frage nicht mehr zutrifft, können Sie sie freiwillig löschen / schließen.
Eric Carvalho

Antworten:

6

Wie von @von angegeben, können Sie Ihre .XComposederzeit NICHT mit IBUS verwenden.

Sie können uimals Eingabemethode, die Unicode unterstützt, sowohl GTK + - als auch Qt-Module mit Legacy- XIMUnterstützung verwenden.

Ein guter Weg, um mit Ihrem .XComposeglobalen Compose umzugehen und es beizubehalten, ist:

  1. Installiere uim:

    sudo apt-get install uim

  2. Machen Sie es zur Standardeingabemethode:

    im-config -n uim

  3. Bearbeiten Sie Ihr .XComposeund fügen Sie das aktuelle Tastaturgebietsschema (in meinem Fall en_US) als erste Zeile hinzu :

    include "/usr/share/X11/locale/en_US.UTF-8/Compose"

  4. Erledigt! Starten Sie die Programme neu, die Sie starten möchten, um Ihre .XComposeDatei abzurufen.

Bekannte Probleme

Ubuntu Unity Dash wird niemals eine Cedilla produzieren.

Andere Distros

Ich .XComposehabe in diesen Tagen ein bisschen mit und Eingabemethoden in modernen Distributionen gespielt, während ich Linux versuchte, das gleiche Tastaturverhalten wie Windows (TM) für lateinische Sprachen beizubehalten (Ausgabe çstatt ć, keine akzentuierten Konsonanten usw.).

Mit dieser Anleitung habe ich ein Repo erstellt (auch für Ubuntu und andere Distributionen): https://github.com/raelgc/win_us_intl

Rael Gugelmin Cunha
quelle
4
Was genau bedeutet "Sie KÖNNEN Ihre .XCompose derzeit NICHT mit IBUS verwenden"? Was hat sich geändert? War diese Änderung im Ubuntu selbst oder in etwas, das Ubuntu benutzt?
Andrybak
@AndreyRybak IBUS ist damals neu XIMund uimunterstützt .XComposenoch keine Dateien (und ich bin mir nicht sicher, ob sich das ändern wird, da ein Jahr später immer noch derselbe Status vorliegt ). Nein, es ist nicht Ubuntu-spezifisch.
Rael Gugelmin Cunha
Es scheint für mich in 16.04 zu funktionieren (mit Gnome).
Bis auf weiteres angehalten.
@DennisWilliamson Du meinst, IBUS und .XCompose? Ich drücke nur die Daumen, dass dies 4 Jahre nach meiner obigen Antwort behoben ist.
Rael Gugelmin Cunha
1
Ja. Ich hatte einen kleinen ~/.Xcomposemit Arbeitseinträgen. Ich habe ein paar neue Einträge hinzugefügt, sie haben nicht funktioniert, dann habe ich es getan ibus restartund alle neuen haben funktioniert.
Bis auf weiteres angehalten.
1

Das Problem ist jedoch, dass wenn die Standardeingabemethode auf IBus gesetzt und IBus deaktiviert ist, so dass (AIUI, da ich es mit ibus-daemon --xim gestartet habe) es zugunsten von XIM umgangen wird, die Einstellungen in ~ / .XCompose scheint von IBus 'eigener Version überschrieben zu werden, also gibt zB Compose ca nicht ± (a-ogonek), wie ich es in der .XCompose-Datei in meinem Home-Verzeichnis definiert habe, sondern ǎ (a-hacek), wie es von einigen definiert wurde andere Einstellungen.

Es scheint, dass es nicht durch andere Einstellungen im Sinne einer Konfigurationsdatei definiert ist, die Sie möglicherweise bearbeiten. Es scheint, dass es in der Datei kompiliert und fest codiert ist gtkimcontextsimpleseqs.h. Es scheint weiterhin nicht einfach zu sein, das gtk_compose_seqs_compactArray in dieser Datei anzupassen und eigene Compose-Schlüsselsequenzen hinzuzufügen. Die Tabelle ist für Platz optimiert und nicht einfach zu bearbeiten. Die Strategie "einfach den Quellcode ändern und neu kompilieren" ist möglicherweise schwieriger als ich dachte.

Ich habe mich ziemlich an meine eigene Mnemnonik gewöhnt. Gibt es also eine Möglichkeit, mein System dazu zu bringen, meine eigene ~ / .XCompose-Datei zu verwenden, wobei die Standardeingabemethode weiterhin auf IBus eingestellt ist, sodass IBus weiterhin funktioniert, z. B. in OpenOffice und anderen Anwendungen? können Sie die Eingabemethode nicht über ein Kontextmenü auswählen?

Es gibt einen Fehlerbericht unter https://bugzilla.gnome.org/show_bug.cgi?id=155010, der einen Patch enthält, mit dem (wie man sagt) die Erstellungstabelle angepasst werden kann. Ihre ~ / .XCompose-Datei würde immer noch nicht verwendet, und die Syntax wäre anders, aber es ist etwas. Aber ich stelle fest, dass der fragliche Fehler immer noch offen ist, also habe ich es wohl noch nicht in die offiziellen Releases geschafft.

von
quelle
1

Da Dennis Williamson in einem Kommentar oben sagte, dass es in 16.04 funktioniert hat, habe ich diese neue 18.04-Installation mit einer kurzen .XComposeKopie meiner vorherigen 16.04-Installation getestet .

# Import default rules from the system Compose file
include "%L"

# Custom definitions
<Multi_key> <R> <R> <R>             : "ʁ"   U0281 # LATIN LETTER SMALL CAPITAL INVERTED R

Dann bin ich ibus restartin ein Terminal gelaufen und kann ʁ eingeben.

Moilleadóir
quelle
0
  1. Stellen Sie global (dh für Ubuntu in /etc/environment) das QT_IM_MODULE, GTK_IM_MODULEVariablen (die letzten nicht benötigt für gnome) auf ibusund XMODIFIERSzu @im=ibus.

  2.α Ausführen setxkbmapmit -option, um den Erstellungsschlüssel zu wählen. ZB das Recht Logo - Taste verwenden: setxkbmap -option compose:rwin. Dies würde beim Neustart überschrieben.

  2.β Um die Einstellung beim Neustart beizubehalten, erstellen Sie die /etc/X11/xorg.conf.d/00-keyboard.confmit dem folgenden Inhalt:

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbOptions"    "compose:rwin"
EndSection

Getestet und funktioniert sowohl für X11 als auch (zumindest setxkbmapübrigens) für Wayland.

Vielen Dank für einen Hinweis geht an Fujiwarat , der gemäß dieser Diskussion aktualisiert wurde .

Hallo Engel
quelle
1
Das Ändern der systemweiten Konfiguration ist jedoch verrückt. Fügen Sie einfach 2alpha und diese Umgebungsvariablen in Ihr .xprofile oder .xinitrc ein, je nachdem, welches Sie verwenden.
enigmaticPhysicist
@enigmaticPhysicist err… lol, was? Lassen Sie es mich nicht sehen - Sie haben zuerst eine abgespeckte Version meiner Antwort erstellt, dann eine für den Zusatz, den Ihre Antwort nicht hat (wie werden Sie die Konfiguration beim Neustart beibehalten, Alter?) , Und die ist optional (wie Sie) kann durch Aufzählung und die Erklärung sehen) .
Hi-Angel
Jemand kann Kritik nicht ertragen ... Hey, hast du zufällig orange Haare?
EnigmaticPhysicist
@enigmaticPhysicist lol du hast keine Kritik gemacht. Sie haben meine Antwort kopiert und dann meine abgelehnt, um an der Spitze zu stehen. Es hätte sogar funktionieren können, wenn Sie den Kommentar nicht hinterlassen hätten, also habe ich es bemerkt und Ihre Antwort markiert. Was den Inhalt Ihres Kommentars betrifft, habe ich bereits geantwortet. Und sorry, ich habe nicht verstanden - worüber scherzen die Orangenhaare?
Hi-Angel