Eu tenho vários aplicativos de inicialização:
user@host:~$ ls -l .config/autostart/
. . .
. . . XXX.desktop
. . . YYY.desktop
. . . ZZZ.desktop
. . . setxkbmap.desktop
Entre eles, um comando para desativar o Caps Lock:
setxkbmap -option caps:none
Primeiro, sempre que tento editar qualquer um desses comandos de inicialização com sleep
, eles parecem não funcionar:
sleep 20; setxkbmap -option caps:none
ou ...
sleep 20 && setxkbmap -option caps:none
E, segundo, se eu remover o comando sleep de todos os comandos de inicialização e, em seguida, colocar o comando Caps Lock disable no topo da lista, ele não funcionará, mas os outros farão ...
Todos os comandos, se executados no terminal, fora dos aplicativos de inicialização, funcionam bem, por isso não tenho certeza de por que eles não funcionam na inicialização.
UPDATE
Com base na resposta do @ Xen2050, adaptei os métodos que ele sugeriu em uma solução viável. Para dois dos comandos de inicialização, estou usando este formulário:
bash -c "sleep 20; specific_command"
E os outros, deixei como os comandos de inicialização padrão. Está tudo bem, porque a máquina é inicializada mais rapidamente e o comando de desativação do Caps Lock está funcionando de forma consistente.
UPDATE 2
Fiz algumas pesquisas adicionais e descobri que xkb
é provavelmente o melhor método para desabilitar o Caps Lock. Como essa questão era sobre aplicativos de inicialização, a resposta aceita é válida. Mas se alguém mais acabar aqui procurando como desabilitar a tecla Caps Lock no Ubuntu 16.04, aqui estão algumas dicas úteis:.
Eu fui editando o /usr/share/X11/xkb/symbols/pc
, mas acho que usar substituições de usuário é provavelmente o jeito certo de fazê-lo (como sugerido pelo @quixotic):
Faça o terminal reconhecer PageUp e PageDown quando remapeado para chaves diferentes