Script para diminuir gamma do monitor

Iniciado por rodneitc, 12 de Julho de 2012, 13:51

tópico anterior - próximo tópico

irtigor

Coloque um atraso:


#!/bin/bash
sleep 60
xgamma -rgamma 0.65
xgamma -ggamma 0.65
xgamma -bgamma 0.65

raidicar

#16
Citação de: rodneitc online 16 de Julho de 2012, 19:49
O curioso é que quando as soluções estavam ativas, no momento em que aparecia a tela de boot (?) do sistema (aquela tela com fundo roxo, escrito "ubuntu") o gamma reduzia por uns 2 segundos. Mas, ainda nessa tela, já voltava pros padrões antes de carregar o ambiente gráfico.

Na verdade, funcionou, mas após funcionar, o sistema voltou a carregar os valores padrões.
Em suma, o script deve ser executado depois que os valores padrões são carregados pelo S.O.

Como disse o companheiro irtigor, vai precisar de um delay.
Como esse delay não pode ser colocado no rc.local, esqueça a solução que lhe foi passada anteriormente.

Solução1:
Inserir o delay dentro do script e tentar novamente utilizar o /etc/xdg/autostar.
Não devia estar funcionando por que o S.O devia retornar os bvalores padrões.

Solução 2:
Dentro do SEU .profile, acrescente na ultima linha a linha abaixo:
nohup /home/rodnei/Scripts/gamma.sh &
O final do .profile ficaria mais ou menos assim:
if [ -d "$HOME/bin" ] ; then
   PATH="$HOME/bin:$PATH"
fi
nohup /home/rodnei/Scripts/gamma.sh &

obs: Lembre-se, o linux diferencia maiuscula e minuscula, Se esse é o caminho do script, certifique-se que a pasta Script comece mesmo com Maiuscula. /home/rodnei/Scripts/gamma.sh, ou o caminho não será encontrado.

Deixe o arquivo /home/rodnei/Scripts/gamma.sh assim:

#!/bin/bash
#atraso de 30 segundos,
sleep 30
xgamma -rgamma 0.65
xgamma -ggamma 0.65
xgamma -bgamma 0.65
xgamma 2> /tmp/gamma.log

Isso fará com que uma pausa de 30 segundos será dada antes da execução dos comandos.
Como o S.O "configura" o gamma automaticamente, os comandos serão processados após essa ação do S.O.

Também será gerado um arquivo com o resultado do comando no tmp.
Após colocar usuário e senha e aguardar o login por uns 30 segundos, no terminal, de o comando:
cat /tmp/gamma.log e veja o conteúdo do arquivo.

Se o arquivo não existir, é por que o script não foi executado e algo deve estar errado. O arquivo deve ser gerado, independente se adotou a solução 1 ou 2.
Faça de um jeito, não dando certo, faça de outro e veja qual das duas situações gera o arquivo com o resultado do gamma.


Para o caso da solução 2:
1 - verifique se o arquivo editado com o caminho do script é realmente o seu .profile.
Se quando editou o .profile, o arquivo estava em branco, então era o arquivo errado por que o .profile tem conteúdo.
2 - Verifique se o caminho do Script está correto, digitando no terminal ls /home/rodnei/Scripts/gamma.sh.

Se executou o comando gedit ~/.profile como root, estará editando o .profile do root (/root/.profile) e, nesse caso, não funcionará.
Tem de editar o seu .profile (/home/rodnei/.profile).
para isso, com seu usuário no terminal, digite gedit ~/.profile ou, para não ter erro, gedit /home/rodnei/.profile
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.

rodneitc

Funcionou, obrigado!

Não precisei colocar o arquivo .sh na pasta autostar, nem editar o .profile.

Depois de incluir o atraso no meu script, bastou voltar a adicionar o caminho do arquivo .sh em Aplicativos de Sessão, via ambiente gráfico.
Também testei diferentes tempos de atraso e bastou colocar "sleep 2".

Valeu!

raidicar

Ok, o sleep 2 pode não dar certo vez ou outra, por algum atraso do S.O, se com 2 segundos de atraso deu certo, com 10 segundos nunca dará erro.
Todos os meios funcionam, mas precisavam de um atraso (de 30 a 60 segundos, utilizando o autostart) ou de apenas alguns segundos utilizando o .profile ou da forma que fez.
Só faltou informar que o problema foi resolvido no titulo do tópico.

Boa sorte,

Att,
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.