터미널을 통해 배터리 상태를 확인하려면 어떻게합니까?


320

터미널에 배터리 상태를 표시하는 명령을 원합니다.


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

답변:


335

아래 명령은 배터리에 대한 로트 상태 및 통계 정보를 출력합니다. /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) 명령 도 있습니다.


9
upower --enumerate사용법을 잘 모르면 유용 할 수 있습니다 upower.
landroni 2018

5
@landroni 그리고 속기 옵션은 upower -e이 명령이 사용 가능한 경로를 나열한다는 것입니다 upower -i .... 게으르고 모든 장치 목록을 원하면 upower -d( upower --dump)를 사용 하십시오.
Lekensteyn

1
과연. 나는 처음 사용하려고했을 때 upower즉시 길을 잃었으므로 이것이 답변 자체에 유용한 추가 일 것이라고 생각합니다 .
landroni

1
@landroni 좋은 지적, 나는 대답을 업데이트했습니다. 더 많은 관련 추가 사항이 있으면 자유롭게 편집하십시오.
Lekensteyn

8
또 하나의 라이너는 다음과 같습니다.upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"
Wilf

124

친절한 알림 : 리눅스 커널부터 2.6.24 사용하여 /procACPI 정보를 저장하기 위해이되어 낙담 하고 사용되지 .

이제->를 사용하는 것이 좋습니다 /sys/class/power_supply/BAT0.

업데이트 : Linux 3.19 이상에서는 다음 디렉토리를 봐야합니다-> /sys/class/power_supply/BAT1/

예를 들어 Linux 4.20을 실행하는 Arch Linux에서 용량 및 상태 확인->

# uname -a
Linux netbook 4.20.1-arch1-1-ARCH #1 SMP PREEMPT Wed Jan 9 20:25:43 UTC 2019 x86_64 GNU/Linux
# cat /sys/class/power_supply/BAT1/capacity
99
# cat /sys/class/power_supply/BAT1/status
Charging

1
구체적으로, /sys/class/power_supply/BAT0/capacity현재 충전 비율을 표시하는 것 같습니다.
thomasa88

더 이상 사용되지 않습니다 ... 여전히 작동합니까?
neverMind9

3
+1, 이것은 설치되지 않았을 수도 있고이 질문에 대답 할 필요가없는 추가 소프트웨어에 의존하지 않기 때문에 허용되는 답변이어야합니다. @ neverMind9 : 나는 무엇을 의미 모르는 /proc되지 있지만 /sys심지어 커널 4.20에, 나를 위해 완벽하게 작동합니다.
comfreak

1
@comfreak 실제로 작동합니다.
neverMind9

1
이것은 수락 자 일뿐 만 아니라 readPHP와 같은 기능 을 가진 프로그래밍 언어를 사용하여 데이터를 검색 할 수 있으며 $capacity = trim(file_get_contents("/sys/class/power_supply/BAT0/capacity"));외부 의존성에 의존하지 않고 매우 쉬워집니다.
Amin NAIRI

67

acpi이 명령을 실행하여 먼저 설치하십시오 .

sudo apt-get install acpi

그런 다음 다음을 실행하십시오.

acpi

샘플 출력 :

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

또는 지속적으로 업데이트되는 더 자세한 출력이 필요한 경우 :

watch --interval=5 acpi -V

산출:

5.0 초마다 : acpi -V 수 1 월 8 일 15:45:35 2014

배터리 0 : 전체, 100 %
어댑터 0 : 온라인
열 0 : 양호, 44.0 ° C
열 0 : 트립 포인트 0이 온도 127.0 ° C에서 임계 모드로 전환됩니다.
써멀 0 : 트립 포인트 1이 온도 127.0 ° C에서 핫 모드로 전환
냉각 0 : intel_powerclamp 상태 정보가 없습니다.
냉각 1 : pkg-temp-0 상태 정보가 없습니다.
냉각 2 : LCD 100 of 100
냉각 3 : LCD 100 of 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

