سؤال كيفية التحقق من حالة البطارية باستخدام المحطة؟


أرغب في أمر يتحقق من حالة البطارية عبر الجهاز


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 للحصول على المعلومات التي تريدها من كل ذلك الإخراج.

طريقة واحدة بسيطة: piping الأمر أعلاه إلى

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 ، ويمكنك كتابة "bat" في أي وقت ، في الجهاز.

هنالك أيضا upower -d (--dump) الأمر الذي يعرض معلومات عن جميع موارد الطاقة المتاحة مثل بطاريات الكمبيوتر المحمول والفئران الخارجية وما إلى ذلك.


282
2018-02-09 17:42



upower --enumerate يمكن أن تكون مفيدة إذا كنت غير متأكد من كيفية استخدامها upower. - landroni
landroni والخيار اختزال 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 لتخزين معلومات ACPI محبط و إهمال.

الآن نحن نشجع على استخدام -> /sys/class/power_supply/BAT0.

استكمال: لينكس 3.19 وما بعده ، ينبغي لنا أن ننظر إلى الدليل التالي -> /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

أو للحصول على ناتج مطول أكثر يتم تحديثه باستمرار:

watch --interval=5 acpi -V

انتاج:

كل 5.0 ثانية: acpi -V Wed Jan 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: LCD 100 من 100
التبريد 3: LCD 100 من 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

59
2017-11-24 20:20





بفضلWilf ، يعمل هذا على جهاز Ubuntu 17.10 على Lenovo Yoga 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 for battery يعمل في Ubuntu أيضًا ، لذا قمت بتغييره من BAT - rubo77


يكفي أن يكتب الأمر

acpi

للحصول على معلومات مفصلة ، يمكنك الكتابة

acpi -V

لم يكن علي تثبيت أي حزم من قبل.

النظام: Debian 7.2 64bit


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 تخزين معلومات ACPI تم تثبيتها وإيقافها منذ 2.6.24. الآن في /sys/class/power_supply/BAT0. - Terry Wang


هنا مقالة على حزمة يمكنها التحقق من عمر البطارية في سطر الأوامر.

في الأساس ، كل ما عليك القيام به هو:

sudo apt-get install acpi
acpi -V

15
2018-06-10 04:57