Questão Como verificar o status da bateria usando o terminal?


Eu gostaria de um comando que verifique o status da bateria através do terminal


269
2017-10-20 01:24


origem


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


Respostas:


O comando abaixo exibe um status de lote e informações estatísticas sobre a bateria. o /org/... caminho pode ser encontrado com o comando upower -e (--enumerate).

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

Exemplo de saída:

  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

Você poderia usar ferramentas como o grep para obter apenas as informações desejadas de toda a saída.

Uma maneira simples: canalizar o comando acima para

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

saídas:

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

Se você frequentemente gostaria de executar esse comando, então poderia criar um alias Bash para o comando inteiro. Exemplo:

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

Adicione isso ao final do seu arquivo .bashrc, e você pode digitar 'bat' a qualquer momento, no terminal.

Há também um upower -d (--dump) comando que mostra informações para todos os recursos de energia disponíveis, como baterias de laptop, mouses externos, etc.


282
2018-02-09 17:42



upower --enumerate pode ser útil se você não tiver certeza de como usar upower. - landroni
@landroni E a opção de taquigrafia é upower -e, esse comando lista os caminhos disponíveis para upower -i .... Se você é preguiçoso e quer apenas uma lista de todos os dispositivos, use upower -d (upower --dump). - Lekensteyn
De fato. Eu acho que isso seria um complemento útil para a resposta em si, como quando eu tentei usar pela primeira vez upower Eu imediatamente me perdi. - landroni
@landroni Bom ponto, atualizei a resposta. Sinta-se à vontade para editá-lo se você tiver mais adições relacionadas. - Lekensteyn
Outro one-liner poderia ser upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage" - Wilf


Um lembrete amigável: desde o kernel do Linux 2.6.24 usando /proc para armazenar informações ACPI foi desencorajado e descontinuada.

Agora somos encorajados a usar -> /sys/class/power_supply/BAT0.

UPDATE: Linux 3.19 e em diante, devemos olhar para o seguinte diretório -> /sys/class/power_supply/BAT1/

Por exemplo capacidade -> cat /sys/class/power_supply/BAT1/capacity status -> cat /sys/class/power_supply/BAT1/status


99
2018-06-17 08:35



Especificamente, /sys/class/power_supply/BAT0/capacity parece mostrar a porcentagem de carga atual. - thomasa88
Descontinuada… isso ainda funciona? - neverMind9


Primeiro instale acpi executando este comando,

sudo apt-get install acpi

Então corra:

acpi

Exemplo de saída:

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

Ou para uma saída mais detalhada que atualiza constantemente:

watch --interval=5 acpi -V

Saída:

Todos os 5.0s: acpi -V Quarta-feira, 8 de janeiro, 15:45:35, 2014

Bateria 0: Total, 100%
Adaptador 0: on-line
Térmico 0: ok, 44,0 graus C
Térmico 0: o ponto de disparo 0 muda para o modo crítico à temperatura 127,0 graus C
Térmico 0: o ponto de disparo 1 alterna para o modo quente a uma temperatura de 127,0 graus C
Refrigeração 0: intel_powerclamp nenhuma informação de estado disponível
Resfriamento 1: pkg-temp-0 nenhuma informação de estado disponível
Refrigeração 2: LCD 100 de 100
Refrigeração 3: LCD 100 de 100
Refrigeração 4: Processador 0 de 10
Refrigeração 5: Processador 0 de 10
Refrigeração 6: Processador 0 de 10
Refrigeração 7: Processador 0 de 10
Refrigeração 8: Processador 0 de 10
Refrigeração 9: Processador 0 de 10
Refrigeração 10: Processador 0 de 10
Refrigeração 11: Processador 0 de 10

59
2017-11-24 20:20





Graças a @Wilf isso funciona no meu Ubuntu 17.10 no Lenovo Yoga 720:

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

Saída:

state:               fully-charged
percentage:          100%

Ou apenas o valor numérico com este forro

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

26
2017-07-02 08:56



Em Fedora 23 Eu tive que grep para battery ao invés de BAT para fazer funcionar. Eu encontrei isso com upower --enumerate. - erik
grep para battery funciona no Ubuntu também, então eu mudei de BAT - rubo77


É o suficiente para digitar o comando

acpi

Para informações detalhadas, você pode digitar

acpi -V

Não precisei instalar nenhum pacote antes.

Sistema: Debian 7.2 64 bits


23
2017-07-26 14:36





Talvez você possa tentar:

cat /proc/acpi/battery/BAT0/state

cat /proc/acpi/battery/BAT0/info


15
2017-10-20 05:36



usando /proc para armazenar informações ACPI foi desencorajado e depreciado desde 2.6.24. Agora está em /sys/class/power_supply/BAT0. - Terry Wang


Aqui é um artigo sobre um pacote que pode verificar a duração da bateria na linha de comando.

Basicamente, tudo que você precisa fazer é:

sudo apt-get install acpi
acpi -V

15
2018-06-10 04:57