টার্মিনালের মাধ্যমে আমি ব্যাটারির স্থিতি কীভাবে পরীক্ষা করব?


উত্তর:


335

নীচের কমান্ডটি ব্যাটারি সম্পর্কে প্রচুর স্থিতি এবং পরিসংখ্যান সম্পর্কিত তথ্য আউটপুট করে। /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 -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) কমান্ডও রয়েছে যা সমস্ত উপলব্ধ পাওয়ার সংস্থান যেমন ল্যাপটপের ব্যাটারি, বাহ্যিক ইঁদুর ইত্যাদির জন্য তথ্য প্রদর্শন করে


9
upower --enumerateআপনি কীভাবে ব্যবহার করবেন তা নিশ্চিত না হলে দরকারী হতে পারে upower
ল্যান্ড্রোনি

5
@ল্যান্ড্রোনি এবং শর্টহ্যান্ড বিকল্পটি হ'ল upower -e, কমান্ডটি উপলভ্য পাথগুলিকে তালিকাবদ্ধ করে upower -i ...। আপনি যদি অলস হন এবং সমস্ত ডিভাইসের একটি তালিকা চান তবে upower -d( upower --dump) ব্যবহার করুন ।
লেকেনস্টেইন

1
প্রকৃতপক্ষে. আমি মনে করি এটি নিজেই উত্তরের একটি দরকারী সংযোজন হবে, আমি যখন প্রথম ব্যবহার করার চেষ্টা upowerকরেছি তখনই আমি ততক্ষণে হারিয়ে গেলাম।
ল্যান্ড্রোনি

1
@ ল্যান্ড্রোনি ভালো কথা, আমি উত্তরটি আপডেট করেছি। আপনার আরও সম্পর্কিত সংযোজন থাকলে এটিকে নির্দ্বিধায় বোধ করবেন।
লেকেনস্টেইন

8
অন্য একটি লাইনার হতে পারেupower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"
উইলফ

124

একটি বন্ধুত্বপূর্ণ অনুস্মারক : যেহেতু লিনাক্স কার্নেল 2.6.24 ব্যবহার /procACPI সংক্রান্ত তথ্য সংরক্ষণ করতে হয়েছে নিরুৎসাহিত এবং অবচিত

এখন আমরা -> ব্যবহার করতে উত্সাহিত করছি /sys/class/power_supply/BAT0

আপডেট: লিনাক্স ৩.১৯ এবং এরপরে, আমাদের নিম্নলিখিত ডিরেক্টরিটি> - এ দেখা উচিত /sys/class/power_supply/BAT1/

উদাহরণস্বরূপ লিনাক্স 4.20 -> চালিত আর্চ লিনাক্সের ক্ষমতা এবং স্থিতি পরীক্ষা করা

# 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

1
বিশেষত, /sys/class/power_supply/BAT0/capacityবর্তমান চার্জের শতাংশ দেখায় বলে মনে হচ্ছে।
thosmas88

অবহেলিত… এটি কি এখনও কাজ করে?
neverindind9

3
+1, এটি গ্রহণযোগ্য উত্তর হওয়া উচিত, যেহেতু এটি অতিরিক্ত সফ্টওয়্যারের উপর নির্ভর করে না যা সম্ভবত ইনস্টল করা হয়নি এবং এই প্রশ্নের উত্তর দেওয়ার প্রয়োজন নেই। @ neverMind9: আপনার অর্থটি হ্রাস /procকরা হয়েছে তা আমি জানি না তবে /sysকার্নেল ৪.২০ তেও আমার পক্ষে পুরোপুরি কাজ করে।
comfreak

1
@ কমফ্রাক আমার পক্ষেও কাজ করে, বাস্তবে।
কখনই মাইন্ড 9

1
কেবল এটির গ্রহণযোগ্য উত্তর হওয়া উচিত নয়, তবে readপিএইচপি-র মতো কোনও ফাংশন রয়েছে এমন কোনও প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে ডেটা পুনরুদ্ধার করা $capacity = trim(file_get_contents("/sys/class/power_supply/BAT0/capacity"));সহজতর এবং কোনও বাহ্যিক নির্ভরতার উপর নির্ভরশীল নয়।
আমিন ন্যারি

67

প্রথমে acpiএই কমান্ডটি চালিয়ে ইনস্টল করুন ,

