回答:
以下のコマンドは、ロットステータスとバッテリーに関する統計情報を出力します。/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
)コマンドもあります。
upower --enumerate
使い方がわからない場合に便利ですupower
。
upower -e
、そのコマンドが利用可能なパスを一覧表示することですupower -i ...
。怠け者で、すべてのデバイスのリストが必要な場合は、upower -d
(upower --dump
)を使用します。
upower
はすぐに迷ったので、これは答え自体への有用な追加になると思います。
upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"
フレンドリーリマインダー: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
/sys/class/power_supply/BAT0/capacity
は、現在の充電率を示しているようです。
/proc
廃止されることの意味はわかりませんが/sys
、カーネル4.20でも完全に機能します。
read
、PHPのような機能を備えたプログラミング言語を使用することで実現でき$capacity = trim(file_get_contents("/sys/class/power_supply/BAT0/capacity"));
、外部依存関係に依存しません。
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
@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/%//
battery
代わりに、BAT
それを動作させるために。私はそれを見つけましたupower --enumerate
。
battery
Ubuntuでも動作するようにgrep を変更したため、変更しましたBAT
コマンドを入力するだけで十分です
acpi
詳細情報を入力するには
acpi -V
以前にパッケージをインストールする必要はありませんでした。
システム:Debian 7.2 64ビット
これは、コマンドラインでバッテリーの寿命を確認できるパッケージに関する記事です。
基本的に、あなたがしなければならないことは次のとおりです。
sudo apt-get install acpi
acpi -V
私はパーティーに少し遅れていますが、ここに私の少しの貢献があります。前の回答に基づいて、単純なスクリプト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#
)を使用する必要があります。
追加のパッケージをインストールせずに実行できます。
$ 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エイリアスの良い候補かもしれません。
/sys/class/power_supply/BAT0/
私は提案するつもりでした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%のバッテリーを示し、ので、あなたのGUIのバッテリーのパーセンテージに対して、このスクリプトを試してみて、それがどのように見送ります。私の場合、acpiの割合よりも一貫して3%低いようです。その場合、次の行を最後の行の直前に追加できますpercent=$((percent + 3))
。「3」は低いパーセンテージです。
**私のレノボでは、バッテリーはBAT1としてリストされています。それも試してください。(12.04 LTS)
acpi
は動作しません、私は11.10 [など、バッテリーを]だけでなく、あなたのラップトップのACPI機能をサポートしていないと思いますので、。過去にアップグレードしたときに、このようなことを経験したことがあると思います。私はまだ11.04にいます。これはyaで機能しなかったのでごめんなさい:(
ls /proc/acpi/
か?ありがとう
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"
これが私が使用するものです。満充電と現在の充電の差を調べるだけでなく、充電が低下していないかどうかを確認します。この場合、ユーザーに通知するために通知を使用します。
#!/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
$ upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage"