Tente o seguinte:
-
Coloque seu script em um diretório do sistema como / usr / local / bin com um shebang adequado
#!/bin/sh # Fix caps /usr/bin/xkbcomp -xkb "$DISPLAY" - | /bin/sed 's#key <CAPS>.*#key <CAPS> {\ repeat=no,\ type[group1]="ALPHABETIC",\ symbols[group1]=[ Caps_Lock, Caps_Lock],\ actions[group1]=[ LockMods(modifiers=Lock),\ Private(type=3,data[0]=1,data[1]=3,data[2]=3)]\ };\ #' | xkbcomp -w 0 - "$DISPLAY" exit 0
-
Torne-a executável, por ex.
sudo chmod +x /usr/local/bin/fix-caps.sh
-
Crie um arquivo de configuração personalizado em
/etc/lightdm/lightdm.conf.d
. Use um nome como99-local-settings.conf
. (O prefixo99
significa que ele será executado após os scripts de configuração padrão fornecidos em/usr/share/lightdm/lightdm.conf.d
.)Adicione a localização do seu script como
display-setup-script
int na seção[SeatDefaults]
:[SeatDefaults] display-setup-script = /usr/local/bin/fix-caps.sh
O display-setup-script
deve ser executado após o servidor X ser iniciado, mas antes que qualquer greeter seja executado - veja LightDM: Adicionando ganchos do sistema .