[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Verificar bateria no notebook
From: |
Julio C. Neves |
Subject: |
Re: [shell-script] Verificar bateria no notebook |
Date: |
Mon, 30 Mar 2009 10:59:49 -0300 |
Fala Raul,
aqui vai um trecho de um artigo que publiquei na Linux Magazine há uns 8/10
meses:
Primeiramente vamos ver o comportamento do comando acpi:
*$ acpi *
Battery 1: charged, 69%
Agora veremos um programa para controlar a carga restante da bateria do *
notebook*, que deverá ser inicializado em *background*, para não prender a
tela, pois faz um *loop* infinito.
while true
do
Carga=$(acpi | awk '{split($4,valor,"%"); print valor[1]}')
if ((Carga > 15))
then
sleep 300
continue
fi
kdialog --passivepopup "Atenção, a bateria só tem $Carga% de carga" 5
sleep 180
done
Neste exemplo, o while faz um *loop* perpétuo calculando a carga restante
(extraído pelo awk, que deixa o quarto campo, já sem o sinal de
porcentagem(%)), que
será testada pelo comando if. Caso a carga esteja acima de 15%, o programa
ficará em espera por 5 minutos e voltará para o *loop*. Caso a carga esteja
inferior àquele valor, a cada 3 minutos será exibida por 5 segundos uma
mensagem com a carga total restante.
**
*Dica:* Caso o comando acpi não esteja instalado no seu *notebook*,
experimente fazer o mesmo com a instrução battery-status.
Obs: Se vc usa gnome, basta trocar o kdialog por zenity e --passivepopup por
--notification
--
Abração,
Julio
*Cursos de Shell e Zenity nos finais de semana:
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- No RJ brevemente;
- Turmas fechadas em outras cidades ligue (21) 8112-9988
*
2009/3/30 Raul Libório <address@hidden>
> Não é nada de mais, apenas um one-liner (dois comandos na verdade) =)
> Futucando aqui, vi como saber qtos % ainda temos da bateria do note:
>
> lshal | awk "/battery.charge_level.percentage/"'{ print $3"%" }'
>
> ------
> Raul Libório
> http://rauhmaru.blogspot.com/
> rauhmarutsªhotmailºcom
> Linux user#4444581
>
> "The bug is on the table."
>
>
[As partes desta mensagem que não continham texto foram removidas]