Библиотека сайта rus-linux.net
Как проверить состояние и уровень заряда батареи в терминале Linux
Оригинал: How To Check Laptop Battery Status And Level In Terminal In Linux
Автор: sk
Дата публикации: 1 октября 2018 года
Перевод: А. Кривошей
Дата перевода: июль 2019 г.
Посмотреть состояние батареи вашего ноутбука в режиме графического интерфейса очень просто. Вы можете легко определить уровень заряда батареи, наведя указатель мыши на значок индикатора заряда батареи на панели задач. Но как насчет командной строки? Не все знают, как это сделать. На днях мой друг спросил, как проверить уровень заряда батареи ноутбука в терминале - отсюда и этот пост. Я описал четыре простых метода, которые помогут вам проверить состояние и уровень заряда батареи ноутбука в терминале в любом дистрибутиве Linux.
Проверка состояния батареи ноутбука и уровень ее заряда в терминале в Linux
Мы можем узнать состояние батареи ноутбука из командной строки тремя способами.
Способ 1 - использование команды «Upower».
Команда Upower предустановлена в большинстве дистрибутивов Linux. Чтобы отобразить состояние батареи с помощью Upower, откройте терминал и выполните:
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0
Пример вывода:
native-path: BAT0 vendor: Samsung SDI model: DELL 7XFJJA2 serial: 4448 power supply: yes updated: Mon 01 Oct 2018 02:08:14 PM IST (100 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: charging warning-level: none energy: 43.3011 Wh energy-empty: 0 Wh energy-full: 44.5443 Wh energy-full-design: 48.84 Wh energy-rate: 9.8679 W voltage: 12.548 V time to full: 7.6 minutes percentage: 97% capacity: 91.2045% technology: lithium-ion icon-name: 'battery-full-charging-symbolic' History (charge): 1526131128 97.000 charging History (rate): 1526131128 9.868 charging
Как вы видите, моя батарея находится в режиме зарядки и уровень заряда батареи составляет 97%.
Если приведенная выше команда по какой-либо причине не работает, попробуйте следующую команду:
$ upower -i `upower -e | grep 'BAT'`
Пример вывода:
native-path: BAT0 vendor: Samsung SDI model: DELL 7XFJJA2 serial: 4448 power supply: yes updated: Mon 01 Oct 2018 02:08:14 PM IST (100 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: charging warning-level: none energy: 40.0932 Wh energy-empty: 0 Wh energy-full: 40.0932 Wh energy-full-design: 48.84 Wh energy-rate: 3.4188 W voltage: 12.571 V percentage: 100% capacity: 82.0909% technology: lithium-ion icon-name: 'battery-full-charging-symbolic' History (rate): 1538383094 3.419 charging
Upower отображает не только состояние батареи, но и полную информацию о ней, такую как модель, название поставщика, серийный номер, состояние, напряжение и т. д.
Тем не менее, вы можете отображать только состояние батареи с помощью комбинации upower и grep, как показано ниже.
$ upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"
Пример вывода:
state: fully-charged percentage: 100%
Как видно из вышеприведенного вывода, батарея моего ноутбука полностью заряжена.
Для более подробной информации обратитесь к справочным страницам.
$ man upower
Способ 2 - использование команды «acpi»
Команда acpi показывает состояние батареи и другую информацию ACPI в вашем дистрибутиве Linux.
Возможно, в некоторых дистрибутивах Linux вам придется установить команду acpi.
Чтобы установить acpi в Debian, Ubuntu и его производных, выполните:
$ sudo apt-get install acpi
В RHEL, CentOS, Fedora:
$ sudo yum install acpi
или
$ sudo dnf install acpi
В Arch Linux и его производных:
$ sudo pacman -S acpi
После установки выполните следующую команду:
$ acpi -V
Примечание: здесь, “V” должна быть заглавной.
Пример вывода:
Battery 0: Charging, 99%, 00:02:09 until charged Battery 0: design capacity 4400 mAh, last full capacity 4013 mAh = 91% Battery 1: Discharging, 0%, rate information unavailable Adapter 0: on-line Thermal 0: ok, 77.5 degrees C Thermal 0: trip point 0 switches to mode critical at temperature 84.0 degrees C Cooling 0: Processor 0 of 3 Cooling 1: Processor 0 of 3 Cooling 2: LCD 0 of 15 Cooling 3: Processor 0 of 3 Cooling 4: Processor 0 of 3 Cooling 5: intel_powerclamp no state information available Cooling 6: x86_pkg_temp no state information available
Можно проверять только состояние заряда батареи. Для этого выполните:
$ acpi
Пример вывода:
Battery 0: Charging, 99%, 00:01:41 until charged Battery 1: Discharging, 0%, rate information unavailable
Проверка температуры батареи:
$ acpi -t
Пример вывода:
Thermal 0: ok, 63.5 degrees C
Мы можем просмотреть приведенный выше вывод в градусах Фаренгейта, используя флаг -f:
$ acpi -t -f
Пример вывода:
Thermal 0: ok, 144.5 degrees F
Хотите знать, подключен ли источник переменного тока или нет? Просто запустите следующую команду:
$ acpi -a
Пример вывода:
Adapter 0: on-line
Если источник переменного тока недоступен, вместо этого вы увидите следующее:
Adapter 0: off-line
Для более подробной информации, обратитесь к справочным страницам.
$ man acpi
Способ 3: Использование программы «Batstat»
Batstat - это небольшая утилита командной строки на основе ncurses для отображения состояния батареи вашего ноутбука в Unix-подобных системах. Она будет отображать следующие детали:
- текущий уровень заряда батареи;
- текущая емкость;
- полная емкость заряда;
- время, прошедшее с начала работы программы, без отслеживания времени бездействия машины;
- история уровня заряда батареи.
Установка batstat проще простого. Клонируйте последню версию из Git с помощью команды:
$ git clone https://github.com/Juve45/batstat.git
Приведенная выше команда извлечет последнюю версию batstat и сохранит ее содержимое в папке с именем «batstat».
Перейдите в каталог batstat/bin/:
$ cd batstat/bin/
Скопируйте двоичный файл «batstat» в ваш PATH, например /usr/local/bin/.
$ sudo cp batstat /usr/local/bin/
Сделайте его исполняемым с помощью команды:
$ sudo chmod +x /usr/local/bin/batstat
Наконец, выполните приведенную ниже команду, чтобы просмотреть состояние батареи.
$ batstat
Пример вывода:
Как вы видите на скриншоте выше, моя батарея находится в режиме зарядки.
Эта утилита имеет некоторые ограничения. На момент написания данного руководства batstat поддерживала только одну батарею. И она собирает информацию только из этой папки - «/sys/class/power_supply/». Если ваша машина содержит информацию об аккумуляторе в другой папке, эта программа не будет работать.
Для получения более подробной информации, проверьте страницу Batstat в GitHub.
Способ 4. Использование программы «battery-level-cli»
battery-level-cli является еще одной утилитой командной строки для отображения уровня заряда батареи в Linux. В отличие от программы «batstat», она будет отображать только уровень заряда батареи. Это не поможет вам определить, заряжается аккумулятор или нет. Она написана на NodeJS, поэтому убедитесь, что в вашей системе установлен NodeJS.
После установки Node JS выполните следующую команду для установки утилиты battery-level-cli:
$ npm install --global battery-level-cli
Теперь вы можете просмотреть уровень заряда батареи с помощью команды:
$ battery-level 100%
Для более подробной информации, проверьте репозиторий проекта в GitHub:
Заключение
Имеется много команд и программ для проверки состояния батареи ноутбука из терминала в Linux. Насколько я знаю, приведенные выше способы работали просто отлично, как и ожидалось. Если вам известны некоторые другие команды/утилиты для определения состояния батареи, дайте мне знать в разделе комментариев ниже. Я проверю и добавлю их.
Статьи об управлении питанием в Linux на нашем сайте:
- Управление электропитанием в KDE
- Экономия заряда батареи ноутбука с помощью утилиты powertop
- Управление питанием в Линукс
- Управление питанием в Линукс, часть 2
- Мини-HOWTO: "Linux и питание от батарей"