Como eu altero os teclados da linha de comando?

53

Como eu altero os layouts de teclado na linha de comando? Por exemplo, quero mudar do inglês para o hebraico. Eu sou capaz de fazer isso a partir do lightdm com o pequeno ícone no canto da minha tela.

    
por Eyal 30.10.2012 / 14:05

7 respostas

40

Do terminal

Inglês para hebraico e vice-versa com Alt + Deslocamento

setxkbmap -option grp:alt_shift_toggle us,il

Você pode ver todo o alias do idioma com este comando

cat /etc/locale.alias

Mais informações sobre o setxkbmap no manual

man setxkbmap
    
por Nick Thom 30.10.2012 / 15:29
47

Você pode encontrar todos os diferentes mapas de chave nos seguintes locais:

/usr/share/keymaps/i386/
/usr/share/kbd/keymaps/i386/
/usr/share/X11/xkb/symbols/
  

Para alterar o layout do teclado (por exemplo, para espanhol) no comando do Linux   linha, digite o seguinte comando:

loadkeys es

Para X:

setxkbmap es
     

Para fazer essas alterações no sistema, supondo que você esteja usando o Ubuntu,   pode usar o seguinte:

sudo dpkg-reconfigure console-setup
    
por Dr_Bunsen 30.10.2012 / 14:09
12

Ubuntu 13.10 ou posterior

Isso funciona melhor do que o setxkbmap com o indicador de layout de teclado do Gnome / Unity.

gsettings set org.gnome.desktop.input-sources current 0

0 é o índice de layout (0 padrão ou layout superior). Layouts indexados a partir de 0.

Para facilitar o uso, crie um alias.

    
por user.dz 01.02.2014 / 14:45
9
setxkbmap us,il -option "lv3:ralt_alt,grp:alt_shift_toggle"

este comando permite que você alterne entre inglês e hebraico somente através de right alt + shift e resgatar você de left alt + deslocar .

    
por ansar313 03.02.2014 / 14:44
1

Parece não haver uma ferramenta CLI padrão, mas xkb-switch é um pequeno ferramenta de código aberto para fazer o trabalho. Apenas testei com o Ubuntu 16.04.4 LTS e ele funciona sem falhas.

$ xkb-switch       # display current group
ua
$ xkb-switch -l    # list groups
us
ua
$ xkb-switch -s us # switch to a named group
$

Isso parece melhor do que as outras soluções porque setxkbmap <name> estraga todas as opções e setxkbmap -layout <name> , enquanto preserva as opções, ainda não altera o indicador da barra de tarefas nem o grp_led se definido.

Advertência

Se o seu ~/.config/kxkbrc usa LayoutLoopCount (por exemplo, está definido como menor que o número total de layouts listados em LayoutList ), assim:

LayoutList=us,ua,th,de
LayoutLoopCount=2
Options=grp_led:scroll,grp:rwin_switch,compose:menu,lv3:ralt_switch,
        nbsp:level2,grp:rctrl_toggle,misc:typo

então xkb-switch só permitiria alternar entre os layouts no grupo atual.

Invoque no bloqueio de tela

Eu notei seu comentário:

  

Logo antes do meu protetor de tela ser ativado, quero mudar para o inglês para que seja fácil digitar minha senha quando eu voltar.

Este foi precisamente o meu objetivo, então aqui está a resposta:
Para fazer isso, você só precisa envolvê-lo em um script conectado a dbus-monitor , como discutido aqui .

    
por bytebuster 20.03.2018 / 12:02
0

Apenas por curiosidade, por que você faria isso? Por que você abriria um terminal e eles digitariam um comando para alternar o layout do teclado quando você puder fazer isso por meio de um simples atalho de teclado! Supondo que você use o Ubuntu, ele vai como Windows + Space

    
por EetSandhu 26.02.2017 / 16:08
0

Usando gsettings no 18.04+ com o Gnome, você pode adicionar adicionar layouts de teclado e alternar entre eles a partir da linha de comando ou do alternador de layout de teclado da área de trabalho.

1.Presentir layouts de teclado e opções:

$ gsettings list-recursively org.gnome.desktop.input-sources
org.gnome.desktop.input-sources show-all-sources false
org.gnome.desktop.input-sources xkb-options ['terminate:ctrl_alt_bksp']
org.gnome.desktop.input-sources per-window false
org.gnome.desktop.input-sources current uint32 1
org.gnome.desktop.input-sources mru-sources @a(ss) []
org.gnome.desktop.input-sources sources [('xkb', 'es'), ('xkb', 'no')]

2.Adicionando layouts de teclado:

$ gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'no'),('xkb','gr')]"
$ gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'es'), ('xkb', 'no'), ('xkb', 'gr')]

3.Alterando o layout de teclado atual a partir da linha de comando:

$ gsettings set org.gnome.desktop.input-sources current 1

Como agora temos três idiomas diferentes, temos três opções, de 0 a 2, sendo 1 espanhol, 2 norueguês e 3 grego. Assim, definir atual como 1 acima torna o norueguês o layout atual do teclado.

4.Como listar todos os layouts de teclado possíveis:

cat //usr/share/X11/xkb/rules/base.lst

5.Alterando o layout do teclado com um atalho de teclado:

Um atalho de teclado é pré-configurado para alterar o layout do teclado. O presente atalho:

$ gsettings get org.gnome.desktop.wm.keybindings switch-input-source
['<Super>space']

Um novo atalho pode ser definido usando o conjunto gsetting, mas tome cuidado para não usar um atalho que já esteja em uso. Para listar todos os atalhos em uso:

$ gsettings list-recursively org.gnome.desktop.wm.keybindings
org.gnome.desktop.wm.keybindings cycle-windows-backward ['<Shift><Alt>Escape']
org.gnome.desktop.wm.keybindings minimize ['<Super>h']
org.gnome.desktop.wm.keybindings move-to-workspace-7 @as []
org.gnome.desktop.wm.keybindings move-to-workspace-8 @as []
org.gnome.desktop.wm.keybindings move-to-workspace-9 @as []
org.gnome.desktop.wm.keybindings move-to-monitor-left ['<Super><Shift>Left']
...
    
por ElToro1966 08.05.2018 / 09:40