Осторожно, в следующем коде отсутствует обработка ошибки -. Пояснения встраиваются в виде встроенных комментариев
awk '{
#strip leading "#", run through date and read into $0
gsub(/^#/, ""); "date -d @"$0" \"+%F %T\"" | getline;
#wrap with table tags and print
printf "<tr> <td>%s</td>", $0;
#read the subsequent "non-date" line
getline;
#wrap with table tags and print
printf " <td><pre>%s</pre></td> </tr>\n", $0
}' file
В гаджете батареи Lenovo раньше была ручная настройка зарядки батареи, например, начинать зарядку только тогда, когда заряд батареи упал ниже X%, а затем прекращать зарядку, когда заряд батареи достигает Y%. Это очень полезно. Когда я подключаю зарядное устройство в то время, когда моя батарея находится между X и Y, оно автоматически ничего не начинает заряжать --, а просто использует то количество энергии, которое ему нужно, только для работы ноутбука. Чрезвычайно полезно, поскольку позволяет избежать постоянных и бесполезных циклов зарядки, которые только сокращают срок службы батареи. Если я установил эти настройки, скажем, на 35% и 85%, а мой ноутбук на 60%, когда я подключаю зарядное устройство, то он просто останется на 60% все время. Также полезно, когда я подключаю машину к сети, а двигатель не работает :Я бы не хотел без необходимости разряжать автомобильный аккумулятор --, просто использую совсем немного энергии, необходимой для работы ноутбука. Я до сих пор пользуюсь этим гаджетом и боюсь его обновлять, потому что в его новых версиях уже нет такой настройки.
Для этой модели вам нужно acpi_call
, затем используйте параметр для определения порогов заряда .
В основном идея состоит в том, чтобы установить максимальный процент, до которого батарея должна быть заряжена, до текущего уровня заряда после подключения внешнего блока питания, например. 43%
cat 43 > /sys/class/power_supply/BAT0/charge_stop_threshold
Рассчитайте текущий уровень заряда батареи со значениями в этих двух файлах:
/sys/class/power_supply/BAT0/energy_now
/sys/class/power_supply/BAT0/energy_full
Затем нужно активировать порог и удалить его с помощью небольшого скрипта, запускаемого событиями -входа/-выхода. Этоudev
-правило подойдет.