Yanıtlar:
Aşağıdaki komut, batarya hakkında çok fazla durum ve istatistiksel bilgi verir. /org/...
Yol komutuyla bulunabilir upower -e
( --enumerate
).
upower -i /org/freedesktop/UPower/devices/battery_BAT0
Örnek çıktı:
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
Tüm çıktılardan istediğiniz bilgileri almak için grep gibi araçları kullanabilirsiniz.
Tek basit yol: yukarıdaki komutu borulara aktarmak
grep -E "state|to\ full|percentage"
çıktılar:
state: charging
time to full: 57.3 minutes
percentage: 42.5469%
Bu komutu sık sık çalıştırmak isterseniz, komutun tamamı için Bash takma adı kullanabilirsiniz. Örnek:
alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'
Bunu .bashrc dosyanızın sonuna ekleyin ve terminalde istediğiniz zaman 'yarasa' yazabilirsiniz.
Ayrıca dizüstü bilgisayar pilleri, harici fareler, vb. Gibi mevcut tüm güç kaynakları için bilgileri gösteren bir upower -d
( --dump
) komutu vardır.
upower --enumerate
nasıl kullanılacağından emin değilseniz faydalı olabilir upower
.
upower -e
, bu komutun kullanılabilir yollarını listeler upower -i ...
. Tembelseniz ve sadece tüm cihazların bir listesini görmek istiyorsanız, upower -d
( upower --dump
) kullanın .
upower
hemen kaybolduğum gibi, cevabın kendisine yararlı bir katkı olacağını düşünüyorum .
upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"
Dostça bir hatırlatma : Linux çekirdeği 2.6.24'ten beri /proc
ACPI bilgisini saklamak için kullanıldığında cesareti kırıldı ve kullanımdan kaldırıldı .
Şimdi kullanmaya teşvik ediyoruz -> /sys/class/power_supply/BAT0
.
GÜNCELLEME: Linux 3.19 ve sonrası, aşağıdaki dizine bakmalıyız -> /sys/class/power_supply/BAT1/
Örneğin, Linux 4.20 çalıştıran Arch Linux'ta kapasite ve durum kontrolü
# 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
geçerli ücret yüzdesini gösteriyor gibi görünüyor.
/proc
ama /sys
4.20 çekirdeğinde bile benim için mükemmel çalışıyor.
read
PHP'ye benzer bir işlevi olan herhangi bir programlama dili kullanılarak veri elde edilebiliyor $capacity = trim(file_get_contents("/sys/class/power_supply/BAT0/capacity"));
.
İlk önce acpi
bu komutu çalıştırarak kurun ,
sudo apt-get install acpi
O zaman koş:
acpi
Örnek çıktı:
Battery 0: Discharging, 61%, 01:10:12 remaining
Veya sürekli güncellenen daha ayrıntılı bir çıktı için:
watch --interval=5 acpi -V
Çıktı:
Her 5.0s: acpi -V Çar Jan 8 15:45:35 2014 Batarya 0: Tam,% 100 Adaptör 0: çevrimiçi Termal 0: tamam, 44.0 derece c Termal 0: açma noktası 0, 127,0 derece C sıcaklıkta kritik moda geçer Termal 0: açma noktası 1, 127.0 derece C sıcaklıkta sıcak moda geçer 0 soğutma: intel_powerclamp Durum bilgisi yok Soğutma 1: pkg-temp-0 durum bilgisi yok Soğutma 2: LCD 100/100 Soğutma 3: LCD 100/100 Soğutma 4: İşlemci 0/10 Soğutma 5: İşlemci 0/10 Soğutma 6: İşlemci 0/10 Soğutma 7: İşlemci 0/10 Soğutma 8: İşlemci 0/10 Soğutma 9: İşlemci 0/10 Soğutma 10: İşlemci 0/10 Soğutma 11: İşlemci 0/10
@Wilf sayesinde bu, Lenovo Yoga 720'deki Ubuntu 17.10'da çalışıyor:
upower -i $(upower -e | grep '/battery') | grep --color=never -E "state|to\ full|to\ empty|percentage"
Çıktı:
state: fully-charged
percentage: 100%
Veya bu tek gömlek ile sadece sayısal değer
upower -i $(upower -e | grep '/battery') | grep --color=never -E percentage|xargs|cut -d' ' -f2|sed s/%//
battery
yerine grep BAT
yapmak zorunda kaldım . Bunu buldum upower --enumerate
.
battery
Ben de Ubuntu'da çalışmak için grep , ben de değiştirdimBAT
Komutu yazmak yeterli
acpi
Detaylı bilgi için yazabilirsiniz
acpi -V
Daha önce hiç paket kurmak zorunda değildim.
Sistem: Debian 7.2 64bit
İşte paketteki pil ömrünü komut satırından kontrol edebilecek bir makale.
Temel olarak, yapmanız gereken tek şey:
sudo apt-get install acpi
acpi -V
Belki deneyebilirsiniz:
cat /proc/acpi/battery/BAT0/state
cat /proc/acpi/battery/BAT0/info
/proc
ACPI bilgisini saklamak için kullanılması , 2.6.24'ten bu yana cesareti kırılmış ve kullanımdan kaldırılmıştır. Şimdi içeride /sys/class/power_supply/BAT0
.
Partiye biraz geç kaldım ama işte benim küçük katkım. Önceki cevaplara dayanarak, basit bir komut dosyası gücü kullandım:
#!/bin/bash
# Description: Battery charge in percentage
grep POWER_SUPPLY_CAPACITY /sys/class/power_supply/BAT1/uevent
Bunu (./batpower) yürütme çıktısı şunun gibi olacak:
POWER_SUPPLY_CAPACITY=23
Not: batery numarası sizin için farklı olabilir, benim durumumda BAT1, ancak cd s / sys / class / power_supply ya da Lekensteyn'in upower -e'den bahsettiği gibi
Makinem: Ubuntu 13.10, 3.11.0
Yukarıdaki bash kodundaki BAT1'i , eski sürüm Ubuntu yani 13.04 veya sonraki bir sürümünüz varsa , BAT0 olarak değiştirin .
GELİŞTİRİLMİŞ SCRIPT: İlk gönderimden beri senaryo üzerinde küçük bir gelişme kaydettim:
#!/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
Her zaman olduğu gibi, bash ile boşluklara dikkat edin. Bunların hepsi açıklayıcı. Eğer batarya varsa, ortaya çıkacaktır, değilse - senaryo size söyleyecektir. Şimdi, .bashrc dosyasına gidin ve isteminize $ (batpower) ekleyin. İşte benim madenim:
PS1='[$(batpower)]\n${debian_chroot:+($debian_chroot)}[*\u@Ubuntu*]:\w\$ '
Terminalinizi güncelleyin veya yeni bir sekme veya pencere açın; artık terminaldeki pil şarjını sürekli olarak izleyebilirsiniz! tty dahil! Senaryo övülsün!
/sys/class/power_supply/BAT0
ve /sys/class/power_supply/BAT1
... Ya olabilir. Ve bu yolu kullanmalısınız ( /sys/class/power_supply/BAT#
).
Herhangi bir ekstra paket kurmadan yapabilirsiniz.
$ 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%
Bu komut byobu kaynağından kaldırıldı . Bash takma adı için iyi bir aday olabilir .
/sys/class/power_supply/BAT0/
Ayrıntılı bilgi almak için bir terminalde aşağıdaki komutu çalıştırın:
cat /proc/acpi/battery/BAT0/info
Sadece devletin yapmasını istiyorsan:
cat /proc/acpi/battery/BAT0/state
Acpi'yi kurun, ardından watch
komut satırından sürekli izlemek için kullanın .
Örneğin
watch --interval=5 acpi -V
Aşağıdaki gibi bilgileri gösterecek ve her 5 saniyede bir güncellenecektir.
Batarya 0: Tam,% 100, kullanılamaz durum bilgisi
Batarya 0: tasarım kapasitesi 6000 mAh, son tam kapasite 3424 mAh = 57%
Soru, neden birileri bunu yapıyor? Şu an bittorrent kutum olarak kullandığım LCD ekranlı bozuk bir dizüstü bilgisayarım var.
Bunu önerecektim acpi
ama okuduktan sonra 11.10'da işe yaramadı, bir fikrim vardı.
Lütfen bunu terminalinize yazın:
ls /proc/acpi/battery/BAT0
veyaBAT1
Bir "dosya veya dizin bulunamadı" alırsanız bu işe yaramaz.
Ancak, eğer dosyaları listelerse, işte bu size yaklaşık bir pil yüzdesi verecek olan sadece sizin için yazdığım [/ usr / games / veya başka bir dizine $ PATH dizinine yapıştırın ve çalıştırın sudo chmod +x /usr/games/batterypercent
ya da ne adlandırırsanız] [Aşağıya bakınız]:
(Zaten yüklü değilse programı yüklemek, Not calc
repo: 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)%
Bu betiği dizüstü bilgisayarımda test ettim. Yukarıda tahmin ediyorum, çünkü acpi
% 93 pil gösteriyor, ve senaryom% 90 pil gösteriyor, bu yüzden GUI pil yüzdesine göre bu betiği dene ve bunun ne kadar olduğunu görün. Benim durumumda, acpi'nin oranından sürekli olarak% 3 daha düşük görünüyor. Bu durumda, bu satırı son satırdan hemen önce ekleyebilirsiniz: percent=$((percent + 3))
burada "3", düşük olduğu yüzdedir.
** Lenovo'mda pil BAT1 olarak listeleniyor, bunu da dene. (12.04 LTS)
acpi
işe yaramıyor, çünkü 11.10 dizüstü bilgisayarınızın ACPI işlevlerini de desteklemiyor. Geçmişte yükseltme yaparken böyle bir şey yaşadım galiba. Yine de hala 11.04'üm. Bunun sizin için işe yaramadığı için üzgünüm :(
ls /proc/acpi/
? Thanks
Calc veya apcalc olmadan benzer betik:
#! /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"
İşte kullandığım şey. Sadece tam şarj ile mevcut şarj arasındaki farkın yanı sıra, şarjın düşüp düşmediğini görmek de kullanıcıyı uyarmak için bildirimde bulunur.
#!/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
Bu herkese yardım etmeyecek, fakat benimle - bir terminal kullandığımda byobu kullanıyorum ve batarya durum bildirimi çubuğunun seçeneklerinden biri.
Aşağıdakilerden birini yazabilirsiniz:
$ acpi -i
Battery 0: Discharging, 98%, 02:51:14 remaining
Battery 0: design capacity 4400 mAh, last full capacity 3733 mAh = 84%
veya
$ 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
cat /proc/acpi/ac_adapter/AC/state
cat: /proc/acpi/ac_adapter/AC0/state: No such file or directory
$ upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage"