Поиск по сайту:

Проверьте состояние и уровень заряда батареи ноутбука из CLI в Linux

Узнать состояние батареи вашего ноутбука в режиме графического интерфейса очень легко. Вы можете легко определить уровень заряда батареи, наведя указатель мыши на значок индикатора батареи на панели задач/верхней панели. А как насчет командной строки? Не все это знают. На днях мой друг спросил, как проверить уровень заряда батареи ноутбука с помощью терминала на рабочем столе Ubuntu — отсюда и этот пост. Здесь я включил пять простых методов, которые помогут вам проверить состояние и уровень батареи ноутбука в Терминале в любом дистрибутиве 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'

Проверьте состояние и уровень заряда батареи ноутбука с помощью команды upower.

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

Если приведенная выше команда по какой-либо причине не работает, попробуйте вместо этого следующую команду:

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.

В Arch Linux и его производных:

sudo pacman -S acpi

Чтобы установить acpi в Debian, Ubuntu и их производных:

sudo apt-get install acpi

В RHEL, CentOS, Fedora:

sudo yum install acpi

Или,

sudo dnf install acpi

После установки 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

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

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

man acpi

Способ 3: использование команд «кошка» и «найти».

Это было предложено одним из наших читателей в разделе комментариев.

Мы можем использовать команды cat и find для отображения сведений о батарее.

Чтобы узнать только емкость аккумулятора, выполните:

cat /sys/class/power_supply/BAT0/capacity

Пример вывода:

89

Здесь мой уровень заряда батареи составляет 89%.

Для получения всех подробностей о батарее команда будет такой:

find /sys/class/power_supply/BAT0/ -type f | xargs -tn1 cat

Пример вывода:

cat /sys/class/power_supply/BAT0/uevent 
POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_STATUS=Discharging
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11100000
POWER_SUPPLY_VOLTAGE_NOW=11646000
POWER_SUPPLY_CURRENT_NOW=1905000
POWER_SUPPLY_CHARGE_FULL_DESIGN=4400000
POWER_SUPPLY_CHARGE_FULL=3013000
POWER_SUPPLY_CHARGE_NOW=2696000
POWER_SUPPLY_CAPACITY=89
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_MODEL_NAME=DELL 7XFJJA2
POWER_SUPPLY_MANUFACTURER=Samsung SDI
POWER_SUPPLY_SERIAL_NUMBER= 4448
cat /sys/class/power_supply/BAT0/charge_full_design 
4400000
cat /sys/class/power_supply/BAT0/serial_number 
4448
cat /sys/class/power_supply/BAT0/technology 
Li-ion
cat /sys/class/power_supply/BAT0/current_now 
1905000
cat /sys/class/power_supply/BAT0/charge_now 
2696000
cat /sys/class/power_supply/BAT0/present 
1
cat /sys/class/power_supply/BAT0/power/runtime_active_time 
0
cat /sys/class/power_supply/BAT0/power/runtime_active_kids 
0
cat /sys/class/power_supply/BAT0/power/runtime_usage 
0
cat /sys/class/power_supply/BAT0/power/runtime_status 
unsupported
cat /sys/class/power_supply/BAT0/power/autosuspend_delay_ms 
cat: /sys/class/power_supply/BAT0/power/autosuspend_delay_ms: Input/output error
cat /sys/class/power_supply/BAT0/power/async 
disabled
cat /sys/class/power_supply/BAT0/power/runtime_suspended_time 
0
cat /sys/class/power_supply/BAT0/power/runtime_enabled 
disabled
cat /sys/class/power_supply/BAT0/power/control 
auto
cat /sys/class/power_supply/BAT0/manufacturer 
Samsung SDI
cat /sys/class/power_supply/BAT0/type 
Battery
cat /sys/class/power_supply/BAT0/charge_full 
3013000
cat /sys/class/power_supply/BAT0/capacity 
89
cat /sys/class/power_supply/BAT0/cycle_count 
0
cat /sys/class/power_supply/BAT0/voltage_now 
11646000
cat /sys/class/power_supply/BAT0/status 
Discharging
cat /sys/class/power_supply/BAT0/alarm 
0
cat /sys/class/power_supply/BAT0/model_name 
DELL 7XFJJA2
cat /sys/class/power_supply/BAT0/voltage_min_design 
11100000
cat /sys/class/power_supply/BAT0/capacity_level 
Normal

Способ 4: Использование программы «Batstat»

batstat — это небольшая утилита CLI на основе 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

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

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

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

После установки NodeJS настройте следующую команду, чтобы установить утилиту «battery-level-cli»:

npm install --global battery-level-cli

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

$ battery-level
100%

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

  • Репозиторий GitHub с уровнем заряда батареи

Заключение

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

Статьи по данной тематике