Question Notification de batterie faible [dupliquer]


Cette question a déjà une réponse ici:

J'ai Ubuntu 16.04 LTS sur Lenovo z5170. Je veux avoir un programme (quel que soit le langage de programmation) qui me prévienne que je suis à court de batterie par un bip. Je suppose que le programme devrait dormir jusqu'au moment où je suis à court de batterie (10% d’énergie) mais tout ce que je peux penser est une boucle while qui consomme tout le processeur et empêche tout le reste de fonctionner.

1- Comment dois-je mettre en œuvre un tel programme?

2- Quels sont les moyens d'informer les utilisateurs sur des événements spécifiques?


1
2017-10-14 23:33


origine


Vous recevez automatiquement une notification lorsque la batterie est faible dans Ubuntu - bha159
Je sais mais je veux mon propre notifiant au cas où je n'aurais pas de gui. - Shadow_m2
Cette question a été posée avant: askubuntu.com/q/603285/295286  , askubuntu.com/a/763396/295286 , askubuntu.com/q/800875/295286 - Sergiy Kolodyazhnyy


Réponses:


En plus des méthodes proposées en double, vous pouvez faire ceci:

Trouvez votre chemin d'interface de batterie via 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

Puis utilisez upower --show-info et déclencher sa sortie. Dans mon exemple, ce serait comme ça:

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

Tout ce que vous avez à faire maintenant, c'est d'utiliser un script simple pour comparer si cette valeur de sortie est inférieure ou égale à un certain seuil

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

En ce qui concerne la notification via bip, vous pouvez utiliser aplay commande et tout fichier audio au lieu de notify-send. Si vous n'avez pas d'IHM, vous pouvez également utiliser wall commande comme ça wall <<< "Battery low" et il imprimera pour filtrer un message. REMARQUE: en raison de mises à jour récentes dans gnome-terminal cela ne fonctionne pas dans gnome-terminal, mais dans les TTY et autres émulateurs de terminal, il le fait toujours


0
2017-10-15 00:50



Avez-vous des suggestions sur la façon de désactiver complètement cette notification (ma batterie est cassée). askubuntu.com/questions/1040830/… - Nikhil
@ Nikhil Peut-être que cela peut aider webupd8.org/2016/10/ - Sergiy Kolodyazhnyy