Estoy usando gnome 3.22.1 pero el problema existe desde 3.18.
Antes de eso (no recuerdo la versión exacta) pude cambiar la distribución del teclado usando xkb-witch , una aplicación simple que usa enlaces X.org debajo del capó.
Después de 3.18 si ejecuta xkb-switch, la distribución del teclado no se cambiará en gnome. Investigaciones posteriores han demostrado que el cambio de diseño funciona, pero por un período de tiempo muy corto.
Si ejecuta este script:
for i in $(seq 1000); do
lang=$(xkb-switch -s ru; xkb-switch);
if [[ "$lang" == "ru" ]]; then
echo $lang;
fi;
done
Obtendrá de 3 a 20 cambios de diseño "exitosos", dependiendo de la suerte que tenga.
Después de buscar en Google este problema, el siguiente consejo :
gsettings set org.gnome.desktop.input-sources current 0
Se está cambiando la configuración, pero el diseño permanece igual.
He encontrado un método "hacky" para cambiar el diseño:
setxkbmap us,ru
setxkbmap ru,us
pero el shell gnome no es consciente de ese cambio y muestra un lenguaje incorrecto en el indicador de diseño.
He publicado sobre este problema (lo siento, no hay suficiente reputación, https: //bbs.archlinux.org/viewtopic.php? Pid = 1657582 https: //github.com/ierton/xkb-switch/issues/15), pero no tuve suerte de obtener buenas respuestas.
Y en este punto estoy atascado. No tengo la habilidad suficiente para identificar el problema en el código de shell gnome. Ni siquiera estoy seguro de que sea el problema (del gnome shell).
Lo que quiero es una forma consciente de gnome para cambiar la distribución del teclado desde la terminal. ¿Alguien me puede apuntar en la dirección correcta? ¿Debo presentar esto como un error (especialmente el hecho de que la distribución del teclado no se puede cambiar a través de gsettings)?
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()"