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)?
fuente
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()"
Si está utilizando IBus como su método de entrada (que es un valor predeterminado probable), puede cambiar su entrada usando el
ibus
comando:Puede ver todos los diseños disponibles con el
ibus list-engine
comando.Cabe señalar que este enfoque no cambia el indicador de idioma, aunque de lo contrario funciona de manera confiable.
fuente
setxkbmap us
, sin forma de cambiar el diseño utilizando accesos directos estándar después de eso.setxkbmap
. Además,setxkbmap
puede actuar con errores en entornos WM modernos, consulte la pregunta para obtener más detalles al respecto.Utilizando
gsettings
.Establecer
org.gnome.desktop.input-sources.sources
la lista nula , "[]", le permite usar la configuración del teclado del servidor X sin que gnome-shell intente configurarla, para que pueda hacerlo como antes.fuente
setxkbmap
comandos escribí después, hasta que volví a colocar las fuentes de entrada a través del diálogo Configuración.Creo que deberías intentarlo
sudo dpkg-reconfigure keyboard-configuration
fuente
Puede configurar y cambiar a un método de entrada en la línea de comando incluso si no ha configurado previamente ese método de entrada con el mouse:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'ru')]"
Para Dvorak, use
us+dvorak
(ogb+dvorak
si está en el Reino Unido, o lo que sea).fuente