Zu meinen neuen Akkus gesellte sich nun ein kleines Problem. Ich nutze um mir ein paar schöne Informationen zum Systemstatus anzuzeigen das Tool Conky, dieses kann normalerweise auch den Status mehrerer Akkus ausgeben. Leider scheint das unter Freebsd nicht so recht zu funktionieren, da die Daten aus den sysctl Einträgen gezogen werden und die berechnen die Akkulaufzeit pauschal für alle Akkus. Es ist also mit Conky nicht ohne weiteres möglich den Füllstand der einzelnen Akkus anzuzeigen.

Daher habe ich mir ein kleines Shellskrip geschrieben das diesen Mißstand behebt und mir den Ladezustand meiner beiden Akkus anzeigt und zusätzlich die gesamte Restlaufzeit ausgibt. Zum Glück kann Conky auch Shellskripte ausführen und deren Ausgaben anzeigen.

#!/bin/sh

BATS="0 1"

for i in $BATS
do
	CUR_STATE=`acpiconf -i $i | grep "State" | cut -f 4`

	if [ "$CUR_STATE" != "Not Present" ];
	then
		MAX_CAP=`acpiconf -i $i | grep "Design capacity" | cut -f 2 | cut -d " " -f 1`
		CUR_CAP=`acpiconf -i $i | grep "Remaining Capacity" | cut -f 2 | cut -d " " -f 1`

		# show percentage only if battery is present
		if [ "$CUR_STATE" != "Charging" ];
		then
			echo "Battery $i: $(( $CUR_CAP*100 / $MAX_CAP )) % (Discharging)"
		else
			echo "Battery $i: $(( $CUR_CAP*100 / $MAX_CAP )) % (Charging)"
		fi
	fi
done

LIFETIME=`sysctl -n hw.acpi.battery.time`

if [ "$LIFETIME" != "-1" ]
then
	echo "Remaining: $(($LIFETIME/60)):$(( $LIFETIME%60 ))h"
fi

Sicher noch nicht das Optimum aber alle Infos die ich brauche.


Kommentare