Terminali kullanarak pil durumunu nasıl kontrol edebilirim?

267

Pil durumunu terminale kontrol eden bir komut istiyorum

    
sordu Joe 20.10.2011 03:24

19 cevap

278

Aşağıdaki komut, batarya hakkında bir çok durum ve istatistiksel bilgi verir. % Co_de% yolu, /org/... ( upower -e ) komutuyla bulunabilir.

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 bilgiyi almak için grep gibi araçları kullanabilirsiniz.

Basit bir yol: yukarıdaki komutu

içine aktarma
grep -E "state|to\ full|percentage"

çıkışlar:

state:               charging
time to full:        57.3 minutes
percentage:          42.5469%

Genellikle bu komutu çalıştırmak isterseniz, tüm komut için bir 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 'bat' yazabilirsiniz.

Ayrıca, bilgisayar piller, harici fareler, vb. gibi tüm kullanılabilir güç kaynakları için bilgi gösteren --enumerate ( upower -d ) komutu da vardır.

    
verilen cevap Lekensteyn 09.02.2012 18:42
99

Arkadaşça bir hatırlatma : Linux çekirdeğinden 2.6.24 , ACPI bilgisini depolamak için /proc kullanılması cesareti kırıldı ve kullanımdan kaldırıldı .

Şimdi kullanmaya teşvik ediyoruz - & gt; % Co_de%.

GÜNCELLEME: Linux 3.19 ve sonrasında, aşağıdaki dizine bakmalıyız - & gt; % Co_de%

Örneğin kapasite - & gt; % Co_de% durum - & gt; % Co_de%

    
verilen cevap Terry Wang 17.06.2013 10:35
59

İlk önce bu komutu çalıştırarak acpi yükleyin,

sudo apt-get install acpi

Çalıştırın:

acpi

Örnek çıktı:

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

Ya da sürekli güncellenen daha ayrıntılı çıktılar için:

watch --interval=5 acpi -V

Çıktı:

Every 5.0s: acpi -V                                     Wed Jan  8 15:45:35 2014

Battery 0: Full, 100%
Adapter 0: on-line
Thermal 0: ok, 44.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 127.0 degrees C
Thermal 0: trip point 1 switches to mode hot at temperature 127.0 degrees C
Cooling 0: intel_powerclamp no state information available
Cooling 1: pkg-temp-0 no state information available
Cooling 2: LCD 100 of 100
Cooling 3: LCD 100 of 100
Cooling 4: Processor 0 of 10
Cooling 5: Processor 0 of 10
Cooling 6: Processor 0 of 10
Cooling 7: Processor 0 of 10
Cooling 8: Processor 0 of 10
Cooling 9: Processor 0 of 10
Cooling 10: Processor 0 of 10
Cooling 11: Processor 0 of 10
    
verilen cevap Suhaib 24.11.2012 21:20
26

@Wilf sayesinde bu, Lenovo Yoga 720 üzerindeki Ubuntu 17.10'umda ç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 liner ile sadece sayısal değer

upower -i $(upower -e | grep '/battery') | grep --color=never -E percentage|xargs|cut -d' ' -f2|sed s/%//
    
verilen cevap rubo77 02.07.2014 10:56
23

Komutu yazmak yeterlidir

  

acpi

Detaylı bilgi için yazabilirsiniz

  

acpi -V

Daha önce herhangi bir paket yüklemem gerekmedi.

Sistem: Debian 7.2 64bit

    
verilen cevap user309404 26.07.2014 16:36
15

Belki deneyebilirsiniz:

cat /proc/acpi/battery/BAT0/state

cat /proc/acpi/battery/BAT0/info

    
verilen cevap Mariano L 20.10.2011 07:36
15

İşte , paketinizi kontrol edebileceğiniz bir makaledir. komut satırında pil ömrü.

Temel olarak, tek yapmanız gereken:

sudo apt-get install acpi
acpi -V
    
verilen cevap josh-fuggle 10.06.2011 06:57
11

Partiye biraz geç kaldım ama işte benim ufak katkım. Önceki cevaplara dayanarak, basit bir betik batpower yaptık:

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

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

Bunu çalıştırmak için çıktı (./batpower) şöyle bir şey olacaktır:

POWER_SUPPLY_CAPACITY=23

N.B. : batery numarası sizin için farklı olabilir, benim durumumda BAT1, ama her zaman / sys / class / power_supply için cd'ing ile veya Lekensteyn'in yukardan belirtildiği gibi -e

bulabilirsiniz.

Makinem: Ubuntu 13.10, 3.11.0

Daha eski sürüm Ubuntu yani 13.04 veya daha eski sürümünüz varsa, yukarıdaki bash kodundaki BAT1 'i BAT0 olarak değiştirin.

GELİŞMİŞ SCRIPT: Orijinal gönderimden bu yana, senaryoda küçük bir iyileştirme yaptım:

