Очень важно следить за состоянием аккумулятора вашего ноутбука, чтобы продлить срок его службы и не оказаться застигнутым врасплох внезапным выключением. Если вы пользуетесь Linux, вы можете легко отслеживать уровень заряда аккумулятора вашего ноутбука и получать уведомления, когда он полностью заряжен или разряжен с помощью простого скрипта Bash под названием battmon.
Зачем следить за уровнем заряда батареи?
Чрезмерная зарядка аккумулятора ноутбука со временем может сократить срок его службы. Точно так же слишком низкий уровень заряда аккумулятора может привести к неожиданному выключению или переходу в спящий режим, что может привести к потере данных.
Настроив уведомления о достижении определённого уровня заряда (например, 95%), вы сможете отключать устройство от сети, чтобы предотвратить перезарядку. Аналогичным образом, оповещения о критически низком уровне заряда (например, 10%) напомнят вам о необходимости подключить зарядное устройство до выключения системы.
Что такое баттмон?
battmon
это простой, но эффективный скрипт для мониторинга заряда батареи для Linux. Он автоматически проверяет уровень заряда батареи и отправляет уведомления на рабочий стол, когда:
- Аккумулятор полностью заряжен (≥ 95%) — напоминание о необходимости отключить зарядное устройство во избежание перезарядки.
- Уровень заряда батареи критически низкий (≤ 10%) — предупреждает о необходимости подключить зарядное устройство до выключения системы.
Вы, конечно, можете настроить процент уровня заряда батареи по своему усмотрению.
battmon использует acpi
для получения сведений об аккумуляторе и notify-send
для отображения предупреждений на рабочем столе. Все действия записываются в /tmp/battmon.log
для упрощения устранения неполадок.
Вы можете запускать скрипт в фоновом режиме с помощью задания 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%, если хотите отключать устройство раньше.
В будущем мы можем улучшить этот скрипт. Пожалуйста, время от времени заглядывайте на нашу страницу 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, пожалуйста, поделитесь ими в комментариях.