উত্তর:
নীচের কমান্ডটি ব্যাটারি সম্পর্কে প্রচুর স্থিতি এবং পরিসংখ্যান সম্পর্কিত তথ্য আউটপুট করে। /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
) কমান্ডও রয়েছে যা সমস্ত উপলব্ধ পাওয়ার সংস্থান যেমন ল্যাপটপের ব্যাটারি, বাহ্যিক ইঁদুর ইত্যাদির জন্য তথ্য প্রদর্শন করে
upower --enumerate
আপনি কীভাবে ব্যবহার করবেন তা নিশ্চিত না হলে দরকারী হতে পারে upower
।
upower -e
, কমান্ডটি উপলভ্য পাথগুলিকে তালিকাবদ্ধ করে upower -i ...
। আপনি যদি অলস হন এবং সমস্ত ডিভাইসের একটি তালিকা চান তবে upower -d
( upower --dump
) ব্যবহার করুন ।
upower
করেছি তখনই আমি ততক্ষণে হারিয়ে গেলাম।
upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"
একটি বন্ধুত্বপূর্ণ অনুস্মারক : যেহেতু লিনাক্স কার্নেল 2.6.24 ব্যবহার /proc
ACPI সংক্রান্ত তথ্য সংরক্ষণ করতে হয়েছে নিরুৎসাহিত এবং অবচিত ।
এখন আমরা -> ব্যবহার করতে উত্সাহিত করছি /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
/sys/class/power_supply/BAT0/capacity
বর্তমান চার্জের শতাংশ দেখায় বলে মনে হচ্ছে।
/proc
করা হয়েছে তা আমি জানি না তবে /sys
কার্নেল ৪.২০ তেও আমার পক্ষে পুরোপুরি কাজ করে।
read
পিএইচপি-র মতো কোনও ফাংশন রয়েছে এমন কোনও প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে ডেটা পুনরুদ্ধার করা $capacity = trim(file_get_contents("/sys/class/power_supply/BAT0/capacity"));
সহজতর এবং কোনও বাহ্যিক নির্ভরতার উপর নির্ভরশীল নয়।
প্রথমে 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 এর প্রসেসর
@ উইলফকে ধন্যবাদ এটি আমার উবুন্টু 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/%//
battery
পরিবর্তে BAT
এটি কাজ করা হয়। আমি এটি সঙ্গে খুঁজে পেয়েছি upower --enumerate
।
battery
উবুন্টুতেও কাজের জন্য BAT
কমান্ডটি টাইপ করার জন্য এটি যথেষ্ট
acpi
বিস্তারিত তথ্যের জন্য আপনি টাইপ করতে পারেন
acpi -V
এর আগে আমাকে কোনও প্যাকেজ ইনস্টল করতে হয়নি।
সিস্টেম: ডেবিয়ান 7.2 64 বিট
এখানে একটি প্যাকেজ সম্পর্কিত একটি নিবন্ধ যা কমান্ড লাইনে আপনার ব্যাটারির জীবন যাচাই করতে পারে।
মূলত, আপনাকে যা করতে হবে তা হ'ল:
sudo apt-get install acpi
acpi -V
আপনি চেষ্টা করতে পারেন:
cat /proc/acpi/battery/BAT0/state
cat /proc/acpi/battery/BAT0/info
/proc
এসিপিআই তথ্য সঞ্চয় করতে ব্যবহার করা ২.6.২৪ থেকে নিরুৎসাহিত এবং অবহিত করা হয়েছে। এখন এটি ভিতরে /sys/class/power_supply/BAT0
।
আমি পার্টিতে কিছুটা দেরি করেছি তবে এখানে আমার সামান্য অবদান রয়েছে। পূর্ববর্তী উত্তরের ভিত্তিতে, আমি একটি সাধারণ স্ক্রিপ্ট ব্যাটপাওয়ার তৈরি করেছি:
#!/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#
)।
কোনও অতিরিক্ত প্যাকেজ ইনস্টল না করে আপনি এটি করতে পারেন:
$ 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%
এই আদেশটি বাইবুর উত্স থেকে তোলা হয়েছে । এটি কোনও বাশ ওরফে জন্য ভাল প্রার্থী হতে পারে ।
/sys/class/power_supply/BAT0/
বিস্তারিত তথ্য পাওয়ার জন্য টার্মিনালে নিম্নলিখিত কমান্ডটি চালান:
cat /proc/acpi/battery/BAT0/info
আপনি যদি চান কেবল এই রাজ্যটি:
cat /proc/acpi/battery/BAT0/state
Acpi ইনস্টল করুন, তারপরে watch
ক্রমাগত কমান্ড লাইনের মাধ্যমে নিরীক্ষণ করতে ব্যবহার করুন ।
যেমন
watch --interval=5 acpi -V
নীচের মতো তথ্য প্রদর্শন করবে এবং প্রতি 5 সেকেন্ডে আপডেট হবে।
ব্যাটারি 0: পূর্ণ, 100%, হারের তথ্য অনুপলব্ধ
ব্যাটারি 0: নকশা ক্ষমতা 6000 এমএএইচ, শেষ সম্পূর্ণ ক্ষমতা 3424 এমএএইচ = 57%
প্রশ্ন হচ্ছে কেউ কেন এমন করবে? ঠিক আছে, আমার কাছে ভাঙা এলসিডি স্ক্রিনযুক্ত একটি ল্যাপটপ রয়েছে যা আমি এখন আমার বিটোরেন্ট বাক্স হিসাবে ব্যবহার করছি।
আমি প্রস্তাব দিতে যাচ্ছিলাম 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)%
আমি আমার ল্যাপটপে এই স্ক্রিপ্টটি পরীক্ষা করেছি। আমি উপরের অনুমানটি বলছি কারণ acpi
93% ব্যাটারি দেখায় এবং আমার স্ক্রিপ্ট 90% ব্যাটারি দেখায়, সুতরাং আপনার জিইউআই ব্যাটারি শতাংশের বিপরীতে এই স্ক্রিপ্টটি ব্যবহার করে দেখুন এবং এটি কীভাবে বন্ধ রয়েছে তা দেখুন। আমার ক্ষেত্রে, এটি ধারাবাহিকভাবে এসপির শতাংশের তুলনায় 3% কম বলে মনে হচ্ছে। সেক্ষেত্রে আপনি শেষ লাইনটির ঠিক আগে এই লাইনটি যুক্ত করতে পারেন: percent=$((percent + 3))
যেখানে "3" এটি কম হওয়ার শতাংশ।
** আমার লেনোভোতে, ব্যাটারিটি বিএটি 1 হিসাবে তালিকাবদ্ধ রয়েছে, এটিও চেষ্টা করে দেখুন। (12.04 এলটিএস)
acpi
এটি কাজ করে না, কারণ আমার ধারণা 11.10 আপনার ল্যাপটপের এসিপিআই ফাংশন [ব্যাটারি ইত্যাদি] সমর্থন করে না। আমি মনে করি অতীতে আপগ্রেড করার সময় আমি এ জাতীয় কিছু অভিজ্ঞতা পেয়েছি। যদিও আমি এখনও ১১.০৪ এ আছি। দুঃখিত যে এটি আপনার পক্ষে কার্যকর হয়নি :(
ls /proc/acpi/
? ধন্যবাদ
ক্যালক বা এপ্যাক্যাল্যাক ছাড়াই অনুরূপ স্ক্রিপ্ট:
#! /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"
আমি যা ব্যবহার করি তা এখানে। এটি কেবল পুরো চার্জ এবং বর্তমান চার্জের মধ্যে পার্থক্য দেখায় পাশাপাশি চার্জটি বাদ পড়ছে কিনা তা ব্যবহারকারীকে সতর্ক করতে নোটিফিকেশন ব্যবহার করে কিনা তা দেখুন।
#!/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
এটি প্রত্যেককে সহায়তা করবে না, তবে এটি আমার করেছিল - আমি যখনই টার্মিনালটি ব্যবহার করি তখন বাইবু ব্যবহার করি এবং স্থিতি বিজ্ঞপ্তি বারের জন্য ব্যাটারি অন্যতম বিকল্প।
আপনি হয় টাইপ করতে পারেন:
$ 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
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"