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

Publicado por Leandro em 07/05/2014

[ Hits: 5.164 ]

 


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

Synfig BR - Comunidade brasileira de usuários do Synfig

Gerenciando serviços com o Supervisor

Ctrl+Alt+Del no VNC do Linux

Superdownloads Linux

Instalando FrostWire no Debian 8

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts