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 latam
auf 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-engine
erhalte ich die folgende Ausgabe, in der ich das lateinamerikanische spanische Layout nicht sehen kann und keine Übereinstimmungen für latam
oder ä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-MX
Lokalisierungen auskommentierte /etc/locale.gen
und 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:
Öffnen Sie die Datei
/usr/share/ibus/component/simple.xml
mitsudo
und dem Editor Ihrer Wahl.Suchen Sie den
xkb:es::spa
Motor. Bei meiner Maschine sieht er so aus:
<engine>
<name>xkb:es::spa</name>
<language>es</language>
<license>GPL</license>
<author>Peng Huang <[email protected]></author>
<layout>es</layout>
<longname>Spanish</longname>
<description>Spanish</description>
<icon>ibus-keyboard</icon>
<rank>50</rank>
</engine>
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
, vonxkb:es::spa
bisxkb:latam::spa
.layout
, vones
bislatam
.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 <[email protected]></author>
<layout>es</layout>
<longname>Spanish</longname>
<description>Spanish</description>
<icon>ibus-keyboard</icon>
<rank>50</rank>
</engine>
Sobald die neue Engine hinzugefügt wurde, speichern Sie die Datei.
Starten Sie den IBus-Dienst neu, indem Sie den Befehl ausgeben
ibus restart
.Geben Sie nach dem Neustart von IBus
ibus list-engine
die 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
- Stellen Sie mit
ibus-setup
oderibus engine
das 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.