Ноутбуки с Linux хороши для пользователей никсов, но они тоже разряжают батарею.
Я пробовал много операционных систем Linux, но у них не было длительного времени автономной работы, как у Windows.
Длительная зарядка аккумулятора приведет к его повреждению, поэтому отсоединяйте кабель питания, когда он заряжен на 100%.
Не существует приложения по умолчанию для уведомления о зарядке или разрядке аккумулятора, и вам необходимо установить стороннее приложение, которое уведомит вас.
Для этого я обычно устанавливаю приложение Battery Monitor, но оно устарело, поэтому я есть скрпит шелла для получения уведомления.
Состояние зарядки и разрядки аккумулятора ноутбука можно определить с помощью следующих двух команд.
Используя команду acpi.
$ acpi -b Battery 0: Discharging, 71%, 00:58:39 remaining
Используя команду upower.
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -w 'state|percentage' | awk '{print $2}' discharging 64%
Метод 1: Bash скрипт для отправки предупреждения, когда уровень заряда батареи выше 95% или ниже 20%
Этот скрипт запускается в фоновом режиме при запуске и каждую минуту проверяет состояние батареи, а затем отправляет уведомление, когда уровень заряда батареи превышает 95% или аккумулятор разряжен менее 20%.
Предупреждение не сработает, пока аккумулятор не будет заряжен более чем на 20% или менее чем на 95%.\
$ sudo vi /opt/scripts/battery-status.sh #!/bin/bash while true do battery_level=`acpi -b | grep -P -o '[0-9]+(?=%)'` if [ $battery_level -ge 95 ]; then notify-send "Battery Full" "Level: ${battery_level}%" paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga elif [ $battery_level -le 20 ]; then notify-send --urgency=CRITICAL "Battery Low" "Level: ${battery_level}%" paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga fi sleep 60 done
Когда скрипт будет готов, установите права на исполнение.
$ sudo chmod +x /opt/scripts/battery-status.sh
Это позволяет системе запускать скрипт при запуске системы.
$ vi /home/magi/.profile /opt/scripts/battery-status.sh &
Метод 2: Bash скрипт для отправки уведомления, когда уровень заряда батареи заряжен (выше 95%) или разряжен (ниже 20%)
Этот скрит похож на скрипт, показанный выше, но он отвечает за адаптер переменного тока.
Если ваш адаптер переменного тока подключен и аккумулятор заряжен более чем на 95%, он отправит уведомление со звуком, но уведомление не остановится, пока вы не отключите адаптер переменного тока.
Если вы отключите адаптер переменного тока, вы больше никогда не увидите это уведомление, пока заряд аккумулятора не упадет до 20%.
$ sudo vi /opt/scripts/battery-status-1.sh #!/bin/bash while true do export DISPLAY=:0.0 battery_level=`acpi -b | grep -P -o '[0-9]+(?=%)'` if on_ac_power; then if [ $battery_level -ge 95 ]; then notify-send "Battery Full" "Level: ${battery_level}% " paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga fi else if [ $battery_level -le 20 ]; then notify-send --urgency=CRITICAL "Battery Low" "Level: ${battery_level}%" paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga fi fi sleep 60 done
Когда скрипт будет готов, установите права на исполнение.
$ sudo chmod +x /opt/scripts/battery-status-1.sh
Для всей системы вам необходимо добавить скрипт в файл /etc/profile.
$ vi /home/magi/.profile /opt/scripts/battery-status-1.sh &
Перезагрузите вашу систему Linux, чтобы проверить!
$ sudo reboot
2 комментария
man tlp
есть вполне рабочее решение, хотя и самостоятельное написание скриптов весьма полезно
Спасибо – если интересно:
https://itsecforu.ru/2018/01/10/tlp-%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D0%B9%D1%82%D0%B5-%D1%81%D0%B2%D0%BE%D1%8E-%D0%B1%D0%B0%D1%82%D0%B0%D1%80%D0%B5%D1%8E-%D0%B4%D0%BB%D1%8F-%D0%BD%D0%BE%D1%83%D1%82%D0%B1%D1%83%D0%BA%D0%B0-linux/