Usando gsettings
Funciona bem com o interruptor Gnome / Unity Indicator / Layout no Ubuntu 13.10 ou posterior.
Execute gsettings list-recursively org.gnome.desktop.input-sources
para verificar seus layouts e sistemas de entrada ativos.
Problemas :
No caso de caixa de diálogo de bloqueio, não é possível restaurar o último teclado usado. Então, depois de desbloquear sempre en
-
Para o sudo (alias)
nano ~/.bashrc
Anexe esta linha
alias sudo="sudo_success='' ; last_kbd='gsettings get org.gnome.desktop.input-sources current | awk '{print }'' ; gsettings set org.gnome.desktop.input-sources current 0 ; sudo echo -n && sudo_success='1' ; gsettings set org.gnome.desktop.input-sources current $last_kbd ; test $sudo_success && sudo"
-
Para o diálogo de bloqueio (Proxy)
cd /usr/lib/gnome-screensaver/ sudo mv gnome-screensaver-dialog gnome-screensaver-dialog_orig sudo nano gnome-screensaver-dialog_proxy
Coloque isso em:
#!/usr/bin/env bash last_kbd='gsettings get org.gnome.desktop.input-sources current | awk '{print }'' gsettings set org.gnome.desktop.input-sources current 0 /usr/lib/gnome-screensaver/gnome-screensaver-dialog_orig $@ gsettings set org.gnome.desktop.input-sources current $last_kbd
Corrigir um link:
sudo chown root:root gnome-screensaver-dialog_proxy sudo chmod +x root:root gnome-screensaver-dialog_proxy sudo ln -s gnome-screensaver-dialog_proxy gnome-screensaver-dialog
Resposta antiga usando setxkbmap
Use-o somente se seus layouts estiverem definidos com o comando setxkbmap
.
Os passos completos são mencionados acima. Eu mantive apenas diferentes etapas.
Estou usando-nos, ara (inglês, árabe), execute setxkbmap -query
para verificar o seu.
Problemas :
setxkbmap muda o layout no nível X, que sobrescreve o layout efetivo do Unity / Gnome. O indicador continua mostrando o último layout. Também quebra alguns atalhos de teclado de comutação de layout. Para evitar isso, adicione suas opções de atalhos ao comando setxkbmap
. Exemplo: setxkbmap us,ara -option grp:rshift_toggle -option grp:rctrl_switch
.
No caso de diálogo de bloqueio, não é possível restaurar o último teclado usado.
-
Para o sudo
nano ~/.bashrc
Anexe esta linha
alias sudo="sudo_success='' ; last_kbd=$(setxkbmap -query | awk 'FNR == 3 {print }') ; setxkbmap us,ara ; sudo echo -n && sudo_success='1' ; setxkbmap $last_kbd ; test $sudo_success && sudo"
-
Para o diálogo de bloqueio
nano gnome-screensaver-dialog_proxy
Coloque isso em:
#!/usr/bin/env bash last_kbd=$(setxkbmap -query | awk 'FNR == 3 {print }') setxkbmap us,ara /usr/lib/gnome-screensaver/gnome-screensaver-dialog_orig $@ setxkbmap $last_kbd