Laptop Mode Tools - Como salvar nível de brilho da tela de laptop dinamicamente

Publicado por Leandro em 07/05/2014

[ Hits: 5.485 ]

 


Laptop Mode Tools - Como salvar nível de brilho da tela de laptop dinamicamente



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!

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Froxlor Server Management Panel no Debian Squeeze/Wheezy

Como rodar o Firefox3 em seu Debian Etch

Habilitando o peteleco no aMSN

Plugin de vídeo para FireFox

Asterisk + GoogleTTS (Debian Jessie)

  

Comentários
[1] Comentário enviado por marquinhosGNU em 07/05/2014 - 01:30h

Bem legal a dica, valew mesmo!

Mas quando tento executar os últimos comandos aparecem os avisos:

$ sudo update-rc.d -f laptop-mode remove
insserv: warning: script is corrupt or invalid: /etc/init.d/../rc0.d/K99save-brightness
insserv: warning: script is corrupt or invalid: /etc/init.d/../rc6.d/K99save-brightness

$ sudo update-rc.d -f laptop-mode defaults 20
insserv: warning: script is corrupt or invalid: /etc/init.d/../rc0.d/K99save-brightness
insserv: warning: script is corrupt or invalid: /etc/init.d/../rc6.d/K99save-brightness

Uso o Debian Jessie.

Muito obrigado!

[2] Comentário enviado por celticfrosthell em 07/05/2014 - 18:22h

O problema esta com os scripts que foram criados em /etc/r0.d e /etc/r6.d qual é o seu adaptador de video? eu fiz o procedimento com uma intel, o caminho do seu adaptador é diferente, procure em /sys/class/backlight/ e me informe.

[3] Comentário enviado por marquinhosGNU em 07/05/2014 - 22:26h

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!!



Contribuir com comentário