sudo apt-get install acpi

তারপরে চালান:

acpi

নমুনা আউটপুট:

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

বা আরও ভার্জোজ আউটপুট যা নিয়মিত আপডেট হয়:

watch --interval=5 acpi -V

আউটপুট:

প্রতি 5.0s: acpi -V বুধ 8 জানুয়ারী 15:45:35 2014

ব্যাটারি 0: সম্পূর্ণ, 100%
অ্যাডাপ্টার 0: অন লাইন
তাপীয় 0: ঠিক আছে, 44.0 ডিগ্রি সে
তাপীয় 0: ট্রিপ পয়েন্ট 0 তাপমাত্রায় 127.0 ডিগ্রি সেলসিয়াসে মোডে মুডে গুরুত্বপূর্ণ
তাপীয় 0: ট্রিপ পয়েন্ট 1 তাপমাত্রায় 127.0 ডিগ্রি সেন্টিগ্রেডে মোড গরম হয়ে যায়
কুলিং 0: ইন্টেল_পাওয়ারক্ল্যাম্প কোনও রাজ্যের তথ্য উপলভ্য নয়
কুলিং 1: pkg-temp-0 কোনও রাজ্যের তথ্য উপলব্ধ নেই
কুলিং 2: 100 এর 100 টি এলসিডি
কুলিং 3: 100 এর 100 টি এলসিডি
কুলিং 4: 10 এর প্রসেসর
শীতল 5: 10 এর প্রসেসর
শীতল 6: 10 এর প্রসেসর
শীতল 7: 10 এর প্রসেসর
শীতল 8: 10 এর প্রসেসর
শীতল 9: প্রসেসরের 0 10
কুলিং 10: 10 এর প্রসেসর
কুলিং 11: 10 এর প্রসেসর

29

@ উইলফকে ধন্যবাদ এটি আমার উবুন্টু 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/%//

উপর ফেডোরা 23 আমি grep ছিল batteryপরিবর্তে BATএটি কাজ করা হয়। আমি এটি সঙ্গে খুঁজে পেয়েছি upower --enumerate
এরিক

batteryউবুন্টুতেও কাজের জন্য BAT
গ্রেপ

28

কমান্ডটি টাইপ করার জন্য এটি যথেষ্ট

acpi

বিস্তারিত তথ্যের জন্য আপনি টাইপ করতে পারেন

acpi -V

এর আগে আমাকে কোনও প্যাকেজ ইনস্টল করতে হয়নি।

সিস্টেম: ডেবিয়ান 7.2 64 বিট


19

এখানে একটি প্যাকেজ সম্পর্কিত একটি নিবন্ধ যা কমান্ড লাইনে আপনার ব্যাটারির জীবন যাচাই করতে পারে।

মূলত, আপনাকে যা করতে হবে তা হ'ল:

sudo apt-get install acpi
acpi -V

18

আপনি চেষ্টা করতে পারেন:

cat /proc/acpi/battery/BAT0/state

cat /proc/acpi/battery/BAT0/info


23
/procএসিপিআই তথ্য সঞ্চয় করতে ব্যবহার করা ২.6.২৪ থেকে নিরুৎসাহিত এবং অবহিত করা হয়েছে। এখন এটি ভিতরে /sys/class/power_supply/BAT0
টেরি ওয়াং

14

আমি পার্টিতে কিছুটা দেরি করেছি তবে এখানে আমার সামান্য অবদান রয়েছে। পূর্ববর্তী উত্তরের ভিত্তিতে, আমি একটি সাধারণ স্ক্রিপ্ট ব্যাটপাওয়ার তৈরি করেছি:

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

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

এটি (./batpower) কার্যকর করার জন্য আউটপুটটি এরকম কিছু হতে চলেছে:

POWER_SUPPLY_CAPACITY=23

এনবি: বেটারি নম্বরটি আপনার জন্য আলাদা হতে পারে, আমার ক্ষেত্রে এটি বিএটি 1, তবে আপনি সর্বদা / সিএস / ক্লাস / পাওয়ার_সপ্লি অথবা সিলেক্ট করে লেকেনস্টেইন হিসাবে আপওয়ার-ইয়ের মাধ্যমে উল্লেখ করতে পারেন