29

@Wilf 덕분에 Lenovo Yoga 720의 Ubuntu 17.10에서 작동합니다.

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/%//

페도라 23 나는 grep으로했다 battery대신 BAT그것이 작동되도록 할 수 있습니다. 와 함께 찾았습니다 upower --enumerate.
erik

battery우분투에서도 작품에 대한 grep , 그래서 나는 그것을 변경했습니다BAT
rubo77

28

명령을 입력하면 충분합니다

acpi

자세한 내용은 다음을 입력하십시오

acpi -V

전에 패키지를 설치할 필요가 없었습니다.

시스템 : 데비안 7.2 64 비트


19

다음 은 명령 줄에서 배터리 수명을 확인할 수있는 패키지 관련 기사입니다.

기본적으로해야 할 일은 다음과 같습니다.

sudo apt-get install acpi
acpi -V

18

아마도 당신은 시도 할 수 있습니다 :

cat /proc/acpi/battery/BAT0/state

cat /proc/acpi/battery/BAT0/info


23
/proc2.6.24 이후 ACPI 정보를 저장 하는 데 사용 하지 않는 것이 권장되지 않습니다. 이제에 /sys/class/power_supply/BAT0있습니다.
Terry Wang

14

나는 파티에 조금 늦었지만 여기에 약간의 기여가 있습니다. 이전 답변을 기반으로 간단한 스크립트 배트를 만들었습니다.

#!/bin/bash
# Description: Battery  charge in percentage

grep POWER_SUPPLY_CAPACITY /sys/class/power_supply/BAT1/uevent

이것을 실행하기위한 출력 (./batpower)은 다음과 같습니다.

POWER_SUPPLY_CAPACITY=23

NB : 배터리 번호는 다를 수 있습니다. 제 경우에는 BAT1이지만 / sys / class / power_supply로 cd하거나 Lepowersteyn이 upower -e를 통해 언급 한 것처럼 항상 찾을 수 있습니다

내 기계 : 우분투 13.10, 3.11.0

교체 BAT1을 위 bash는 코드에서 BAT0 당신이 우분투 13.04 이상 즉, 이전 버전이있는 경우.

개선 된 스크립트 : 원래 게시물 이후 스크립트를 약간 개선했습니다.

#!/bin/bash
# Description: Battery  charge in percentage

if [ -f /sys/class/power_supply/BAT1/uevent ]
    then grep POWER_SUPPLY_CAPACITY /sys/class/power_supply/BAT1/uevent

else echo "Battery isn't present"

fi 

항상 그렇듯이 bash가있는 공간에주의하십시오. 이것은 모두 자명하다. 배터리가 있으면 배터리가 표시되고 그렇지 않으면 스크립트가 알려줍니다. 이제 .bashrc 파일로 이동하여 프롬프트에 $ (batpower)를 추가하십시오. 여기 내 promt가 있습니다 :

PS1='[$(batpower)]\n${debian_chroot:+($debian_chroot)}[*\u@Ubuntu*]:\w\$ ' 

터미널을 업데이트하거나 새 탭 또는 창을 열면 터미널에서 배터리 충전을 지속적으로 모니터링 할 수 있습니다! tty 포함! 스크립팅이 칭찬 되길 바랍니다! 여기에 이미지 설명을 입력하십시오


당신은 확인 /sys/class/power_supply/BAT0하고 /sys/class/power_supply/BAT1... ... 둘 중 하나가 될 수 있습니다. 그리고 당신은 그 경로를 사용해야합니다 ( /sys/class/power_supply/BAT#).
dylnmc

Ubuntu 12.04 넷북 (BAT0으로 변경 한 후)에서 POWER_SUPPLY_CAPACITY 줄을 얻지 못하는 것 같습니다. POWER_SUPPLY_CHARGE_FULL 및 POWER_SUPPLY_CHARGE_NOW 값에서 계산할 수있는 것처럼 보입니다.
mwfearnley

Batman (Battery Manager)은 무의식적으로 Batpower보다 좋은 링을 가지고 있습니다.
WinEunuuchs2Unix

@ WinEunuuuchs2Unix 예, 시작한 후 약간 변경되었으며 몇 가지 새로운 트릭을 배웠습니다. 배트맨은 그것에 좋은 반지를 가지고 있지만 그것은 저작권이 있습니다;)
Sergiy Kolodyazhnyy 2

