O script não é executado na inicialização, não importa o que

4

Eu tenho um script localizado em /opt/capslock_delay_fix.sh . Eu quero que o script seja executado após o login.

Eu tentei de tudo. Dos aplicativos de inicialização, para .bash_rc , para .profile . Apenas não executará o script. Gostaria de saber se o script em si só funcionará em um determinado momento após o login.

Aqui está o conteúdo do script:

#!/bin/bash
xkbcomp -xkb "$DISPLAY" - | 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"
    
por Afonso Matos 09.08.2016 / 22:12

1 resposta

4

Certos tipos de comandos e scripts quase por quebra de definição, se eles forem executados cedo demais no processo de login. Alguns exemplos são: comandos relacionados ao teclado e ao touchpad, configurações do monitor ( xrandr ) e outros. Mesmo indicadores, às vezes.

O motivo é que o comando quebra se a área de trabalho não está pronta para isso, ou o comando é anulado posteriormente por procedimentos locais.

Incluir uma pequena pausa fará o trabalho, no formato:

/bin/bash -c "sleep 10 && <command>"
    
por Jacob Vlijm 10.08.2016 / 14:38