Você pode usar on_ac_power
para executar um script quando o poder o fornecimento é ligado ou desligado.
Tente o seguinte em um terminal.
$ on_ac_power
$ echo $?
0 ## Laptop on ac power
$ on_ac_power
$ echo $?
1 ## Laptop on battery (not on ac power)
Com base nisso, você pode criar seu script como
#!/bin/bash
while true
do
if on_ac_power; then
do_something ## Laptop on power
else
do_something_else ## Laptop on battery
fi
sleep 10 ## wait 10 sec before repeating
done
EDIT: [sugerido por KasiyA ]
cron job
seria uma idéia melhor para executar o script em um intervalo regular em vez de usar um loop infinito.
Salve seu script como myscript.sh
e coloque o seguinte conteúdo nele
#!/bin/bash
if on_ac_power; then
do_something
else
do_something_else
fi
Torne o script executável a partir de um terminal, chmod +x /path/to/myscript.sh
. Abra seu pessoal crontab
as EDITOR=gedit crontab -e
e anexe a seguinte linha para executar seu script a cada minuto.
* * * * * /path/to/myscript.sh