Проверьте состояние и уровень заряда батареи ноутбука из 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. Насколько мне известно, приведенные выше методы сработали так, как и ожидалось. Если вы знаете какие-либо другие команды/утилиты для определения состояния батареи, дайте мне знать в разделе комментариев ниже. Я их тоже проверю и добавлю.