PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Meldung bei niedrigem Akku-Ladezustand



galusare
23.01.16, 13:23
Hallo,
trotz Recherche habe ich keine Möglichkeit zu meiner Frage gefunden, vielleicht könnt Ihr ja helfen.

Gibt es die Möglichkeit, den Rechner bei niedrigem Akku-Ladezustand herunterzufahren, bevor der Akku leer ist oder, was noch besser wäre, eine Meldung sich anzeigen zu lassen, die vor einem bevorstehende leeren Akku warnt?

Ich kann mir das so vorstellen, dass per Cron-Job alle 10 Minuten der Akkustatus abgefragt wird und wenn dieser unter ca. 5% liegt, dann könnte eben eine solche Meldung erscheinen.

Mittels upower kann man sich ja den Zustand anzeigen lassen - wie kann dieser aber einer Variable übergeben werden? Das ist eigentlich das eigentliche Ziel meiner Frage.

habt Ihr eine Idee? Danke schon mal für die Hilfe,

galusare

marce
23.01.16, 14:57
hm, mein Lappi bzw. das darauf installierte Betriebssystem macht das automatisch.

Aber ja - auch das, was Du willst geht.
https://www.google.de/search?q=bash+program+output+in+variable

galusare
23.01.16, 16:40
Hallo marce,

danke für die Antwort - nun geht's an die Einbindung in ein bash-script.

Muss aber noch etwas werkeln bis was zu sehen ist.

BetterWorld
23.01.16, 18:33
ich kenne auch keine Distri, die das nicht macht.
Das ist Standard.

Die Frage wäre wohl eher, warum das bei dir nicht zu funktionieren scheint, statt ein Script zu schreiben.

galusare
24.01.16, 15:14
Hallo,

die Frage war ja nicht, warum das bei mir nicht funktioniert, sondern wie ich das lösen könnte.

Ich nutze LinuxBBQ, eine Debian unstable distro, in einer Minimal-Variante - nur mit openbox als window manager und wenigen vorinstallierten Programmen. Sinn und Zweck dieser Wahl war es, auf meinem 11 Jahre alten Notebook ein ressourcenschonendes Linux zu haben, das ich nach und nach erweitern und ständig aktuell halten kann.

Mittlerweile habe ich eine Lösung zu meiner Frage gefunden und ein kleines bash script geschrieben. Diese mag vielleicht nicht perfekt sein, funktioniert aber und ich weiß wie. manchmal ist auch der Weg das Ziel. Alle 10 Minuten wird es per cron aufgerufen und im Fall der Unterschreitung von 10% Ladekapazität öffnet sich ein Fenster, in dem ich wählen kann, ob ich herunterfahren oder abbrechen möchte.

Hier aber das script:



#!/bin/bash

#************ Ermitteln der Akku-Restkapazitaet *************
kapa=$(upower -i $(upower -e | grep 'BAT') | grep -E "percentage")

#************ Abschneiden des vorderen Teils "percentage= "*************
kap_cutv=$(echo ${kapa#*':'})

#************ Abschneiden des hinteren teils " %" - uebrig bleibt dann nur noch die Zahl als Text ********
kap_cuth=$(echo ${kap_cutv%'%'*})

#************ Umwandeln in eine Zahl *********************
kap_int=$(echo $((kap_cuth)))

#************ Abfrage, ob Zahl kleiner als 10 ist - wenn ja, dann Möglichkeit des mauellen Ausschaltens ***
if

[ $kap_int -lt 10 ] ; then

gxmessage " Akku fast leer!" -center -title "Akku-Warnung" -font "Sans bold 10" -default "Cancel" -buttons "_Abbrechen":1,"_Ausschalten":2 >/dev/null

case $? in
1)
echo "Exit";;
2)
sudo /sbin/halt;;

esac

fi


exit 0


Vielleicht finde ich ja auch noch die Möglichkeit der Abfrage, ob das Gerät am Laden ist.

Viele Grüße

galusare

drcux
26.01.16, 05:54
Vielleicht finde ich ja auch noch die Möglichkeit der Abfrage, ob das Gerät am Laden ist.



upower -i /org/freedesktop/UPower/devices/line_power_AC

Zeigt bei mir ob das Netzteil angeschlossen ist:

online: yes

upower -i /org/freedesktop/UPower/devices/battery_BAT0

Zeigt auch, was gerade gemacht wird:

state: discharging

galusare
30.01.16, 16:43
Hallo drcux,

danke für die Antwort. Sorry jetzt für mein spätes Wiedereinsehen.

Ja, so funktioniert das script. Leider gibt es dennoch eine offene Frage.
Das script selbst läuft bestens - allerdings nur, wenn man es selbst startet. Wird es jedoch periodisch per cronjob aufgerufen, läuft es zwar, doch cron hat ja, so habe ich inzwischen herausgefunden nicht den Zugriff auf das Display.
Selbst, wenn ich zu Beginn DISPLAY=:0.0 setze, bekomme ich keine Bildschirmausgabe. Auch dann nicht, wenn der Befehl gxmessage '-display 0.0' beinhaltet.

Ich habe auch herausgefunden, dass es mit .Xauthority zu tun haben könnte. Dazu fand ich dann aber doch nicht aureichend Informationen. Könnt Ihr mir da weiterhelfen?

Danke im Voraus.

galusare
01.02.16, 17:51
So, nun habe ich mir doch selbst geholfen - manchmal kommt man allein zum Ziel.

Ich habe im Script die Umgebungsvariablen DISPLAY und XAUTHORITY gesetzt und zwar wie folgt:

export XAUTHORITY=/home/meinuser/.Xauthority
export DISPLAY=':0.'