Ich verwende Gnome 3.22.1, aber das Problem besteht seit 3.18.
Davor (ich erinnere mich nicht an die genaue Version) konnte ich das Tastaturlayout mit xkb-witch ändern , einer einfachen Anwendung, die X.org-Bindungen unter der Haube verwendet.
Wenn Sie nach 3.18 xkb-switch ausführen, wird das Tastaturlayout in gnome nicht mehr geändert. Weitere Untersuchungen haben gezeigt, dass die Layoutumschaltung funktioniert, jedoch nur für sehr kurze Zeit.
Wenn Sie dieses Skript ausführen:
for i in $(seq 1000); do
lang=$(xkb-switch -s ru; xkb-switch);
if [[ "$lang" == "ru" ]]; then
echo $lang;
fi;
done
Sie erhalten 3 bis 20 "erfolgreiche" Layoutwechsel, je nachdem, wie viel Glück Sie haben.
Nach dem googeln dieses Problems gebe ich folgenden Rat :
gsettings set org.gnome.desktop.input-sources current 0
Die Einstellung wird geändert, das Layout bleibt jedoch unverändert.
Ich habe eine "hackige" Methode gefunden, um das Layout zu ändern:
setxkbmap us,ru
setxkbmap ru,us
Die Gnome-Shell ist sich dieser Änderung jedoch nicht bewusst und zeigt im Layout-Indikator eine falsche Sprache an.
Ich habe über dieses Problem geschrieben (leider nicht genug Reputation, https: //bbs.archlinux.org/viewtopic.php? Pid = 1657582 https: //github.com/ierton/xkb-switch/issues/15), hatte aber kein glück gute antworten zu bekommen.
Und an diesem Punkt stecke ich fest. Ich bin nicht geschickt genug, um das Problem im Gnome-Shell-Code zu identifizieren. Ich bin mir nicht mal sicher, ob es das Problem (der Gnomenshell) ist.
Was ich möchte, ist eine gnomenbewusste Möglichkeit, das Tastaturlayout vom Terminal aus zu ändern. Kann mich jemand in die richtige Richtung weisen? Sollte ich dies als Fehler melden (insbesondere die Tatsache, dass das Tastaturlayout nicht über gsettings geändert werden kann)?
quelle
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager()._mruSources[1].activate()"
Wenn Sie IBus als Eingabemethode verwenden (dies ist wahrscheinlich die Standardeinstellung), können Sie Ihre Eingabe mit dem folgenden
ibus
Befehl ändern :Mit dem
ibus list-engine
Befehl können Sie alle verfügbaren Layouts anzeigen.Es muss beachtet werden, dass dieser Ansatz den Sprachindikator nicht ändert, obwohl er ansonsten zuverlässig funktioniert.
quelle
setxkbmap us
- danach können Sie das Layout nicht mehr mit den Standardverknüpfungen ändern.setxkbmap
. Darüber hinaussetxkbmap
kann man sich in modernen WM-Umgebungen schlicht fehlerfrei verhalten, siehe dazu die Frage.Verwenden
gsettings
.Wenn Sie
org.gnome.desktop.input-sources.sources
die Null- Liste auf "[]" setzen, können Sie die X-Server- Tastaturkonfiguration verwenden, ohne dass Gnome-Shell versucht, sie zu konfigurieren, sodass Sie möglicherweise wie zuvor vorgehen können.quelle
setxkbmap
Befehle ich später eingab, bis ich die Eingabequellen über den Einstellungsdialog zurücksetzte.Ich denke, du solltest es versuchen
sudo dpkg-reconfigure keyboard-configuration
quelle
Sie können in der Befehlszeile eine Eingabemethode einrichten und zu dieser wechseln, auch wenn Sie diese Eingabemethode noch nicht mit der Maus eingerichtet haben:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'ru')]"
Verwenden Sie für Dvorak
us+dvorak
(oder,gb+dvorak
wenn Sie in Großbritannien sind, oder was auch immer).quelle