10

추가 패키지를 설치하지 않고도 할 수 있습니다.

$ echo $((100*$(sed -n "s/remaining capacity: *\(.*\) m[AW]h/\1/p" /proc/acpi/battery/BAT0/state)/$(sed -n "s/last full capacity: *\(.*\) m[AW]h/\1/p" /proc/acpi/battery/BAT0/info)))%
94%

이 명령은 byobu의 source 에서 해제되었습니다 . Bash 별명에 적합한 후보 일 수 있습니다 .


나에게서 +1! CLI FTW. BAT1에 대해 배터리가 2 개 교체 된 경우 BAT0 :)
Rinzwind

2.6.24 이후 낙담 한 상태 여야합니다./sys/class/power_supply/BAT0/
Pablo A

9

자세한 정보를 얻으려면 터미널에서 다음 명령을 실행하십시오.

cat /proc/acpi/battery/BAT0/info

당신이 상태를 원한다면 :

cat /proc/acpi/battery/BAT0/state

이것은 다른 동일한 대답에서 권장되지 않았습니다 .
Pablo A

6

acpi를 설치 한 다음 watch명령 줄을 통해 지속적으로 모니터링하십시오.

예 :

watch --interval=5 acpi -V

아래와 같은 정보가 표시되고 5 초마다 업데이트됩니다.

배터리 0 : 전체, 100 %, 속도 정보를 사용할 수 없음
배터리 0 : 설계 용량 6000 mAh, 마지막 전체 용량 3424 mAh = 57 %

질문은 왜 누군가가 이것을 할 것입니까? 글쎄, 나는 깨진 LCD 화면이있는 랩톱을 가지고 있는데 현재 비트 토런트 상자로 사용하고 있습니다.


5

이것은 우분투 14.04에서 나를 위해 일했습니다.

cat /sys/class/power_supply/BAT0/capacity

4

나는 제안하려고 acpi했지만 11.10에서 작동하지 않으면 아이디어가있었습니다.

터미널에 이것을 입력하십시오 : ls /proc/acpi/battery/BAT0 또는BAT1

"파일 또는 디렉토리를 찾을 수 없음"이 표시되면 작동하지 않습니다.

이 파일을 나열하지만, 여기에 스크립트의 [$ 경로는 / usr / 게임 / 또는 다른 디렉토리에 붙여, 실행 sudo chmod +x /usr/games/batterypercent, 또는 무엇이든 당신이 그것을 이름] 내가 당신을 위해 썼다가 당신에게 견적 배터리 비율을 줄 것이다 [아래 참조] :

(참고로 아직 설치되지 않은 경우 calc리포지토리 에서 프로그램 을 설치하십시오 . sudo apt-get install apcalc)

#!/bin/bash
math() { calc -d "$@"|tr -d ~; }
cd /proc/acpi/battery/BAT0;
max=$(grep 'design capacity:' info|awk '{print $3}')
current=$(grep 'remaining capacity:' state|awk '{print $3}')
percent=$(math "($current / $max) * 100");
echo $(echo $percent|cut -d. -f1)%

랩톱에서이 스크립트를 테스트했습니다. 내가 말할 추정 하기 때문에 위의 acpi쇼 93 %의 배터리를, 그리고 내 스크립트는 90 %의 배터리를 표시합니다, 그래서 당신의 GUI 배터리 비율에 대해이 스크립트를 시도하고 그것이 얼마나 떨어져 참조하십시오. 제 경우에는 acpi의 백분율보다 일관되게 3 % 더 낮은 것 같습니다. 이 경우 마지막 줄 바로 앞에이 줄을 추가 할 수 있습니다. percent=$((percent + 3))여기서 "3"은 낮은 비율입니다.

