Индикатор батареи

nomad
пихаем в коньки и вуаля
а не проще
${battery_percent BAT1}%
Non progredi - est regredi
nomad ~ $ acpi -b
Battery 0: Discharging, 94%, 03:55:19 remaining

Ээээ ребята, вопрос не стоит мониторить батарейку...Коньки с этим справляются. Мне нужно вырубать ноут при достижении критического заряда.xfce4-power-manager как то не тянет на легковесный, не рассматриваю его.
antiron
${battery_percent BAT1}%
Проще, согласен. Просто конфиг коньков взят с старого ноута, а там это почему то не работало. Спасибо за наводку)) У меня кстати BAT0 надописать, тогда работает
nomad, вас спрашивают, откуда берётся информация про заряд, вот для чего. Можно написать скрипт, который раз в N минут будет этот источник опрашивать и если получит нужное значение, выполнит systemctl suspend.

Что-то типа такого (это псевдокод, я на баше без мануала не умею писать):

while(true) {
    lvl = `cat /proc/battery/lvl`
    if (lvl <= 5) {
        systemctl suspend
    }
    else {
        sleep 5m
    }
}
nomad
Ээээ ребята, вопрос не стоит мониторить батарейку...Коньки с этим справляются. Мне нужно вырубать ноут при достижении критического заряда.xfce4-power-manager как то не тянет на легковесный, не рассматриваю его.
ну не знаю,10 мб не так уж и много,не зря же его и в lxde используют,зачем усложнять,программа со своими обязанностями справляется,но если нет,тогда вам сюда
Non progredi - est regredi
Да, lampslave, это явно не шелл :), но алгоритм приблизительно правильный: предстоит взять/отфильтровать/вычислить уровень заряда и, учитывая, насколько я понимаю, режим работы батареи (заряжается, заряжена, используется), отправить железо в суспенд в зависимости от нужного процента заряда.

add. Однако, если можно "выехать" на правиле для удава - еще проще.
Aivar
Да, lampslave, это явно не шелл :)
Из него тут только `` :)
Но главное, чтобы понятно было. А лишний раз ман почитать никому не вредно, ТС в том числе.
lampslave
Из него тут только ``
Я догадался. )
export DISPLAY=:0.0
bat_in=`cat /sys/class/power_supply/BAT0/uevent | grep "POWER_SUPPLY_CAPACITY=" | cut -c 23-`
ac_off=`cat /sys/class/power_supply/BAT0/uevent | grep "POWER_SUPPLY_STATUS=" | cut -c 21-`
dc=`cat /sys/class/power_supply/BAT0/uevent | grep "POWER_SUPPLY_VOLTAGE_NOW" | cut -c 26-`
if (( "$bat_in" > "5" && "$bat_in" <= "10")) && [ "$ac_off" == "Discharging" ];
		then
			/usr/bin/notify-send -t 3 "Attention" "left <10% battery";
	elif (( "$bat_in" > "2" && "$bat_in" <= "5" )) && [ "$ac_off" == "Discharging" ];
		then
			/usr/bin/notify-send -t 5 -u critical "Warning" "left <5% battery";
	elif (( "$bat_in" <= "2" && "$dc" > "10000000" ))  && [ "$ac_off" == "Discharging" ] ;
		then
			/usr/bin/notify-send -u critical "Warning" "battery is over" ;
	elif (( "$bat_in" <= "2" && "$dc" <= "10000000" ))  && [ "$ac_off" == "Discharging" ] ;
		then
			/usr/bin/notify-send -u critical "Warning" "battery is over" ;
			sudo systemctl hibernate;
		else
			sleep 1;
fi;

о как )) пихаем это чудо в крон и всё))
Ошибки в тексте-неповторимый стиль автора©
ind.indeviral
bat_in=`cat /sys/class/power_supply/BAT0/uevent | grep "POWER_SUPPLY_CAPACITY=" | cut -c 23-`
ac_off=`cat /sys/class/power_supply/BAT0/uevent | grep "POWER_SUPPLY_STATUS=" | cut -c 21-`
dc=`cat /sys/class/power_supply/BAT0/uevent | grep "POWER_SUPPLY_VOLTAGE_NOW" | cut -c 26-`
for VAR in "$(cat /sys/class/power_supply/BAT0/uevent)"; do eval "$VAR"; done
PGP 0x31361F01
arcanisrepo
 
Зарегистрироваться или войдите чтобы оставить сообщение.