O Ubuntu 13.10 1 (e talvez o gnome upstream) introduziu um bug muito irritante : pressionar o atalho do comutador de layout do teclado faz o foco desaparecer em alguma janela do sistema e depois voltar à janela onde o atalho foi pressionado. Alguns aplicativos têm algumas ações vinculadas à mudança de foco, por exemplo, o twitter (no navegador) fecha o campo de entrada de texto de resposta ao perder o foco, etc. Portanto, o comutador de teclado nativo do ubuntu não é adequado para mim, até que seja corrigido.
O X possui um mecanismo de comutação embutido, e é muito melhor, além de não envolver a alternância de foco, ele alterna imediatamente (o comutador gnome também 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?
O que eu tentei:
Primeiro, basta executar o setxkbmap:
setxkbmap -layout "us,ru"
setxkbmap -option "grp:caps_toggle,grp_led:scroll,compose:ralt"
Mas funciona apenas:
- Para a sessão atual
- Até que o Gnome o substitua (por exemplo, tocar em algo nos
org.gnome.desktop.input-sources
gatilhos do gconf redefinir).
Segundo, adicionando opções xkb à configuração do Xorg:
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 da troca ainda é redefinida mais tarde, provavelmente pelo gnome.
Terceiro, gconf
Eu tenho xkb-options
e sources
conjunto em org.gnome.desktop.input-sources
, mas Gnome ainda define xkb a disposição Inglês single:
$ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules: evdev
model: pc105
layout: us
options: grp_led:scroll
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: 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)" };
};
Quarto, outra opção no gconf
Definir org.gnome.settings-daemon.peripherals.keyboard
também não funciona para mim. Nada muda.
Atualização 1 : Há discussões recomendando a remoção /usr/lib/gnome-settings-daemon-3.0/libkeyboard.so
. Pelo menos isso corrige algumas redefinições 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 foi corrigido. ( Relatório não confirmado no Gnome a montante )
setxkbmap
comandos ao seu~/.profile
? Dessa forma, eles serão executados toda vez que você fizer login e, como as mesmas configurações existem no Gnome, não deve mudar nada se for redefinido.org.gnome.desktop.input-sources
.dconf-editor
?Respostas:
Para impedir que o gnome redefina a configuração do teclado no X, use este comando:
Isso funciona para mim.
fonte
Eu estive enlouquecendo com isso como você, mas com o Ubuntu 14.04 (LTS), Xubuntu, xfce 4.12 e xkbd (dos itens do xfce). Ctrl + Espaço para alterar o layout do teclado funcionou, mas Alt + Shift não (teclas apenas de modificador).
Finalmente consegui fazer as coisas funcionarem
Você está feito! Use Alt + Shift para alterar o layout do teclado.
fonte
xfce4-keyboard-settings
a pergunta pedindo ajuda com o gnome / unidade, especificamente?Acabei de ler este artigo sobre bloqueio de tela, que pode estar relacionado. Segundo 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:
Há uma discussão interessante sobre esse e outros eventos relacionados, que podem ser encontrados na lista de discussão ubuntu-dev: https://lists.ubuntu.com/archives/ubuntu-devel/2013-November/037768.html
fonte
Solução alternativa pelo usuário wof no rastreador de erros do Ubuntu, para Ubuntu 14.10 usando gxkb :
https://bugs.launchpad.net/gnome-settings-daemon/+bug/1244090/comments/39
fonte
Bem, tanto quanto o Gnome "redefinindo" ele não sei. Eu sei como é possível manter todas as reinicializações, já que eu tive que fazer exatamente o mesmo tipo de coisa para o mouse Logitech. Ele tem vários botões que eu queria remapear de uma certa maneira e precisava configurá-lo na reinicialização.
Então, o que você faz para isso é criar um arquivo de texto. Então, nesse tipo de arquivo de texto:
e logo abaixo disso, coloque seus comandos. Como exemplo, meu mouse fica assim:
Em seguida, salve-o como o nome que desejar e mova-o para algum lugar como o diretório inicial. tem que ficar lá "para sempre".
basta abrir os aplicativos de inicialização e adicionar o arquivo à sua inicialização, para que você não precise se preocupar com a duração da sessão. não há problema em reiniciar o computador, pois suas configurações voltarão ao arquivo que você acabou de adicionar.
fonte