Notificação de bateria fraca [duplicada]

1

Eu tenho o Ubuntu 16.04 LTS na Lenovo z5170. Eu quero ter um programa (não importa qual linguagem de programação) que me avise que eu estou com pouca bateria por um sinal sonoro. Eu suponho que o programa deve estar dormindo até o momento que eu estou fora da bateria (10% de energia), mas tudo o que posso pensar é um loop while que consome todo o processador e impede que todo o resto seja executado.

1- Como devo implementar esse programa?

2- Quais são as formas de notificar os usuários sobre um evento específico?

    
por Shadow_m2 14.10.2016 / 23:33

1 resposta

0

Além dos métodos duplicados sugeridos, o que você pode fazer é isto:

Encontre o caminho da interface da bateria por meio de upower -enumerate :

bash-4.3$ upower --enumerate
/org/freedesktop/UPower/devices/line_power_ACAD
/org/freedesktop/UPower/devices/battery_BAT1
/org/freedesktop/UPower/devices/DisplayDevice

Em seguida, use upower --show-info e desative sua saída. No meu exemplo, seria assim:

bash-4.3$ upower --show-info /org/freedesktop/UPower/devices/DisplayDevice | awk '/percentage/{gsub(/\%/,""); print $2}'
100

Tudo o que você precisa fazer agora é usar um script simples para comparar se o valor de saída for menor ou igual a determinado limite

#!/bin/bash

get_percentage()
{
     # Note, | \ must have only new line after it, no space
     upower --show-info /org/freedesktop/UPower/devices/battery_BAT1 |\
     awk '/percentage/{gsub(/\%/,""); print $2}'
}

main()
{
    while true
    do
        pcent=$(get_percentage)
        [ $pcent -le 10  ] && notify-send "Battery Low" "Please plug in charger"
        sleep 60 # check every minute
    done
}
main

Quanto a notificar via bip, você pode usar o comando aplay e qualquer arquivo de áudio em vez de notify-send . Se você não tem GUI, você também pode usar o comando wall como wall <<< "Battery low" e imprimir para exibir uma mensagem. OBSERVAÇÃO : por causa das atualizações recentes em gnome-terminal , isso não funciona em gnome-terminal , mas em TTYs e outros emuladores de terminal que ele ainda faz

    
por Sergiy Kolodyazhnyy 15.10.2016 / 00:50