рекомендации

четверг, 22 июля 2021 г.

Как проверить состояние и уровень заряда батареи в терминале 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:              Tuesday 01 October 2019 12:50:41 PM IST (101 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               fully-charged
    warning-level:       none
    energy:              33.4443 Wh
    energy-empty:        0 Wh
    energy-full:         33.4443 Wh
    energy-full-design:  48.84 Wh
    energy-rate:         0.0111 W
    voltage:             12.446 V
    percentage:          100%
    capacity:            68.4773%
    technology:          lithium-ion
    icon-name:          'battery-full-charged-symbolic'

Как вы видите, моя батарея находится в режиме зарядки и уровень заряда батареи составляет 97%.

Если приведенная выше команда по какой-либо причине не работает, попробуйте следующую команду:
$ upower -i `upower -e | grep 'BAT'`
Пример вывода:

native-path:          BAT0
  vendor:               Samsung SDI
  model:                DELL 7XFJJA2
  serial:               4448
  power supply:         yes
  updated:              Tuesday 01 October 2019 12:54:41 PM IST (48 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               fully-charged
    warning-level:       none
    energy:              33.4443 Wh
    energy-empty:        0 Wh
    energy-full:         33.4443 Wh
    energy-full-design:  48.84 Wh
    energy-rate:         0.0111 W
    voltage:             12.446 V
    percentage:          100%
    capacity:            68.4773%
    technology:          lithium-ion
    icon-name:          'battery-full-charged-symbolic'
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: Discharging, 98%, 01:43:14 remaining
Battery 0: design capacity 4400 mAh, last full capacity 3013 mAh = 68%
Battery 1: Discharging, 0%, rate information unavailable
Adapter 0: off-line
Thermal 0: ok, 60.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: intel_powerclamp no state information available
Cooling 2: Processor 0 of 3
Cooling 3: x86_pkg_temp no state information available
Cooling 4: Processor 0 of 3
Cooling 5: LCD 0 of 15
Cooling 6: Processor 0 of 3
Можно проверять только состояние заряда батареи. Для этого выполните:
$ acpi
Пример вывода:
Battery 0: Discharging, 98%, 01:48:14 remaining
Battery 1: Discharging, 0%, rate information unavailable
Проверка температуры батареи:
$ acpi -t
Пример вывода:
Thermal 0: ok, 58.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. Насколько я знаю, приведенные выше способы работали просто отлично, как и ожидалось. Если вам известны некоторые другие команды/утилиты для определения состояния батареи, дайте мне знать в разделе комментариев ниже. Я проверю и добавлю их.

Комментариев нет:

Отправить комментарий