Estou um pouco intrigado por que isso não está funcionando como pretendido. Meu objetivo é mapear a tecla caps lock para controlar. Estou usando o debian. Para isso estou usando o seguinte comando
/usr/bin/setxkbmap -layout "$(setxkbmap -print | awk -F + '/xkb_symbols/ {print $2}')" -option ctrl:nocaps
que funciona perfeitamente bem se eu executá-lo através do terminal. No entanto, quero que isso seja feito na inicialização ou no login e sempre execute-o manualmente. Eu tentei adicionar este comando ao aplicativo de sessão de inicialização automática no XFCE, além de colocar o comando no meu arquivo ~/.profile
. No entanto, ambas as opções parecem não funcionar. Ainda tenho que executá-lo manualmente (que depois de mapeado corretamente). O que estou fazendo errado?
A razão pela qual esse
setxkbmap
comando não foi adicionado após adicioná-lo~/.profile
é que esse arquivo é lido pelo seu shell (que provavelmente é bash) somente quando o shell de login é iniciado. EmX
emuladores de terminal, não inicie shells de login. Você adicionasetxkbmap
ao seu~/.bashrc
se você usaBash
, mas há uma maneira melhor disponível nosdebian
sistemas - modifiqueXKBOPTIONS
a seção em seu/etc/default/keyboard
, por exemplo:Agora execute este comando conforme descrito em
man 7 keyboard
:Você nem precisa reiniciar
lightdm
. Da próxima vez quelightdm
for iniciado, as configurações/etc/default/keyboard
serão aplicadas automaticamente. Acabei de testar no meuDebian 9.4
.Acho que a melhor maneira é criar um arquivo .xsessionrc em seu diretório inicial.
Este arquivo é lido a cada início de sua sessão.
Dessa forma, apenas sua sessão é afetada.
Os outros usuários não entendem.
Está tudo bem no Debian e no NetBSD.