** 레노버에서 배터리는 BAT1으로 표시됩니다. (12.04 LTS)


Matt는 당신의 제안을 시도하여 "파일이나 디렉토리가 없습니다"
Joe

Argh .. 알았어. 11.10이 랩탑의 ACPI 기능도 지원하지 않기 때문에 이것이 acpi 작동하지 않는 이유 는 거의 긍정적이다 . 과거에 업그레이드 할 때 이와 같은 경험이 있다고 생각합니다. 그래도 여전히 11.04입니다. 죄송하지만이 기능은 나중에 작동하지 않습니다 :(
Matt

궁금한 점이 있으 ls /proc/acpi/십니까? 감사합니다
Matt

1

calc 또는 apcalc가없는 비슷한 스크립트 :

#! /bin/bash
cd /proc/acpi/battery/BAT0;
max=$(grep 'design capacity:' info|awk '{print $3}')
current=$(grep 'remaining capacity:' state|awk '{print $3}')
percent=$(expr $current"00" / $max )
echo -e "Current capacity: \t$current"
echo -e "Max capacity:  \t$max"
echo -e "Percent: \t\t$percent"

1

여기 내가 사용하는 것이 있습니다. 완전 충전과 현재 충전의 차이점을 살펴보고 충전이 중단되는지 확인하고 어떤 경우에 notify를 사용하여 사용자에게 경고합니다.

#!/bin/bash
#
# experimental battery discharge alerter
#
nsecs=3 # loop sleep time between readings
#
ful=$(cat /sys/class/power_supply/BAT0/energy_full)
#
oldval=0
while true
do
  cur=$(cat /sys/class/power_supply/BAT0/energy_now)
  dif="$((ful - cur))"
  slope="$((cur - oldval))"
  if [ "$slope" -lt 0 ]
  then
    echo "*** discharging!"
    notify-send -u critical -i "notification-message-IM" "discharging"
  fi
 oldval=$cur
 sleep $nsecs
done

1

해당 명령으로 백분율 만 에코 할 수 있습니다

upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage" | awk '/perc/{print $2}'

65 %

그 값을 추출 해야하는 경우


0

이것은 모두에게 도움이되지는 않지만 나에게 도움이되었습니다 . 터미널을 사용할 때마다 byobu를 사용하며 배터리는 상태 알림 표시 줄의 옵션 중 하나입니다.


0

다음 중 하나를 입력 할 수 있습니다.

$ acpi -i
Battery 0: Discharging, 98%, 02:51:14 remaining
Battery 0: design capacity 4400 mAh, last full capacity 3733 mAh = 84%

또는

$ upower -i $(upower -e | grep BAT)
  native-path:          BAT0
  model:                PA5109U-1BRS
  serial:               FA80
  power supply:         yes
  updated:              lun. 07 janv. 2019 03:54:18 CET (24 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               discharging
    energy:              39,521 Wh
    energy-empty:        0 Wh
    energy-full:         40,328 Wh
    energy-full-design:  47,52 Wh
    energy-rate:         13,856 W
    voltage:             10,8 V
    time to empty:       2,9 hours
    percentage:          98%
    capacity:            84,8632%
    technology:          lithium-ion
  History (charge):
    1546829628  98,000  discharging
    1546829593  99,000  discharging
  History (rate):
    1546829658  13,856  discharging
    1546829628  14,752  discharging
    1546829597  4,806   discharging
    1546829594  2,678   discharging

-4
cat /proc/acpi/ac_adapter/AC/state

3
여기서 무슨 말을하는지 모르겠습니다. 터미널에서 그것을 실행했다cat: /proc/acpi/ac_adapter/AC0/state: No such file or directory
infoquad
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.