端末にバッテリーの状態を表示するコマンドが欲しいのですが。
以下のコマンドは、ロットステータスとバッテリーに関する統計情報を出力します。 /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
)コマンドもあります。
わかりやすいリマインダー:Linuxカーネル以降2.6.24 ACPI情報を保存するために/proc
を使用discouragedおよび廃止予定)。
-> /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
このコマンドを実行して最初に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 Battery 0:Full、100% Adapter 0:online Thermal 0:OK、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
@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/%//
コマンドを入力するだけで十分です
acpi
詳細情報を入力するには
acpi -V
以前にパッケージをインストールする必要はありませんでした。
システム:Debian 7.2 64ビット
ここ は、コマンドラインでバッテリーの寿命を確認できるパッケージに関する記事です。
基本的に、あなたがしなければならないことは次のとおりです。
Sudo apt-get install acpi
acpi -V
たぶんあなたは試すことができます:
cat /proc/acpi/battery/BAT0/state
cat /proc/acpi/battery/BAT0/info
私はパーティーに少し遅れていますが、ここに私の少しの貢献があります。前の回答に基づいて、単純なスクリプトbatpowerを作成しました。
#!/bin/bash
# Description: Battery charge in percentage
grep POWER_SUPPLY_CAPACITY /sys/class/power_supply/BAT1/uevent
これを実行するための出力(./batpower)は次のようになります。
POWER_SUPPLY_CAPACITY=23
N.B. :バッテリーの番号は異なる場合があります。私の場合はBAT1ですが、/ sys/class/power_supplyにcdするか、Lekensteynがupower -eで言及したように、いつでも確認できます。
私のマシン:Ubuntu 13.10、3.11.0
古いバージョンのUbuntu、つまり13.04以降を使用している場合は、上記のbashコードのBAT1をBATに置き換えます。
改善されたスクリプト:私の元の投稿以来、スクリプトを少し改善しました:
#!/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を含む!スクリプトが賞賛されますように!
追加のパッケージをインストールせずに実行できます。
$ 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 alias の良い候補かもしれません。
詳細情報を取得するには、ターミナルで次のコマンドを実行します。
cat /proc/acpi/battery/BAT0/info
状態だけが必要な場合:
cat /proc/acpi/battery/BAT0/state
Acpiをインストールし、watch
を使用して、コマンドラインで継続的に監視します。
例えば。
watch --interval=5 acpi -V
以下のような情報が表示され、5秒ごとに更新されます。
バッテリー0:完全、100%、料金情報は利用不可
バッテリー0:設計容量6000 mAh、最後の最大容量3424 mAh = 57%
質問はなぜ誰かがこれを行うのですか?さて、壊れたLCDスクリーンを備えたラップトップを持っていますが、これを現在bittorrentボックスとして使用しています。
これはubuntu 14.04で私のために仕事をしました:
cat /sys/class/power_supply/BAT0/capacity
私は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)%
私はラップトップでこのスクリプトをテストしました。 acpi
は93%のバッテリーを示し、スクリプトは90%のバッテリーを示すため、上記のestimateと言います。 、そしてそれがどれだけオフかを見てください。私の場合、acpiの割合よりも一貫して3%低いようです。その場合、次の行を最後の行の直前に追加できます:percent=$((percent + 3))
、ここで「3」は低いパーセンテージです。
**私のレノボでは、バッテリーはBAT1としてリストされています。それも試してください。 (12.04 LTS)
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"
そのコマンドでパーセンテージだけをエコーできます
upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage" | awk '/perc/{print $2}'
65%
その値を抽出する必要がある場合
これが私が使用するものです。満充電と現在の充電の差を見るだけでなく、充電が低下しているかどうかを確認します。その場合、ユーザーに通知するために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
次のいずれかを入力できます。
$ 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
これはすべての人を助けるわけではありませんが、私を助けてくれました。ターミナルを使用しているときは常に byob を使用します。バッテリーはステータス通知バーのオプションの1つです。