Estou configurando o openbox no meu laptop executando o Linux Mint 13. Quero que minha tecla Caps Lock atue como uma tecla de controle adicional. Coloquei as configurações necessárias no meu ~/.Xmodmap
arquivo e verifiquei executando
xmodmap ~/.Xmodmap
Funciona corretamente.
No entanto, quando eu me conecto à minha sessão do openbox, essas alterações importantes não estão presentes. A execução do xmodmap
comando acima o faz funcionar novamente, mas quero que isso aconteça automaticamente na inicialização.
O interessante é que eu adicionei um zenity
comando de teste como segue ao meu ~/.config/openbox/autostart
arquivo
zenity --info --text=Hello
Isso produz uma pequena janela de diálogo e sai somente depois que a caixa de diálogo é fechada.
Agora, quando eu me conecto à minha sessão de caixa aberta, o Caps Lock atua como uma tecla Ctrl, até que a caixa de diálogo zenity seja fechada. Depois que essa caixa de diálogo é fechada, o Caps Lock retorna ao seu comportamento padrão.
Eu não encontrei nada sobre isso no google, então estou pedindo ajuda aqui. Vocês têm alguma idéia do que pode estar errado?
Atualizar:
Eu tenho tentado descobrir isso e, em meus experimentos, copiei meu /usr/bin/xmodmap
arquivo /usr/bin/xmodmap_
e o substitui /usr/bin/xmodmap
pelo seguinte script bash
#!/bin/bash
{
echo '-------'
date
echo xmodmap "$@"
} >> ~/xmodmap-calls
exec /usr/bin/xmodmap_ "$@"
Então, toda vez que qualquer script maldito no sistema é executado xmodmap
, eu o conheço.
Com isso, faço logon novamente e só encontro uma entrada no meu ~/xmodmap-calls
arquivo, que é a que está executando o meu ~/.Xmodmap
, o que é esperado. Então, achei que não xmodmap
é isso que está substituindo minhas alterações.
Em seguida, um pouco de pesquisa me apresentou o setxkbmap
comando, que aparentemente também pode fazer a mesma coisa. Também substituí o executável, semelhante ao xmodmap acima. E eu recebi o comando culpado!
setxkbmap -option terminate:ctrl_alt_bksp
Não tenho absolutamente nenhuma idéia do que isso faz, mas depois de executar xmodmap ~/.Xmodmap
(que aplicou minhas configurações corretamente), se eu executar o comando acima, minhas alterações serão redefinidas! Edit : Isso está ficando muito engraçado. Apenas um setxkbmap
comando sem argumentos, sobrescreve alegremente minhas alterações pelo xmodmap ~/.Xmodmap
comando.
Agora eu tenho duas coisas para descobrir, de onde isso está setxkbmap
sendo executado e por que e como consertar isso. Ainda estou investigando, mas poderia usar seriamente alguma ajuda :)
Atualização 2
Para o inferno com xmodmap
. Não consigo descobrir de onde setxkbmap
está sendo chamado, mas imaginei uma maneira de usar o setxkbmap
comando para fazer meu Caps Lock se comportar como Ctrl.
setxkbmap -option ctrl:nocaps
Antes de iniciar o openbox. Funciona brilhante. A tecla caps lock permanece atuando como uma tecla ctrl. xmodmap
nunca é executado.
Manterei essa pergunta aberta, para que alguém que saiba essas coisas possa fornecer algumas dicas. Além disso, para pessoas que enfrentam isso depois de mim :)
Atualização 3
Aqui está o conteúdo do meu .config/openbox/autostart
, conforme solicitado por pedrosaurio.
#!/bin/bash
# Set the wallpaper.
feh --bg-scale /wall.png
# Set default brightness.
xbacklight -time 1 '=40'
# Compositing.
xcompmgr &
# The panel.
tint2 &
# Start a terminal too.
roxterm &
Isso não tem nada a ver com o teclado, pelo que sei. Além disso, aqui está o script que inicia minha sessão: (Executar por lightdm)
#!/bin/bash
setxkbmap -option ctrl:nocaps
exec openbox-session
autostart
arquivo?