Gnome 3.22.1 kullanıyorum ancak 3.18'den beri sorun var.
Bundan önce (tam sürümü hatırlamıyorum) Xkb-cadı , başlık altında X.org bağlarını kullanan basit bir uygulama kullanarak klavye düzenini değiştirebildim .
3.18'den sonra xkb-switch çalıştırırsanız, klavye düzeni gnome olarak değiştirilmez. Daha fazla araştırma, düzen değiştirmenin çok kısa bir süre için çalıştığını göstermiştir.
Bu komut dosyasını çalıştırırsanız:
for i in $(seq 1000); do
lang=$(xkb-switch -s ru; xkb-switch);
if [[ "$lang" == "ru" ]]; then
echo $lang;
fi;
done
Ne kadar şanslı olduğunuza bağlı olarak 3 ila 20 "başarılı" düzen geçişi elde edersiniz.
Bu sorunu araştırdıktan sonra ben aşağıdaki tavsiyede bulunuyorum :
gsettings set org.gnome.desktop.input-sources current 0
Ayar değiştiriliyor, ancak düzen aynı kalıyor.
Düzeni değiştirmek için bir "hacky" yöntemi buldum:
setxkbmap us,ru
setxkbmap ru,us
ancak gnome kabuğu bu değişikliğin farkında değildir ve düzen göstergesinde yanlış dil gösterir.
Bu sorun hakkında yayınladım (üzgünüm, yeterli itibar, https: //bbs.archlinux.org/viewtopic.php? Pid = 1657582 https: //github.com/ierton/xkb-switch/issues/15), ama iyi cevaplar alma şansı olmadı.
Ve bu noktada sıkıştım. Gnome kabuk kodunda sorunu tanımlayacak kadar yetenekli değilim. Bunun (gnome kabuğunun) problemi olduğundan bile emin değilim.
İstediğim, klavye düzenini terminalden değiştirmek için gnome farkında bir yoldur. Birisi beni doğru yönde gösterebilir mi? Bunu bir hata olarak dosyalamalıyım (özellikle klavye düzeninin ayarlarla değiştirilememesi)?
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()"