Поиск по сайту:
Можно быть хитрее другого, но нельзя быть хитрее всех (Ф. Ларошфуко).

Как отслеживать уровень заряда батареи и получать уведомления в Linux с помощью battmon

10.03.2025

Очень важно следить за состоянием аккумулятора вашего ноутбука, чтобы продлить срок его службы и не оказаться застигнутым врасплох внезапным выключением. Если вы пользуетесь Linux, вы можете легко отслеживать уровень заряда аккумулятора вашего ноутбука и получать уведомления, когда он полностью заряжен или разряжен с помощью простого скрипта Bash под названием battmon.

 

Зачем следить за уровнем заряда батареи?

Чрезмерная зарядка аккумулятора ноутбука со временем может сократить срок его службы. Точно так же слишком низкий уровень заряда аккумулятора может привести к неожиданному выключению или переходу в спящий режим, что может привести к потере данных.

Настроив уведомления о достижении определённого уровня заряда (например, 95%), вы сможете отключать устройство от сети, чтобы предотвратить перезарядку. Аналогичным образом, оповещения о критически низком уровне заряда (например, 10%) напомнят вам о необходимости подключить зарядное устройство до выключения системы.

 

Что такое баттмон?

battmon это простой, но эффективный скрипт для мониторинга заряда батареи для Linux. Он автоматически проверяет уровень заряда батареи и отправляет уведомления на рабочий стол, когда:

  1. Аккумулятор полностью заряжен (≥ 95%) — напоминание о необходимости отключить зарядное устройство во избежание перезарядки.
  2. Уровень заряда батареи критически низкий (≤ 10%) — предупреждает о необходимости подключить зарядное устройство до выключения системы.

 

Вы, конечно, можете настроить процент уровня заряда батареи по своему усмотрению.

battmon использует acpi для получения сведений об аккумуляторе и notify-send для отображения предупреждений на рабочем столе. Все действия записываются в /tmp/battmon.log для упрощения устранения неполадок.

Читать  Использование команды shift в bash

Вы можете запускать скрипт в фоновом режиме с помощью задания cron, чтобы всегда получать своевременные уведомления, не проверяя состояние батареи вручную.

Battmon полностью свободен в использовании скрипта, написанного на Bash.

 

Настройка оповещений о батарее ноутбука с помощью battmon в Linux

Шаг 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%, если хотите отключать устройство раньше.

 

Читать  Как использовать apt-cache для поиска пакетов

В будущем мы можем улучшить этот скрипт. Пожалуйста, время от времени заглядывайте на нашу страницу 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%, вы получите автоматическое уведомление, как показано на скриншоте ниже. После этого вы можете отключить кабель питания.

Как отслеживать уровень заряда батареи и получать уведомления в Linux с помощью battmon
Отслеживайте уровень заряда батареи в Linux с помощью уведомлений с помощью battmon

Кроме того, скрипт battmon предупреждает вас о критически низком уровне заряда батареи (ниже 10%), чтобы вы могли подключить кабель питания и предотвратить сбои в работе системы.

Как отслеживать уровень заряда батареи и получать уведомления в Linux с помощью battmon
Настройка оповещений об аккумуляторе ноутбука С помощью battmon

Шаг 6: Проверьте журналы

Читать  Проверьте, какие порты и процессы запущены в Ubuntu

Если вы хотите устранить неполадки или проверить историю уведомлений, вы можете изучить файл журнала. В файле журнала будут содержаться записи обо всех отправленных уведомлениях:

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, пожалуйста, поделитесь ими в комментариях.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Проект GNOME объявил сегодня о выпуске предварительного кандидата (RC) на…

Спасибо!

Теперь редакторы в курсе.