Estou escrevendo essa dica para compartilhar a solução de um problema que tive usando meu novo laptop. Queria que ele salvasse o nível de brilho da tela quando eu o desligasse, para que eu não tivesse que ficar ajustando toda vez que eu o ligasse.
No primeiro momento, a solução foi instalar o
Laptop Mode Tools e definir fixamente no arquivo
/etc/laptop-mode/conf.d/lcd-brightness.conf, qual o nível de brilho que o sistema iria iniciar.
Mas, eu queria algo mais dinâmico, que ele salvasse o último estado do brilho da tela, algo parecido que acontece com os Smartphones e Tablets.
O que é o Laptop Mode Tools?
É um pacote que permite melhorar a autonomia da bateria do seu laptop, habilitando o recurso Laptop Mode do kernel
Linux, juntamente com outros ajustes relacionados à energia, ou seja, é um utilitário de gerenciamento de energia.
Vamos ao que interessa.
Eu estou usando no momento o Ubuntu, mas essa dica pode ser adaptada para as outras distribuições.
Instale o
laptop-mode-tools:
# apt-get install laptop-mode-tools
Crie uma pasta onde será armazenado o nível de brilho da tela:
# mkdir /etc/save-brightness/
Criar o arquivo:
# touch /etc/save-brightness/actual_brightness
Crie dois scripts que irão salvar a configuração atual depois que o PC for desligado ou reiniciado:
# nano /etc/rc6.d/K99save-brightness
Adicione no arquivo:
#!/bin/bash
cat /sys/class/backlight/intel_backlight/actual_brightness > /etc/save-brightness/actual_brightness
Copie o arquivo para
/etc/rc0.d/:
# cp /etc/rc6.d/K99save-brightness /etc/rc0.d/K99save-brightness
Ajuste a permissão de execução:
# chmod +x /etc/rc6.d/K99save-brightness
# chmod +x /etc/rc0.d/K99save-brightness
Uma observação: o caminho
/sys/class/backlight/intel_backlight/actual_brightness, pode variar conforme o driver de vídeo do seu laptop. Estou fazendo esse procedimento em um laptop com driver Intel.
Edite arquivo no
laptop-mode que controla o brilho da tela:
# nano /etc/laptop-mode/conf.d/lcd-brightness.conf
Adicione a variável "atual" que captura o nível de brilho salvo pelo script, e uma condição de segurança, que não deixe a tela ser carregada com o valor zero, que é a tela completamente escura:
atual=$(cat /etc/save-brightness/actual_brightness)
# Não deixa a tela ser carregada com o valor zero
if [ $atual -eq 0 ]; then
echo "65" > /sys/class/backlight/intel_backlight/brightness && atual=65
fi
E altere:
BATT_BRIGHTNESS_COMMAND="echo $atual"
LM_AC_BRIGHTNESS_COMMAND="echo $atual"
NOLM_AC_BRIGHTNESS_COMMAND="echo $atual"
BRIGHTNESS_OUTPUT="/sys/class/backlight/intel_backlight/brightness"
Mudando prioridade do serviço:
# update-rc.d -f laptop-mode remove
# update-rc.d -f laptop-mode defaults 20
Pronto!
celticfrosthell, muito obrigado pelo retorno!
Na verdade descobri que criando os arquivos direto em "/etc/rc6.d/" e "/etc/rc0.d/" ocorre este aviso (só o aviso, não interferindo no funcionamento dos scripts),
Então de acordo com as dicas que localizei em um site (http://lists.openvz.org/pipermail/debian/2010-April/000675.html), alterei um pouco o procedimento:
- criei o script em /etc/init.d/
sudo nano /etc/init.d/K99save-brightness
- adicionei o comando neste script
#!/bin/bash
cat /sys/class/backlight/intel_backlight/actual_brightness > /etc/save-brightness/actual_brightness
- criei um link simbólico em /etc/rc6.d/
sudo ln -s /etc/init.d/K99save-brightness /etc/rc6.d/K99-save-brightness
- criei um link simbólico em /etc/rc0.d/
sudo ln -s /etc/init.d/K99save-brightness /etc/rc0.d/K99-save-brightness
- na sequência, executei os comandos para mudança da prioridade do serviço
sudo update-rc.d -f laptop-mode remove
sudo update-rc.d -f laptop-mode defaults 20
Aí funfou sem apresentar as mensagens de aviso!
Só não sei se isto ocorre só com todos os Debian ou se só com o Jessie...
Muitíssimo obrigado de verdade pela dica, está me rendendo uma boa bateria do laptop!!