আমার মেশিন: উবুন্টু 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 ফাইলে যান এবং আপনার প্রম্পটে $ (ব্যাটপাওয়ার) যুক্ত করুন। এখানে আমার প্রম্পট:

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

আপনার টার্মিনাল আপডেট করুন বা নতুন ট্যাব বা উইন্ডো খুলুন, এবং এখন আপনি টার্মিনালে ক্রমাগত ব্যাটারি চার্জ নিরীক্ষণ করতে পারেন! টিটি সহ! স্ক্রিপ্টিং প্রশংসিত হতে পারে! এখানে চিত্র বর্ণনা লিখুন


আপনার জন্য চেক করতে হবে /sys/class/power_supply/BAT0এবং /sys/class/power_supply/BAT1... এটি হয় হতে পারে। এবং আপনার সেই পথটি ব্যবহার করা উচিত ( /sys/class/power_supply/BAT#)।
dylnmc

আমার উবুন্টু 12.04 নেটবুকটিতে (BAT0 এ পরিবর্তনের পরে) আমি কোনও পাওয়ার পাওয়ার মনে করি না POWER_SUPPLY_CAPACITY লাইন। দেখে মনে হচ্ছে আমি POWER_SUPPLY_CHARGE_FULL এবং POWER_SUPPLY_CHARGE_NOW মান থেকে যদিও এটি গণনা করতে পারি।
mwfearnley

আপভোটেড কিন্তু ব্যাটম্যান (ব্যাটারি ম্যানেজার) অবচেতনভাবে ব্যাটপাওয়ারের তুলনায় এটিতে আরও সুন্দর একটি আংটি রয়েছে :) একটি গুরুতর দ্রষ্ট্রে এটি আকর্ষণীয় যে আপনি ২০১৪ সালে এসকুবান্টুতে লিখেছিলেন এবং আজ আপনি কতটা আলাদা।
WinEunuuchs2 ইউনিক্স

@ উইনউইউউচস ২ ইউনিক্স হ্যাঁ, আমি যখন থেকে শুরু করেছি তখন থেকে কিছু নতুন কৌশল শিখেছি। ব্যাটম্যানের কাছে এটি একটি দুর্দান্ত রিং থাকবে তবে এটি সম্ভবত কপিরাইটযুক্ত;)
সের্গেই কলডিয়াজহনি

10

কোনও অতিরিক্ত প্যাকেজ ইনস্টল না করে আপনি এটি করতে পারেন:

$ 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%

এই আদেশটি বাইবুর উত্স থেকে তোলা হয়েছে । এটি কোনও বাশ ওরফে জন্য ভাল প্রার্থী হতে পারে ।


আমার কাছ থেকে +1! সিএলআই এফটিডব্লিউ। আপনার যদি BAT1 এর জন্য 2 ব্যাটারির পরিবর্তন BAT0 থাকে :)
রিনজউইন্ড

২.6.২৪ সাল থেকে নিরুৎসাহিত করা হচ্ছে, আমাদের ব্যবহার করা উচিত/sys/class/power_supply/BAT0/
পাবলো এ

9

বিস্তারিত তথ্য পাওয়ার জন্য টার্মিনালে নিম্নলিখিত কমান্ডটি চালান:

cat /proc/acpi/battery/BAT0/info

আপনি যদি চান কেবল এই রাজ্যটি:

cat /proc/acpi/battery/BAT0/state

এই নিরুৎসাহিত করা হয়েছে অন্যান্য অভিন্ন উত্তর।
পাবলো এ

6

Acpi ইনস্টল করুন, তারপরে watchক্রমাগত কমান্ড লাইনের মাধ্যমে নিরীক্ষণ করতে ব্যবহার করুন ।

যেমন

watch --interval=5 acpi -V

নীচের মতো তথ্য প্রদর্শন করবে এবং প্রতি 5 সেকেন্ডে আপডেট হবে।

ব্যাটারি 0: পূর্ণ, 100%, হারের তথ্য অনুপলব্ধ
ব্যাটারি 0: নকশা ক্ষমতা 6000 এমএএইচ, শেষ সম্পূর্ণ ক্ষমতা 3424 এমএএইচ = 57%

প্রশ্ন হচ্ছে কেউ কেন এমন করবে? ঠিক আছে, আমার কাছে ভাঙা এলসিডি স্ক্রিনযুক্ত একটি ল্যাপটপ রয়েছে যা আমি এখন আমার বিটোরেন্ট বাক্স হিসাবে ব্যবহার করছি।


