Script de inicialização para o brilho

1

Não faz muito tempo, substituí o XP por Lubuntu 14.04 em um PC antigo e funciona muito bem. Para torná-lo perfeito, eu quero autoexecutar "xrandr --output VGA-1 --game 3: 3: 3 --brightness 1" na inicialização ou boot. Assim, não ter que fazê-lo manual ............ everytime. Usando a internet, eu estava pensando em usar o seguinte:

vi file.sh
cp file.sh /xrandr --output VGA-1 --gamma 3:3:3 --brightness 1/init.d/file.sh
chmod +x /xrandr --output VGA-1 --gamma 3:3:3 --brightness 1/init.d/file.sh
sudo update-rc.d file.sh start 99 2 .
sudo update-rc.d -f file.sh remove

Mas na segunda linha de comando, recebo o erro: "Padrão E486 não encontrado". O que estou fazendo errado?

Obrigado antecipadamente.

    
por user311849 03.08.2014 / 14:38

2 respostas

1

Existem vários problemas sintáticos com o código que você postou, mas esse não é o principal problema aqui.

O problema com os sistemas init de baixo nível como update-rc.d (et al) é que eles serão executados antes de o X ser iniciado. Mesmo em sistemas de eventos como o Upstart, onde você pode esperar por starting-x , você ainda está fora do ambiente X e você não tem itens como a variável DISPLAY . Isso é obviamente um grande problema para coisas como xrandr onde você precisa de um servidor X.

Felizmente X (ou devo dizer o script que carrega X) irá procurar por um arquivo ~/.xsession quando ele for iniciado. Este é um lugar perfeito para apresentar comandos como este. Tem que ser executável e conter uma sub-rotina de lançamento apropriada. Podemos fazer tudo isso em um comando:

install -b -m 755 /dev/stdin ~/.xsession << EOF
#!/bin/sh
xrandr --output VGA-1 --gamma 3:3:3 --brightness
EOF

Basta colar e criar o arquivo. Da próxima vez que você fizer login, ele deverá ser executado.

    
por Oli 03.08.2014 / 14:47
0

Na segunda linha, você está copiando file.sh para /xrandr --output VGA-1 --gamma 3:3:3 --brightness 1/init.d/file.sh . Isso não é uma pasta. Isso é um comando. Você não pode copiar para um comando. Provavelmente você quer o comando IN file.sh e copie isso para algum lugar? Na terceira linha você comete o mesmo erro. Você está chmodding um comando, não um arquivo ou pasta. Isso de novo é impossível.

O que você provavelmente quer fazer é:

echo "/xrandr --output VGA-1 --gamma 3:3:3 --brightness 1" > file.sh
cp file.sh /to/wherever/it/needs/to/be
chmod +x /to/wherever/it/needs/to/be/file.sh
    
por Gx1sptDTDa 03.08.2014 / 14:45