Вопрос: Как проверить состояние батареи с помощью терминала?


Мне нужна команда, которая проверяет состояние батареи через терминал


262
2017-10-20 01:24


Источник


$ upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage" - Jake Berger


Ответы:


Приведенная ниже команда выводит много статусных и статистических данных о батарее. /org/... путь можно найти с помощью команды upower -e (--enumerate).

upower -i /org/freedesktop/UPower/devices/battery_BAT0

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

  native-path:          /sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0
  vendor:               NOTEBOOK
  model:                BAT
  serial:               0001
  power supply:         yes
  updated:              Thu Feb  9 18:42:15 2012 (1 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               charging
    energy:              22.3998 Wh
    energy-empty:        0 Wh
    energy-full:         52.6473 Wh
    energy-full-design:  62.16 Wh
    energy-rate:         31.6905 W
    voltage:             12.191 V
    time to full:        57.3 minutes
    percentage:          42.5469%
    capacity:            84.6964%
    technology:          lithium-ion
  History (charge):
    1328809335  42.547  charging
    1328809305  42.020  charging
    1328809275  41.472  charging
    1328809245  41.008  charging
  History (rate):
    1328809335  31.691  charging
    1328809305  32.323  charging
    1328809275  33.133  charging

Вы можете использовать такие инструменты, как grep, чтобы получить только необходимую информацию из всего, что выводится.

Один простой способ: соединение вышеупомянутой команды в

grep -E "state|to\ full|percentage"

выходы:

state:               charging
time to full:        57.3 minutes
percentage:          42.5469%

Если вы часто захотите запустить эту команду, вы можете сделать псевдоним Bash для всей команды. Пример:

alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'

Добавьте это в конец вашего .bashrc-файла, и вы можете набрать «bat» в любое время, в терминале.

Существует также upower -d (--dump), которая показывает информацию обо всех доступных ресурсах питания, таких как батареи для ноутбуков, внешние мыши и т. д.


274
2018-02-09 17:42



upower --enumerate может быть полезна, если вы не знаете, как использовать upower, - landroni
@landroni И сокращенный вариант upower -e, эта команда перечисляет доступные пути для upower -i ..., Если вы ленивы и хотите получить список всех устройств, используйте upower -d (upower --dump). - Lekensteyn
В самом деле. Я думаю, что это было бы полезным дополнением к самому ответу, так как когда я впервые попытался использовать upower Я сразу заблудился. - landroni
@landroni Хорошая мысль, я обновил ответ. Не стесняйтесь редактировать его, если у вас есть больше связанных дополнений. - Lekensteyn
Еще один лайнер может быть upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage" - Wilf


Дружелюбное напоминание: поскольку ядро ​​Linux 2.6.24 с помощью /proc для хранения информации ACPI обескураженный а также осуждается,

Теперь нам рекомендуется использовать -> /sys/class/power_supply/BAT0,

UPDATE: Linux 3.19 и далее, мы должны посмотреть на следующий каталог -> /sys/class/power_supply/BAT1/

Например емкость -> cat /sys/class/power_supply/BAT1/capacity статус -> cat /sys/class/power_supply/BAT1/status


98
2018-06-17 08:35



В частности, /sys/class/power_supply/BAT0/capacity похоже, показывает текущий процент заряда. - thomasa88


Сначала установите acpi выполнив эту команду,

sudo apt-get install acpi

Затем выполните:

acpi

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

Battery 0: Discharging, 61%, 01:10:12 remaining

Или для более подробного вывода, который постоянно обновляется:

watch --interval=5 acpi -V

Вывод:

Каждые 5,0 секунд: acpi -V Wed Jan 8 15:45:35 2014

Батарея 0: полная, 100%
Адаптер 0: он-лайн
Термальный 0: нормально, 44,0 градусов C
Thermal 0: точка отключения 0 переключается в режим, критический при температуре 127,0 градусов C
Thermal 0: точка отключения 1 переключается в режим горячий при температуре 127,0 градусов C
Охлаждение 0: intel_powerclamp информация о состоянии отсутствует
Охлаждение 1: pkg-temp-0 информация о состоянии отсутствует
Охлаждение 2: ЖК-дисплей 100 из 100
Охлаждение 3: ЖК-дисплей 100 из 100
Охлаждение 4: Процессор 0 из 10
Охлаждение 5: Процессор 0 из 10
Охлаждение 6: Процессор 0 из 10
Охлаждение 7: Процессор 0 из 10
Охлаждение 8: Процессор 0 из 10
Охлаждение 9: Процессор 0 из 10
Охлаждение 10: процессор 0 из 10
Охлаждение 11: Процессор 0 из 10

55
2017-11-24 20:20





Благодаря @Wilf это работает на моем Ubuntu 17.10 на Lenovo Yoga 720:

upower -i $(upower -e | grep '/battery') | grep --color=never -E "state|to\ full|to\ empty|percentage"

Вывод:

state:               fully-charged
percentage:          100%

Или просто числовое значение с этим одним вкладышем

upower -i $(upower -e | grep '/battery') | grep --color=never -E percentage|xargs|cut -d' ' -f2|sed s/%//

24
2017-07-02 08:56



На Fedora 23 Мне пришлось battery вместо BAT чтобы он работал. Я обнаружил, что с upower --enumerate, - erik
grep для battery работает в Ubuntu тоже, поэтому я изменил его с BAT - rubo77


Достаточно ввести команду

acpi

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

acpi -V

Раньше мне не приходилось устанавливать какие-либо пакеты.

система: Debian 7.2 64bit


23
2017-07-26 14:36





Возможно, вы можете попробовать:

cat /proc/acpi/battery/BAT0/state

cat /proc/acpi/battery/BAT0/info


15
2017-10-20 05:36



с помощью /proc для хранения информации ACPI была отклонена и устарела с 2.6.24. Теперь он находится в /sys/class/power_supply/BAT0, - Terry Wang


Вот это статья о пакете, который может проверить время автономной работы в командной строке.

В основном, все, что вам нужно сделать, это:

sudo apt-get install acpi
acpi -V

15
2018-06-10 04:57