सवाल टर्मिनल का उपयोग कर बैटरी स्थिति की जांच कैसे करें?


मुझे एक आदेश चाहिए जो टर्मिनल के माध्यम से बैटरी स्थिति की जांच करेगा


269
2017-10-20 01:24


मूल


$ upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage" - Jake Berger


जवाब:


नीचे दिया गया आदेश बैटरी के बारे में बहुत सारी स्थिति और सांख्यिकीय जानकारी आउटपुट करता है। /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 जैसे टूल का उपयोग कर सकते हैं।

एक आसान तरीका: उपर्युक्त कमांड को पाइप करना

grep -E "state|to\ full|percentage"

आउटपुट:

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

यदि आप अक्सर उस आदेश को चलाने के लिए पसंद करेंगे, तो आप पूरे आदेश के लिए एक बाश उपनाम बना सकते हैं। उदाहरण:

alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'

इसे अपनी .bashrc फ़ाइल के अंत में जोड़ें, और आप टर्मिनल में किसी भी समय 'बल्ले' टाइप कर सकते हैं।

वहाँ भी है एक upower -d (--dump) कमांड जो सभी उपलब्ध बिजली संसाधनों जैसे लैपटॉप बैटरी, बाहरी चूहों, आदि के लिए जानकारी दिखाता है।


282
2018-02-09 17:42



upower --enumerate यदि आप सुनिश्चित नहीं हैं कि इसका उपयोग कैसे किया जाए तो उपयोगी हो सकता है upower। - landroni
@landroni और shorthand विकल्प है upower -e, वह आदेश उपलब्ध पथों को सूचीबद्ध करता है upower -i ...। यदि आप आलसी हैं और बस सभी उपकरणों की एक सूची चाहते हैं, तो उपयोग करें upower -d (upower --dump)। - Lekensteyn
वास्तव में। मुझे लगता है कि यह जवाब के लिए एक उपयोगी जोड़ होगा, जैसा कि मैंने पहली बार उपयोग करने की कोशिश की थी upower मैं तुरंत खो गया। - landroni
@landroni अच्छा बिंदु, मैंने जवाब अपडेट किया है। यदि आपके पास अधिक संबंधित परिवर्धन हैं तो इसे संपादित करने के लिए स्वतंत्र महसूस करें। - Lekensteyn
एक और लाइनर हो सकता है upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage" - Wilf


मित्रतापूर्ण अनुस्मारक: लिनक्स कर्नेल के बाद से 2.6.24 का उपयोग करते हुए /proc एसीपीआई जानकारी स्टोर करने के लिए किया गया है हतोत्साहित तथा पदावनत

अब हमें -> का उपयोग करने के लिए प्रोत्साहित किया जाता है /sys/class/power_supply/BAT0

अद्यतन: लिनक्स 3.1 9 और बाद में, हमें निम्नलिखित निर्देशिका को देखना चाहिए -> /sys/class/power_supply/BAT1/

उदाहरण के लिए क्षमता -> cat /sys/class/power_supply/BAT1/capacity स्थिति -> cat /sys/class/power_supply/BAT1/status


99
2018-06-17 08:35



विशेष रूप से, /sys/class/power_supply/BAT0/capacity वर्तमान चार्ज प्रतिशत दिखाना प्रतीत होता है। - thomasa88
पदावनत ... क्या यह अभी भी काम करता है? - neverMind9


पहले स्थापित करें acpi इस आदेश को चलाकर,

sudo apt-get install acpi

तो भागो:

acpi

नमूना उत्पादन:

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

या एक अधिक verbose आउटपुट के लिए जो लगातार अद्यतन करता है:

watch --interval=5 acpi -V

आउटपुट:

प्रत्येक 5.0s: एसीपीआई-वी बुध जनवरी 8 15:45:35 2014

बैटरी 0: पूर्ण, 100%
एडाप्टर 0: ऑनलाइन
थर्मल 0: ठीक है, 44.0 डिग्री सेल्सियस
थर्मल 0: यात्रा बिंदु 0 तापमान 127.0 डिग्री सेल्सियस पर महत्वपूर्ण मोड स्विच
थर्मल 0: यात्रा बिंदु 1 तापमान 127.0 डिग्री सेल्सियस तापमान पर गर्म करने के लिए स्विच
शीतलन 0: intel_powerclamp कोई राज्य जानकारी उपलब्ध नहीं है
शीतलन 1: pkg-temp-0 कोई राज्य जानकारी उपलब्ध नहीं है
शीतलन 2: एलसीडी 100 100
शीतलन 3: एलसीडी 100 100
शीतलन 4: 10 का प्रोसेसर 0
शीतलन 5: 10 का प्रोसेसर 0
शीतलन 6: 10 का प्रोसेसर 0
शीतलन 7: 10 का प्रोसेसर 0
शीतलन 8: 10 का प्रोसेसर 0
शीतलन 9: 10 का प्रोसेसर 0
शीतलन 10: 10 का प्रोसेसर 0
शीतलन 11: 10 का प्रोसेसर 0

59
2017-11-24 20:20





@Wilf के लिए धन्यवाद यह मेरे उबंटू 17.10 पर लेनोवो योग 720 पर काम करता है:

upower -i $(upower -e | grep '/battery') | grep --color=never -E "state|to\ full|to\ empty|percentage"

आउटपुट:

state:               fully-charged
percentage:          100%

या सिर्फ एक लाइनर के साथ संख्यात्मक मूल्य

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

26
2017-07-02 08:56



पर फेडोरा 23 मुझे इसके लिए grep करना था battery के बजाय BAT इसे काम करने के लिए। मैंने पाया कि साथ upower --enumerate। - erik
के लिए grep battery उबंटू में भी काम करता है, इसलिए मैंने इसे बदल दिया BAT - rubo77


आदेश टाइप करने के लिए पर्याप्त है

acpi

विस्तृत जानकारी के लिए आप टाइप कर सकते हैं

acpi -V

मुझे पहले किसी भी पैकेज को स्थापित करने की ज़रूरत नहीं थी।

सिस्टम: डेबियन 7.2 64 बिट


23
2017-07-26 14:36





शायद आप कोशिश कर सकते हैं:

cat /proc/acpi/battery/BAT0/state

cat /proc/acpi/battery/BAT0/info


15
2017-10-20 05:36



का उपयोग करते हुए /proc एसीपीआई जानकारी स्टोर करने के लिए 2.6.24 के बाद से निराश और बहिष्कृत किया गया है। अब यह अंदर है /sys/class/power_supply/BAT0। - Terry Wang


यहाँ एक पैकेज पर एक लेख है जो कमांड लाइन पर आपके बैटरी जीवन की जांच कर सकता है।

असल में, आपको बस इतना करना है:

sudo apt-get install acpi
acpi -V

15
2018-06-10 04:57





मैं पार्टी के लिए थोड़ा देर हो चुकी हूं लेकिन यहां मेरा छोटा योगदान है। पिछले उत्तरों के आधार पर, मैंने एक साधारण स्क्रिप्ट बैट पावर बनाया है:

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

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

इस (./batpower) को निष्पादित करने के लिए आउटपुट कुछ ऐसा होने जा रहा है:

POWER_SUPPLY_CAPACITY=23

N.B. : आपके लिए बैटर नंबर अलग हो सकता है, मेरे मामले में यह बीएटी 1 है, लेकिन आप इसे सीडीइंग / सीएस / क्लास / पावर_supply द्वारा या हमेशा लेवेनस्टीन द्वारा उपरोक्त के माध्यम से उल्लिखित कर सकते हैं

मेरी मशीन: उबंटू 13.10, 3.11.0

बदलने के BAT1 उपरोक्त बैश कोड में BAT0 यदि आपके पास पुराने संस्करण उबंटू यानी 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 

हमेशा के रूप में, बाश के साथ रिक्त स्थान पर ध्यान देना। यह सब आत्म व्याख्यात्मक है। यदि बैटरी मौजूद है, तो यह दिखाई देगी, यदि नहीं - तो स्क्रिप्ट आपको बताएगी। अब, अपनी .bashrc फ़ाइल पर जाएं और अपने प्रॉम्प्ट पर $ (batpower) जोड़ें। मेरा प्रोमेट यहाँ है:

PS1='[$(batpower)]\n${debian_chroot:+($debian_chroot)}[*\u@Ubuntu*]:\w\$ ' 

अपना टर्मिनल अपडेट करें या नया टैब या विंडो खोलें, और अब आप टर्मिनल में लगातार बैटरी चार्ज की निगरानी कर सकते हैं! टीटीआई सहित! लिपि की प्रशंसा की जा सकती है! enter image description here


11
2017-07-23 03:23



आपको जांचना होगा /sys/class/power_supply/BAT0 तथा /sys/class/power_supply/BAT1 ... यह या तो हो सकता है। और आपको उस पथ का उपयोग करना चाहिए (/sys/class/power_supply/BAT#)। - dylnmc
मेरी उबंटू 12.04 नेटबुक (बीएटी 0 में बदलने के बाद) में, मुझे लगता है कि मुझे POWER_SUPPLY_CAPACITY लाइन नहीं मिलती है। ऐसा लगता है कि मैं इसकी गणना कर सकता हूं हालांकि, POWER_SUPPLY_CHARGE_FULL और POWER_SUPPLY_CHARGE_NOW मानों से। - mwfearnley


विस्तृत जानकारी प्राप्त करने के लिए टर्मिनल में निम्न आदेश चलाएं:

cat /proc/acpi/battery/BAT0/info

यदि आप बस राज्य चाहते हैं:

cat /proc/acpi/battery/BAT0/state

9
2018-04-19 12:20



हाँ, यह काम किया :) धन्यवाद! - infoquad


आप इसे अतिरिक्त पैकेज इंस्टॉल किए बिना कर सकते हैं:

$ 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 के स्रोत। यह एक के लिए एक अच्छा उम्मीदवार हो सकता है बश उपनाम


9
2018-06-10 05:35



मेरे द्वारा +1! सीएलआई एफटीडब्ल्यू। यदि आपके पास बीएटी 1 के लिए 2 बैटरी का परिवर्तन बीएटी 0 है :) - Rinzwind