Estou usando o gnome 3.22.1, mas o problema existe desde a 3.18.
Antes disso (não lembro a versão exata), pude mudar o layout do teclado usando o xkb-witch , aplicativo simples que usa as ligações do X.org por baixo do capô.
Após a versão 3.18, se você executar o xkb-switch, o layout do teclado não será alterado no gnome. Investigações posteriores mostraram que a troca de layout está funcionando, mas por um período muito curto.
Se você executar este script:
for i in $(seq 1000); do
lang=$(xkb-switch -s ru; xkb-switch);
if [[ "$lang" == "ru" ]]; then
echo $lang;
fi;
done
Você terá de 3 a 20 trocas de layout "bem-sucedidas", dependendo da sua sorte.
Depois de pesquisar esse problema no Google, siga os seguintes conselhos :
gsettings set org.gnome.desktop.input-sources current 0
A configuração está sendo alterada, mas o layout permanece o mesmo.
Eu encontrei um método "hacky" para alterar o layout:
setxkbmap us,ru
setxkbmap ru,us
mas o shell do gnome não está ciente dessa alteração e mostra o idioma errado no indicador de layout.
Eu postei sobre esse problema (desculpe, não há reputação suficiente, https: //bbs.archlinux.org/viewtopic.php? Pid = 1657582 https: //github.com/ierton/xkb-switch/issues/15), mas não teve sorte em obter boas respostas.
E neste momento estou preso. Eu não sou habilitado o suficiente para identificar o problema no código shell do gnome. Eu nem tenho certeza de que é o problema (do shell do gnomo).
O que eu quero é uma maneira sensível ao gnomo de mudar o layout do teclado do terminal. Alguém pode me apontar na direção certa? Devo arquivar isso como um bug (especialmente o fato de que o layout do teclado não pode ser alterado por meio de gsettings)?
fonte
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()"
Se você estiver usando o IBus como seu método de entrada (que é provavelmente o padrão), poderá alterar sua entrada usando o
ibus
comando:Você pode ver todos os layouts disponíveis com o
ibus list-engine
comandoDeve-se notar que essa abordagem não altera o indicador de idioma, embora funcione de maneira confiável de outra maneira.
fonte
setxkbmap us
- sem maneira de alterar o layout usando atalhos padrão depois disso.setxkbmap
. Além disso,setxkbmap
pode atuar de maneira simples em ambientes WM modernos, consulte a pergunta para obter detalhes sobre isso.Usando
gsettings
.Definir
org.gnome.desktop.input-sources.sources
a lista nula , "[]", permite usar a configuração do teclado do servidor X sem o gnome-shell tentar configurá-la, para que você possa fazer como antes.fonte
setxkbmap
comandos digitei depois, até colocar as fontes de entrada de volta na caixa de diálogo Configurações.Eu acho que você deveria tentar
sudo dpkg-reconfigure keyboard-configuration
fonte
Você pode configurar e alternar para um método de entrada na linha de comando, mesmo se você não tiver configurado anteriormente esse método de entrada com o mouse:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'ru')]"
Para Dvorak, use
us+dvorak
(ougb+dvorak
se você estiver no Reino Unido ou o que for).fonte