ターミナルでバッテリーの状態を確認するにはどうすればよいですか?


回答:


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などのツールを使用して、すべての出力から必要な情報だけを取得できます。

1つの簡単な方法:上記のコマンドをパイプする

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
ランドローニ14

5
@landroniそして、短縮形のオプションはupower -e、そのコマンドが利用可能なパスを一覧表示することですupower -i ...。怠け者で、すべてのデバイスのリストが必要な場合は、upower -dupower --dump)を使用します。
Lekensteyn

1
確かに。私が最初に使用しようとしたとき、私upowerはすぐに迷ったので、これは答え自体への有用な追加になると思います。
ランドローニ14

1
@landroni良い点、答えを更新しました。さらに関連する追加がある場合は、自由に編集してください。
Lekensteyn

8
別のワンライナーは次のようになりますupower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"
Wilf 14

124

フレンドリーリマインダー:Linux kernel 2.6.24以降を使用/proc ACPI情報の保存にすることは推奨されておらず推奨されていませ

現在、->を使用することをお勧めします/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
これがアクセプタの答えであるだけでなく、データの取得はread、PHPのような機能を備えたプログラミング言語を使用することで実現でき$capacity = trim(file_get_contents("/sys/class/power_supply/BAT0/capacity"));、外部依存関係に依存しません。
アミンナイリ

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 Wed Jan 8 15:45:35 2014

バッテリー0:フル、100%
アダプター0:オンライン
サーマル0:OK、44.0°C
温度0:トリップポイント0は、温度127.0℃でクリティカルモードに切り替わります
温度0:トリップポイント1は温度127.0℃でホットモードに切り替わります
冷却0:intel_powerclamp使用可能な状態情報はありません
冷却1:pkg-temp-0には状態情報がありません
冷却2:100のLCD 100
冷却3:100のLCD 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%

または、この1つのライナーを持つ数値のみ

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

のFedora 23私はをgrepしなければならなかったbattery代わりに、BATそれを動作させるために。私はそれを見つけましたupower --enumerate
エリック

batteryUbuntuでも動作するようにgrep を変更したため、変更しましたBAT
rubo77

28

コマンドを入力するだけで十分です

acpi

詳細情報を入力するには

acpi -V

以前にパッケージをインストールする必要はありませんでした。

システム:Debian 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
/procACPI情報の保存に使用することは、2.6.24以降推奨されておらず、推奨されていません。今ではにあり/sys/class/power_supply/BAT0ます。
テリー王

14

私はパーティーに少し遅れていますが、ここに私の少しの貢献があります。前の回答に基づいて、単純なスクリプトbatpowerを作成しました。

#!/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するか、またはLepowerがupower -eで言及したように、いつでも確認できます。

私のマシン:Ubuntu 13.10、3.11.0

置き換えBAT1をする上でのbashコードでBAT0古いバージョンのUbuntuすなわち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)を追加します。ここに私の約束があります:

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 16

賛成ですが、バットマン(バッテリーマネージャー)は無意識のうちにBatpowerよりも良いリングを持っています:)深刻なことに、2014年にAskUbuntuで書いていて、今日の違いは興味深いです。
WinEunuuchs2Unix

@ WinEunuuuchs2Unixはい、始めてから少し変更しましたが、いくつかの新しいトリックを学びました。バットマンはそれに素敵な指輪を持っていますが、著作権で保護されている可能性が高いです;)
Sergiy Kolodyazhnyy

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のソースから解除されます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

これ、他の同一の回答では推奨さていません
パブロA

6

acpiをインストールしてwatchから、コマンドラインを使用して継続的に監視します。

例えば

watch --interval=5 acpi -V

以下のような情報が表示され、5秒ごとに更新されます。

バッテリー0:フル、100%、レート情報なし
バッテリー0:設計容量6000 mAh、最後のフル容量3424 mAh = 57%

質問はなぜ誰かがこれをするのですか?さて、私は壊れたLCDスクリーンを備えたラップトップを持っていますが、それを現在bittorrentボックスとして使用しています。


5

これはubuntu 14.04で私のために仕事をしました:

cat /sys/class/power_supply/BAT0/capacity

4

私は提案するつもりでしたacpiが、それを読んだ後に11.10で機能しませんでした。

端末にこれを入力してください: ls /proc/acpi/battery/BAT0 またはBAT1

「ファイルまたはディレクトリが見つかりません」を取得した場合、これは機能しません。

しかし、ファイルがリストされている場合は、ここでスクリプト([/ usr / games /または$ PATHのその他のディレクトリに貼り付けて、、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)%

私はラップトップでこのスクリプトをテストしました。私が言うの見積もりので上記は、acpi93%のバッテリーを示し、そして私のスクリプトは、90%のバッテリーを示し、ので、あなたのGUIのバッテリーのパーセンテージに対して、このスクリプトを試してみて、それがどのように見送ります。私の場合、acpiの割合よりも一貫して3%低いようです。その場合、次の行を最後の行の直前に追加できますpercent=$((percent + 3))。「3」は低いパーセンテージです。

**私のレノボでは、バッテリーはBAT1としてリストされています。それも試してください。(12.04 LTS)


マット、あなたの提案を試みて、「ファイルまたはディレクトリがありません」
ジョー

なんてこった...大丈夫、私はこれは、ほぼ正だ理由 acpiは動作しません、私は11.10 [など、バッテリーを]だけでなく、あなたのラップトップのACPI機能をサポートしていないと思いますので、。過去にアップグレードしたときに、このようなことを経験したことがあると思います。私はまだ11.04にいます。これはyaで機能しなかったのでごめんなさい:(
マット

それでは、好奇心だけで、の出力を貼り付けることができますls /proc/acpi/か?ありがとう
マット

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

これが私が使用するものです。満充電と現在の充電の差を調べるだけでなく、充電が低下していないかどうかを確認します。この場合、ユーザーに通知するために通知を使用します。

#!/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

これは、誰も助けにはなりませんが、それは私をやった-私が使用屏風私は、端末を使用していたときに、バッテリはステータス通知バーの選択肢の一つです。


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.