5

এটি আমার জন্য উবুন্টুতে 14.04 এ কাজ করেছে:

cat /sys/class/power_supply/BAT0/capacity

4

আমি প্রস্তাব দিতে যাচ্ছিলাম acpiকিন্তু এটি পড়ার পরে এটি ১১.১০ তে কাজ করছে না, আমার একটি ধারণা ছিল।

আপনার টার্মিনালে এটি টাইপ করুন: ls /proc/acpi/battery/BAT0 বাBAT1

যদি আপনি একটি "ফাইল বা ডিরেক্টরি খুঁজে পাওয়া যায় না" পান তবে এটি কার্যকর হবে না।

তবে, যদি এটি ফাইলগুলি তালিকাভুক্ত করে, তবে এখানে একটি স্ক্রিপ্ট রয়েছে [এটি / usr / গেমস / বা অন্য ডিরেক্টরিতে $ 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)%

আমি আমার ল্যাপটপে এই স্ক্রিপ্টটি পরীক্ষা করেছি। আমি উপরের অনুমানটি বলছি কারণ acpi93% ব্যাটারি দেখায় এবং আমার স্ক্রিপ্ট 90% ব্যাটারি দেখায়, সুতরাং আপনার জিইউআই ব্যাটারি শতাংশের বিপরীতে এই স্ক্রিপ্টটি ব্যবহার করে দেখুন এবং এটি কীভাবে বন্ধ রয়েছে তা দেখুন। আমার ক্ষেত্রে, এটি ধারাবাহিকভাবে এসপির শতাংশের তুলনায় 3% কম বলে মনে হচ্ছে। সেক্ষেত্রে আপনি শেষ লাইনটির ঠিক আগে এই লাইনটি যুক্ত করতে পারেন: percent=$((percent + 3))যেখানে "3" এটি কম হওয়ার শতাংশ।

** আমার লেনোভোতে, ব্যাটারিটি বিএটি 1 হিসাবে তালিকাবদ্ধ রয়েছে, এটিও চেষ্টা করে দেখুন। (12.04 এলটিএস)


ম্যাট, আপনার পরামর্শটি চেষ্টা করে একটি "ফাইল বা ডিরেক্টরি নেই" পেয়েছেন
জো

আরগ .. ঠিক আছে, আমি প্রায় ইতিবাচক কারণেই acpi এটি কাজ করে না, কারণ আমার ধারণা 11.10 আপনার ল্যাপটপের এসিপিআই ফাংশন [ব্যাটারি ইত্যাদি] সমর্থন করে না। আমি মনে করি অতীতে আপগ্রেড করার সময় আমি এ জাতীয় কিছু অভিজ্ঞতা পেয়েছি। যদিও আমি এখনও ১১.০৪ এ আছি। দুঃখিত যে এটি আপনার পক্ষে কার্যকর হয়নি :(
ম্যাট

সুতরাং, শুধু কৌতূহলী, আপনি কি আউটপুট আটকান করতে পারেন ls /proc/acpi/? ধন্যবাদ
ম্যাট

1

ক্যালক বা এপ্যাক্যাল্যাক ছাড়াই অনুরূপ স্ক্রিপ্ট:

#! /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"

1

আমি যা ব্যবহার করি তা এখানে। এটি কেবল পুরো চার্জ এবং বর্তমান চার্জের মধ্যে পার্থক্য দেখায় পাশাপাশি চার্জটি বাদ পড়ছে কিনা তা ব্যবহারকারীকে সতর্ক করতে নোটিফিকেশন ব্যবহার করে কিনা তা দেখুন।

#!/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

1

আমরা এই কমান্ডের সাথে শতাংশ শতাংশ প্রতিধ্বনি করতে পারি

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

65%

যদি আপনাকে সেই মানটি বের করতে হয়


0

এটি প্রত্যেককে সহায়তা করবে না, তবে এটি আমার করেছিল - আমি যখনই টার্মিনালটি ব্যবহার করি তখন বাইবু ব্যবহার করি এবং স্থিতি বিজ্ঞপ্তি বারের জন্য ব্যাটারি অন্যতম বিকল্প।


0

আপনি হয় টাইপ করতে পারেন:

$ 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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.