Очень важно следить за состоянием аккумулятора вашего ноутбука, чтобы продлить срок его службы и не оказаться застигнутым врасплох внезапным выключением. Если вы пользуетесь Linux, вы можете легко отслеживать уровень заряда аккумулятора вашего ноутбука и получать уведомления, когда он полностью заряжен или разряжен с помощью простого скрипта Bash под названием battmon.
Чрезмерная зарядка аккумулятора ноутбука со временем может сократить срок его службы. Точно так же слишком низкий уровень заряда аккумулятора может привести к неожиданному выключению или переходу в спящий режим, что может привести к потере данных.
Настроив уведомления о достижении определённого уровня заряда (например, 95%), вы сможете отключать устройство от сети, чтобы предотвратить перезарядку. Аналогичным образом, оповещения о критически низком уровне заряда (например, 10%) напомнят вам о необходимости подключить зарядное устройство до выключения системы.
battmon
это простой, но эффективный скрипт для мониторинга заряда батареи для Linux. Он автоматически проверяет уровень заряда батареи и отправляет уведомления на рабочий стол, когда:
Вы, конечно, можете настроить процент уровня заряда батареи по своему усмотрению.
battmon использует acpi
для получения сведений об аккумуляторе и notify-send
для отображения предупреждений на рабочем столе. Все действия записываются в /tmp/battmon.log
для упрощения устранения неполадок.
Вы можете запускать скрипт в фоновом режиме с помощью задания cron, чтобы всегда получать своевременные уведомления, не проверяя состояние батареи вручную.
Battmon полностью свободен в использовании скрипта, написанного на Bash.
Шаг 1: Установите Необходимые пакеты
Как мы уже упоминали, скрипт battmon использует команду acpi
для проверки уровня заряда батареи и notify-send
для отображения уведомления на рабочем столе, когда батарея полностью заряжена или разряжена.
Сначала установите эти инструменты. Если вы используете системы на базе Debian, выполните в терминале следующую команду:
sudo apt install acpi libnotify-bin
Шаг 2: Загрузите скрипт battmon
Создайте файл с именем battmon.sh
со следующим содержимым:
#!/usr/bin /env bash # ------------------------------------------------------------------ # Имя скрипта: battmon.sh # Описание: простой скрипт Bash для отслеживания уровня заряда батареи # Уведомления # ------------------------------------------------------------------ # Определение пороговых значений HIGH_THRESHOLD=95 LOW_THRESHOLD=10 LOGFILE="/tmp/battmon.log" # Получите уровень заряда батареи
LEVEL=$(acpi -b | awk -F', ' '{print $2}' | tr -d '%,')
# Убедитесь, что LEVEL — это допустимое число
if [[ "$LEVEL" =~ ^[0-9]+$ ]]; then
# Проверьте, что уровень заряда высокий
if [ "$LEVEL" -ge "$HIGH_THRESHOLD" ]; then echo "$(date) - Battery at $LEVEL%. Sending high battery notification..." >> "$LOGFILE" DISPLAY=:0 XDG_RUNTIME_DIR=/run/user/1000 notify-send -t 0 "Battery Full" "Your battery is now fully charged." >> "$LOGFILE" 2>&1 fi
# Проверка уровня заряда батареи
if [ "$LEVEL" -le "$LOW_THRESHOLD" ]; then echo "$(date) - Battery at $LEVEL%. Sending low battery warning..." >> "$LOGFILE" DISPLAY=:0 XDG_RUNTIME_DIR=/run/user/1000 notify-send -t 0 "Battery Low" "Your battery is critically low. Please plug in your charger!" >> "$LOGFIL> fi fi
Профессиональный совет: настройте порог заряда батареи в скриптах в соответствии с вашими предпочтениями. Например, вы можете установить его на 90% или 80%, если хотите отключать устройство раньше.
В будущем мы можем улучшить этот скрипт. Пожалуйста, время от времени заглядывайте на нашу страницу GitHub Gists, чтобы получать обновлённый скрипт battmon.
Шаг 3: Сделайте скрипт исполняемым
После сохранения файла вам нужно сделать его исполняемым, чтобы вы могли запустить его как скрипт. Используйте следующую команду:
chmod +x battmon.sh
Шаг 4: Переместите скрипт в ваш $PATH
Чтобы скрипт можно было легко запустить из любой точки терминала, переместите его в каталог, который включён в системную переменную PATH. Обычно выбирают каталог /usr/local/bin
:
sudo mv battmon.sh /usr/local/bin/battmon
Шаг 5: Запланируйте запуск скрипта с помощью Cron
Вы захотите, чтобы скрипт запускался автоматически через определённые промежутки времени. Здесь вам пригодятся задания cron.
Задание cron позволяет запланировать запуск скрипта каждые 5 минут, чтобы вы постоянно были в курсе состояния батареи.
Чтобы настроить задание cron, запустите:
crontab -e
Добавьте следующую строку:
*/5 * * * * /usr/local/bin/battmon >> /tmp/battmon.log 2>&1
Эта строка сообщает cron, что скрипт должен запускаться каждые 5 минут и выводить результаты в /tmp/battmon.log
.
Замените /usr/local/bin/battmon
фактическим путем к вашему скрипту.
Теперь скрипт будет постоянно работать в фоновом режиме и проверять уровень заряда каждые 5 минут. Если уровень заряда достигнет 95%, вы получите автоматическое уведомление, как показано на скриншоте ниже. После этого вы можете отключить кабель питания.
Кроме того, скрипт battmon
предупреждает вас о критически низком уровне заряда батареи (ниже 10%), чтобы вы могли подключить кабель питания и предотвратить сбои в работе системы.
Шаг 6: Проверьте журналы
Если вы хотите устранить неполадки или проверить историю уведомлений, вы можете изучить файл журнала. В файле журнала будут содержаться записи обо всех отправленных уведомлениях:
cat /tmp/battmon.log
Вы увидите журналы, подобные этому:
Monday 10 March 2025 03:10:01 PM IST - Battery at 99%. Sending high battery notification... Monday 10 March 2025 03:15:01 PM IST - Battery at 96%. Sending high battery notification... Monday 10 March 2025 06:10:01 PM IST - Battery at 6%. Sending low battery warning... Monday 10 March 2025 06:15:01 PM IST - Battery at 9%. Sending low battery warning...
battmon — это простой, но эффективный инструмент для контроля уровня заряда батареи в Linux. С помощью скрипта battmon вы можете легко контролировать уровень заряда батареи и получать уведомления, когда батарея полностью заряжена или уровень заряда критически низкий.
Это не только поможет вам сохранить работоспособность аккумулятора, но и позволит всегда быть в курсе состояния заряда вашего устройства.
Если у вас есть другие полезные советы по управлению питанием в Linux, пожалуйста, поделитесь ими в комментариях.