#!/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. Hepsi kendini açıklayıcı. Pil mevcutsa, gösterilmezse gösterilecektir - betik size söyleyecektir. Şimdi, .bashrc dosyanıza gidin ve isteminize $ (batpower) ekleyin. İşte benimkini:

PS1='[$(batpower)]\n${debian_chroot:+($debian_chroot)}[*\[email protected]*]:\w$ ' 

Terminalinizi güncelleyin veya yeni sekme veya pencereyi açın, şimdi artık pil şarjını terminalde izleyebilirsiniz! tty dahil! Scripting övgü olabilir!

    
verilen cevap Sergiy Kolodyazhnyy 23.07.2014 05:23
9

Ayrıntılı bilgi almak için bir terminalde aşağıdaki komutu çalıştırın:

cat /proc/acpi/battery/BAT0/info

Yalnızca devletin yapmasını istiyorsanız:

cat /proc/acpi/battery/BAT0/state
    
verilen cevap MEM 19.04.2011 14:20
9

Ekstra paket yüklemeden yapabilirsiniz:

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

Bu komut byobu kaynağından kaldırılır. Bash alias için iyi bir aday olabilir.

    
verilen cevap ændrük 10.06.2011 07:35
5

Acpi yükleyin, ardından komut satırından sürekli olarak izlemek için watch kullanın.

Örn.

watch --interval=5 acpi -V

aşağıdaki gibi bilgileri gösterecek ve her 5 saniyede bir güncellenecektir.

  

Pil 0: Tam,% 100, ücret bilgisi kullanılamıyor
  Pil 0: tasarım kapasitesi 6000 mAh, son tam kapasite 3424 mAh =% 57

Soru, birileri bunu neden yaptı? Eh, şimdi benim bittorrent kutusu olarak kullandığım kırık LCD ekranlı bir dizüstü bilgisayarım var.

    
verilen cevap iceburn 30.08.2011 22:33
5

Bu benim için 14.04 ubuntu işini yaptı:

cat /sys/class/power_supply/BAT0/capacity
    
verilen cevap the_saint 23.11.2014 14:29
4

acpi önerecektim ama okuduktan sonra 11.10'da çalışmıyor, bir fikrim vardı.

Lütfen bunu terminalinize yazın: ls /proc/acpi/battery/BAT0 veya BAT1

"Dosya veya dizin bulunamadı" alırsanız, bu işe yaramaz.

Ancak, dosyalar listeleniyorsa, bu durumda bir komut dosyası [$ us '/ usr / games / veya başka bir dizine $ PATH olarak yapıştırın ve sudo chmod +x /usr/games/batterypercent dosyasını çalıştırın veya adınız ne olursa olsun] Sadece sizin için tahmini bir pil yüzdesi verecek [yazdım]:

(Not, önceden yüklenmemişse, calc programını repo'dan yükleyin: sudo apt-get install apcalc )

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

Bu komut dosyasını dizüstü bilgisayarımda test ettim. Yukarıdaki kodun% 93'ünü gösterdiğinden ve% 90'lık bir pil gösterdiğinden dolayı yukarıdaki tahmin diyorum, bu yüzden bu komut dosyasını GUI pil yüzdesine karşı deneyin ve ne kadar kapalı olduğunu görün. Benim durumumda, yüz yüze oranından sürekli olarak% 3 daha düşük gibi görünüyor. Bu durumda, bu satırı en son satırdan hemen önce ekleyebilirsiniz: acpi , burada "3" düşük olan yüzdedir.

** Lenovo'mda batarya BAT1 olarak listeleniyor, bunu da deneyin. (12.04 LTS)

    
verilen cevap Matt 20.10.2011 04:42
1

Calc veya apcalc içermeyen benzer komut:

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

İşte benim kullandığım şey. Sadece, tam şarj ile akım yükü arasındaki farkın yanı sıra, ücretin düşüp düşmediğini görmek için kullanıcıya bildirimde bulunup bulunmadığına bakar.

#!/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
    
verilen cevap Mark Simmons 28.02.2016 13:47
0

Bu herkese yardımcı olmaz, ancak bana bir terminal kullanırken her zaman byobu kullanıyorum. Pil durum bildirimleri çubuğu için seçenekler biridir.

    
verilen cevap sheepeatingtaz 07.01.2016 09:41
0

Sadece o komutla yüzdeyi ekleyebiliriz

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

% 65

Bu değeri çıkarmanız gerekiyorsa

    
verilen cevap intika 25.03.2018 13:56
-2
cat /proc/acpi/ac_adapter/AC/state
    
verilen cevap Todd Harris 19.04.2011 14:03
-2

Bu çalışır:

cat /proc/acpi/ac_adapter/AC0/state
    
verilen cevap xerostomus 15.11.2014 18:35

Etiketlerdeki diğer soruları oku