Sto usando GNOME 3.22.1 ma il problema esiste dal 3.18.
Prima di allora (non ricordo la versione esatta) sono stato in grado di cambiare il layout della tastiera usando xkb-witch , una semplice applicazione che utilizza i collegamenti X.org sotto il cofano.
Dopo 3.18 se si esegue xkb-switch, il layout della tastiera non verrà cambiato in gnome. Ulteriori indagini hanno dimostrato che il cambio di layout funziona, ma per un periodo di tempo molto breve.
Se esegui questo script:
for i in $(seq 1000); do
lang=$(xkb-switch -s ru; xkb-switch);
if [[ "$lang" == "ru" ]]; then
echo $lang;
fi;
done
Otterrai da 3 a 20 cambi di layout "riusciti", a seconda di quanto sei fortunato.
Dopo aver cercato su Google questo problema, ho il seguente consiglio :
gsettings set org.gnome.desktop.input-sources current 0
L'impostazione è stata modificata, ma il layout rimane lo stesso.
Ho trovato un metodo "hacky" per modificare il layout:
setxkbmap us,ru
setxkbmap ru,us
ma la shell gnome non è a conoscenza di quel cambiamento e mostra un linguaggio errato nell'indicatore di layout.
Ho pubblicato questo problema (scusate, non abbastanza reputazione, https: //bbs.archlinux.org/viewtopic.php? Pid = 1657582 https: //github.com/ierton/xkb-switch/issues/15), ma non ho avuto fortuna a ottenere buone risposte.
E a questo punto sono bloccato. Non sono abbastanza esperto per identificare il problema nel codice della shell di gnome. Non sono nemmeno sicuro che sia il problema di (gnome shell).
Quello che voglio è un modo consapevole degli gnomi per cambiare layout di tastiera dal terminale. Qualcuno può indicarmi la giusta direzione? Devo presentare questo come un bug (in particolare il fatto che il layout della tastiera non può essere modificato tramite 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()"