Наши партнеры

UnixForum





Библиотека сайта 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%

Вывод команды Upower

Как видно из вышеприведенного вывода, батарея моего ноутбука полностью заряжена.

Для более подробной информации обратитесь к справочным страницам.

$ 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

Как вы видите на скриншоте выше, моя батарея находится в режиме зарядки.

Эта утилита имеет некоторые ограничения. На момент написания данного руководства batstat поддерживала только одну батарею. И она собирает информацию только из этой папки - «/sys/class/power_supply/». Если ваша машина содержит информацию об аккумуляторе в другой папке, эта программа не будет работать.

Для получения более подробной информации, проверьте страницу Batstat в GitHub.

Batstat GitHub Repository

Способ 4. Использование программы «battery-level-cli»

battery-level-cli является еще одной утилитой командной строки для отображения уровня заряда батареи в Linux. В отличие от программы «batstat», она будет отображать только уровень заряда батареи. Это не поможет вам определить, заряжается аккумулятор или нет. Она написана на NodeJS, поэтому убедитесь, что в вашей системе установлен NodeJS.

Как установить NodeJS в Linux

После установки Node JS выполните следующую команду для установки утилиты battery-level-cli:

$ npm install --global battery-level-cli

Теперь вы можете просмотреть уровень заряда батареи с помощью команды:

$ battery-level
100%

Для более подробной информации, проверьте репозиторий проекта в GitHub:

Battery-level-cli GitHub Repository

Заключение

Имеется много команд и программ для проверки состояния батареи ноутбука из терминала в Linux. Насколько я знаю, приведенные выше способы работали просто отлично, как и ожидалось. Если вам известны некоторые другие команды/утилиты для определения состояния батареи, дайте мне знать в разделе комментариев ниже. Я проверю и добавлю их.


Статьи об управлении питанием в Linux на нашем сайте: