Para evitar que o gnome redefina a configuração do teclado no X, use este comando:
gsettings set org.gnome.settings-daemon.plugins.keyboard active false
Isso funciona para mim.
O Ubuntu 13.10 1 (e talvez o gnome upstream) introduziu o bug muito chato : pressionar o atalho do comutador de layout do teclado faz com que o foco desapareça em alguma janela do sistema e, em seguida, volte à janela onde o atalho foi pressionado. Alguns aplicativos têm algumas ações que mudam de foco, por exemplo o twitter (no navegador) fecha o campo de entrada de texto de resposta ao perder o foco, etc. Assim, o switcher de teclado nativo do ubuntu não é adequado para mim, até ser corrigido.
O X tem um mecanismo de comutação embutido, e é muito melhor, além de não envolver a troca de foco, ele muda imediatamente (o gnome switcher também às vezes fica atrasado).
Como posso configurar as opções do xkbmap para que as configurações permaneçam após a reinicialização e não sejam redefinidas pelo Gnome?
setxkbmap -layout "us,ru"
setxkbmap -option "grp:caps_toggle,grp_led:scroll,compose:ralt"
Mas funciona apenas:
org.gnome.desktop.input-sources
). Outra opção é adicionar o seguinte à configuração do xorg:
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us,ru"
Option "XkbModel" "pc105"
Option "XkbVariant" "pc105"
Option "XkbOptions" "grp:rctrl_toggle,grp_led:scroll"
EndSection
O Xorg entende que durante a inicialização:
[ 33.791] (**) Option "xkb_rules" "evdev"
[ 33.791] (**) Option "xkb_model" "pc105"
[ 33.791] (**) Option "xkb_layout" "us,ru"
[ 33.791] (**) Option "xkb_variant" "pc105"
[ 33.791] (**) Option "xkb_options" "grp:rctrl_toggle,grp_led:scroll"
Mas a configuração de comutação ainda é redefinida posteriormente, provavelmente pelo gnome.
Eutenhoxkb-options
esources
definidoemorg.gnome.desktop.input-sources
,masoGnomeaindadefinexkbparaumúnicolayouteminglês:
$setxkbmap-print-verbose10Settingverboselevelto10localeisCTryingtoloadrulesfile./rules/evdev...Tryingtoloadrulesfile/usr/share/X11/xkb/rules/evdev...Success.Appliedrulesfromevdev:rules:evdevmodel:pc105layout:usoptions:grp_led:scrollTryingtobuildkeymapusingthefollowingcomponents:keycodes:evdev+aliases(qwerty)types:completecompat:complete+ledscroll(group_lock)symbols:pc+us+inet(evdev)geometry:pc(pc105)xkb_keymap{xkb_keycodes{include"evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete+ledscroll(group_lock)" };
xkb_symbols { include "pc+us+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
Aconfiguraçãoorg.gnome.settings-daemon.peripherals.keyboard
tambémnãofuncionaparamim.Nadamuda.
Atualização1:/usr/lib/gnome-settings-daemon-3.0/libkeyboard.so
. Pelo menos isso corrige alguns resets do xkbmap (ou seja, após a tela de bloqueio).
1 eu uso o 14.04, mas o problema de perder o foco ainda não está corrigido. ( Relatório não confirmado no Gnome upstream )
Para evitar que o gnome redefina a configuração do teclado no X, use este comando:
gsettings set org.gnome.settings-daemon.plugins.keyboard active false
Isso funciona para mim.
Eu tenho enlouquecido isso como você, mas com o Ubuntu 14.04 (LTS), o Xubuntu, o xfce 4.12 e o xkbd (do xfce goodies). Ctrl + Espaço para alterar o layout do teclado funcionou, mas o Alt + Shift não (teclas modificadoras somente).
Finalmente consegui fazer as coisas funcionarem -
1. Run ibus-setup (Keyboard Input Methods application).
2. Goto Advanced tab.
3. Check 'Use system keyboard layout'.
4. Click 'Close'
5. Run xfce4-keyboard-settings (Keyboard application).
6. Goto Layout tab.
7. Uncheck 'Use system defaults'
8. Select 'Keyboard model' (typically 'Generic 105-key (Intl) PC' will do)
9. Set 'Change layout option' to your required switching keys combination (typically Alt+Shift will do).
10. Add languages to 'Keyboard layout'.
11. Click 'Close'.
12. Restart the computer
Você terminou! Use Alt + Shift para alterar o layout do teclado.
Acabei de ler este artigo no screenlocking, que pode estar relacionado. De acordo com o artigo, o bloqueio de tela tem a consequência pretendida de bloquear dispositivos de entrada e manipular localidades. Parece que você tem algumas opções:
Existe uma discussão interessante sobre isso e sobre eventos relacionados que podem ser encontrados na lista de discussão do ubuntu-dev: link
Bem, na medida em que o Gnome "redefinir", eu não sei. Eu sei como você pode ficar a cada reinicialização, como eu tive que fazer exatamente o mesmo tipo de coisa para o meu mouse Logitech. Tem vários botões que eu queria remapear de uma determinada maneira e eu tive que ter esse conjunto no reinício.
Então, o que você faz para isso é criar um arquivo de texto. Então, nesse tipo de arquivo de texto:
#!/bin/bash
e logo abaixo, coloque seus comandos. Por exemplo, meu mouse se parece com isso:
#!/bin/bash
xinput set-button-map "Logitech USB-PS/2 Optical Mouse" 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16
Em seguida, você salvaria isso como o nome que quiser e mova-o para algum lugar como seu diretório pessoal. tem que ficar lá "para sempre".
em seguida, basta abrir seus aplicativos de inicialização e adicionar o arquivo à sua inicialização e, em seguida, você não precisa se preocupar com isso com duração apenas para a sessão. não há problema em reinicializar seu computador porque suas configurações voltarão pelo arquivo que você acabou de adicionar.
Tags unity 14.04 gnome keyboard-layout 13.10