Ich versuche, das lateinamerikanische spanische Tastaturlayout auf IBus für Debian Bulleye in MATE hinzuzufügen, aber ich erhalte nur spanisches Spanisch

Ich versuche, das lateinamerikanische spanische Tastaturlayout auf IBus für Debian Bulleye in MATE hinzuzufügen, aber ich erhalte nur spanisches Spanisch

Ich verwende Debian 11 Bullseye für AMD64 auf einem HP Pavillion Touch 14-N009LA-Laptop und verwende IBus und MATE als Desktop-Umgebung. Ich habe vor Kurzem ein Upgrade von Buster durchgeführt. Vor dem Upgrade der Zwischenversion konnte ich mit IBus das lateinamerikanische Tastaturlayout verwenden. Danach ist dies nicht mehr möglich.

Die App „Tastatureinstellungen“ im MATE Control Center zeigt das lateinamerikanische spanische Layout an und ich kann es manuell setxkbmap latamauf einem Terminal einstellen (bevor IBus eingreift und es ersetzt), aber auf IBus wird mir nur die „spanische“ Tastatur angezeigt, die der spanischen Tastatur mit anderen Satzzeichentasten entspricht; es gibt keine Option für „Lateinamerikanisch“ oder etwas Ähnliches.

Beim Ausführen ibus list-engineerhalte ich die folgende Ausgabe, in der ich das lateinamerikanische spanische Layout nicht sehen kann und keine Übereinstimmungen für latamoder ähnliches:

<irrelevant languages omitted>
language: Spanish
  xkb:es:nodeadkeys:spa - Spanish (no dead keys)
  xkb:es:sundeadkeys:spa - Spanish (Sun dead keys)
  xkb:es:winkeys:spa - Spanish (Windows)
  xkb:es:dvorak:spa - Spanish (Dvorak)
  xkb:es:deadtilde:spa - Spanish (dead tilde)
  xkb:es:mac:spa - Spanish (Macintosh)
  xkb:es::spa - Spanish
<irrelevant languages omitted>

Bisher konnte ich nur findeneine Anleitung, die nur für Ubuntu zu gelten scheint, Undder Arch Linux-Leitfaden für IBus.

In der vorherigen Anleitung wurde vorgeschlagen, dass ich möglicherweise eine spanische Lokalisierung für mein System generieren müsste. Dies tat ich, indem ich die es-MXLokalisierungen auskommentierte /etc/locale.genund dann ausführte locale-gen. Anschließend startete ich mein System neu. Es funktionierte nicht.

Irgendwelche anderen Ideen, wie ich das lateinamerikanische spanische Layout auf IBus für Debian Bullseye verwenden könnte?

Antwort1

AKTUALISIEREN.Ich habe festgestellt, dassdas neuste Commit im IBus-Quellcodehat die schwarze Liste bereits umgesetzt, und dasalle lateinamerikanischen Layouts sind standardmäßig auf der schwarzen Liste.

Dies betrifft den Generierungsprozess, der zur Build-Zeit mit einem Python-Skript durchgeführt wird, das wiederum die verfügbaren X-Layouts bezieht von /usr/share/X11/xkb/rules/evdev.xml,wie dieser Kommentar klar zum Ausdruck bringt.

Der genaue Commit, bei dem diese Einschränkung implementiert wurdeist hier. Der Grund, warum dies getan wurde, ist mir ehrlich gesagt schleierhaft, und bis diese Situation richtig angegangen wird, muss die Lösung angewendet werden, die ich unten vorschlagejedes Mal, wenn IBus aktualisiert wird(wie angegebenin dieser vorherigen Antwort).


Ich hatte in Xubuntu 22.04 dasselbe Problem und habe vor Kurzem einen Workaround verwendet, bei dem eine Whitelist bearbeitet wird.

Auch wenn behauptet wird,IBus 1.5.23 würde anstelle der derzeit verwendeten Whitelist eine Blacklist enthalten, sodass hinzugefügte Engines automatisch als auswählbare Layouts angezeigt werden. Diese Funktion muss anscheinend noch implementiert werden (ich habe derzeit Version 1.5.26).

Damit es funktioniert, habe ich Folgendes getan:

  1. Öffnen Sie die Datei /usr/share/ibus/component/simple.xmlmit sudound dem Editor Ihrer Wahl.

  2. Suchen Sie den xkb:es::spaMotor. Bei meiner Maschine sieht er so aus:

<engine>
    <name>xkb:es::spa</name>
    <language>es</language>
    <license>GPL</license>
    <author>Peng Huang &lt;[email protected]&gt;</author>
    <layout>es</layout>
    <longname>Spanish</longname>
    <description>Spanish</description>
    <icon>ibus-keyboard</icon>
    <rank>50</rank>
</engine>
  1. Sobald Sie das <engine>Tag gefunden haben, kopieren Sie es und fügen Sie es daneben ein (als Geschwister, auf derselben Ebene) und ändern Sie die folgenden Tag-Werte:

    • name, von xkb:es::spabis xkb:latam::spa.
    • layout, von esbis latam.
    • longname, zu einem beliebigen Text hinzu, damit Sie ihn von anderen Layouts unterscheiden können.

Jetzt sollte es so aussehen:

<!-- I added this one. vvv -->
<engine>
    <name>xkb:latam::spa</name>
    <language>es</language>
    <license>GPL</license>
    <author>logo_writer</author>
    <layout>latam</layout>
    <longname>Spanish Latam</longname>
    <description>Spanish Latam</description>
    <icon>ibus-keyboard</icon>
    <rank>50</rank>
</engine>
<!-- I added this one. ^^^ -->

<engine>
    <name>xkb:es::spa</name>
    <language>es</language>
    <license>GPL</license>
    <author>Peng Huang &lt;[email protected]&gt;</author>
    <layout>es</layout>
    <longname>Spanish</longname>
    <description>Spanish</description>
    <icon>ibus-keyboard</icon>
    <rank>50</rank>
</engine>
  1. Sobald die neue Engine hinzugefügt wurde, speichern Sie die Datei.

  2. Starten Sie den IBus-Dienst neu, indem Sie den Befehl ausgeben ibus restart.

  3. Geben Sie nach dem Neustart von IBus ibus list-enginedie neue Engine ein und überprüfen Sie, ob sie in der Liste angezeigt wird.

Auf meiner Maschine habe ich die folgenden Konfigurationen. Die, die ich hinzugefügt habe, ist Spanish Latam.

$ ibus list-engine | grep -A 7 Espa
idioma: Español
  xkb:es:nodeadkeys:spa - Spanish (no dead keys)
  xkb:es:winkeys:spa - Spanish (Windows)
  xkb:es:dvorak:spa - Spanish (Dvorak)
  xkb:es:deadtilde:spa - Spanish (dead tilde)
  xkb:latam::spa - Spanish Latam
  xkb:es:mac:spa - Spanish (Macintosh)
  xkb:es::spa - Spanish
  1. Stellen Sie mit ibus-setupoder ibus enginedas Layout auf das zuvor erstellte ein. Jetzt sollte es funktionieren.

Ich hoffe, das funktioniert für Sie. :)

Antwort2

Ich habe gerade alle Tastaturen aus demIbus-Einstellungenund führen Sie dann den folgenden Befehl aus:setxkbmap latamim Terminal.

verwandte Informationen