Answers:
පහත දැක්වෙන විධානය මඟින් බැටරිය පිළිබඳ බොහෝ තත්වයන් සහ සංඛ්යානමය තොරතුරු සපයයි. මෙම /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%
ඔබ බොහෝ විට එම විධානය ක්රියාත්මක කිරීමට කැමති නම්, එවිට ඔබට සම්පූර්ණ විධානය සඳහාම Bash අන්වර්ථයක් සෑදිය හැකිය. උදාහරණයක්:
alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'
ඔබගේ .bashrc ගොනුවේ අවසානයට එය එක් කරන්න, ඔබට ඕනෑම වේලාවක ටර්මිනලයේ 'bat' ටයිප් කළ හැකිය.
ලැප්ටොප් බැටරි, බාහිර මීයන් වැනි සියලුම බලශක්ති සම්පත් සඳහා තොරතුරු පෙන්වන 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"
සුහද මතක් කිරීමක් : ACPI තොරතුරු ගබඩා කිරීම සඳහා ලිනක්ස් කර්නලය 2.6.24 භාවිතා /proc
කිරීම අධෛර්යමත් කර ඇති අතර එය ප්රතික්ෂේප කර ඇත .
දැන් අපව භාවිතා කිරීමට උනන්දු කර ඇත -> /sys/class/power_supply/BAT0
.
යාවත්කාලීන කිරීම: ලිනක්ස් 3.19 සහ ඉන් පසුව, අපි පහත නාමාවලිය දෙස බැලිය යුතුය -> /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
කර්නල් 4.20 හි පවා මට පරිපූර්ණව ක්රියා කරයි.
read
PHP වැනි ශ්රිතයක් ඇති ඕනෑම ක්රමලේඛන භාෂාවක් භාවිතා කිරීමෙන් දත්ත ලබා $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 Wed Jan 8 15:45:35 2014 බැටරි 0: සම්පූර්ණ, 100% ඇඩැප්ටරය 0: මාර්ගගතව තාප 0: හරි, අංශක 44.0 සී තාප 0: අංශක 127.0 C උෂ්ණත්වයේ දී ට්රිප් පොයින්ට් 0 තීරණාත්මක මාදිලියට මාරු වේ තාප 0: ට්රිප් පොයින්ට් 1 අංශක 127.0 C උෂ්ණත්වයේ දී උණුසුම් මාදිලියට මාරු වේ සිසිලනය 0: intel_powerclamp කිසිදු රාජ්ය තොරතුරක් නොමැත සිසිලනය 1: pkg-temp-0 කිසිදු රාජ්ය තොරතුරක් නොමැත සිසිලනය 2: 100 න් LCD 100 සිසිලනය 3: 100 න් LCD 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
විධානය ටයිප් කිරීමට එය ප්රමාණවත්
acpi
සවිස්තරාත්මක තොරතුරු සඳහා ඔබට ටයිප් කළ හැකිය
acpi -V
මට මීට පෙර කිසිදු පැකේජයක් ස්ථාපනය කිරීමට අවශ්ය නොවීය.
පද්ධතිය: ඩේබියන් 7.2 64bit
Il විල්ෆ්ට ස්තූතියි මෙය මගේ උබුන්ටු 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
උබුන්ටු වල වැඩ සඳහා ද grep , එබැවින් මම එය වෙනස් කළෙමිBAT
විධාන රේඛාවේදී ඔබේ බැටරි ආයු කාලය පරීක්ෂා කළ හැකි පැකේජයක ලිපියක් මෙන්න .
මූලික වශයෙන්, ඔබ කළ යුත්තේ:
sudo apt-get install acpi
acpi -V
සමහර විට ඔබට උත්සාහ කළ හැකිය:
cat /proc/acpi/battery/BAT0/state
cat /proc/acpi/battery/BAT0/info
/proc
2.6.24 සිට ACPI තොරතුරු ගබඩා කිරීම භාවිතා කිරීම අධෛර්යමත් කර ඇත. දැන් එය ඇතුළට /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
සැ.
මගේ යන්ත්රය: උබුන්ටු 13.10, 3.11.0
වෙනුවට BAT1 සඳහා ඉහත bash කේතය දී BAT0 ඔබ පැරණි අනුවාදයක් උබුන්ටු එනම් 13,04 හෝ පසුව ඇති නම්.
SCRIPT වේධනය: මගේ මුල් පශ්චාත් නිසා, මම තිර රචනය සඳහා කුඩා වැඩි දියුණු කිරීම සිදු කර ඇත:
#!/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
සෑම විටම මෙන්, bash සහිත අවකාශයන් කෙරෙහි අවධානය යොමු කරන්න. මේ සියල්ල ස්වයං පැහැදිලි කිරීමකි. බැටරිය තිබේ නම්, එය පෙන්වනු ඇත, එසේ නොවේ නම් - පිටපත ඔබට එසේ කියයි. දැන්, ඔබේ .bashrc ගොනුව වෙත ගොස් ඔබේ විමසුමට $ (බැට් පවර්) එක් කරන්න. මෙන්න මගේ පොරොන්දුව:
PS1='[$(batpower)]\n${debian_chroot:+($debian_chroot)}[*\u@Ubuntu*]:\w\$ '
ඔබගේ පර්යන්තය යාවත්කාලීන කරන්න හෝ නව ටැබ් එකක් හෝ කවුළුවක් විවෘත කරන්න, දැන් ඔබට ටර්මිනලයේ බැටරි ආරෝපණය නිරන්තරයෙන් නිරීක්ෂණය කළ හැකිය! tty ඇතුළුව! තිර රචනය ප්රශංසා වේවා!
/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 mAh, අවසන් සම්පූර්ණ ධාරිතාව 3424 mAh = 57%
ප්රශ්නය මෙය යමෙකු කරන්නේ ඇයි? හොඳයි, කැඩුණු එල්සීඩී තිරයක් සහිත ලැප්ටොප් පරිගණකයක් මා සතුව දැන් මගේ තිත්ත පෙට්ටිය ලෙස භාවිතා කරමි.
මම යෝජනා කිරීමට ගිය acpi
නමුත් 11.10 දී එය ක්රියාත්මක නොවන බව කියවීමෙන් පසුව මට අදහසක් තිබුණි.
කරුණාකර මෙය ඔබගේ පර්යන්තයේ ටයිප් කරන්න:
ls /proc/acpi/battery/BAT0
හෝBAT1
ඔබට "ගොනුවක් හෝ නාමාවලියක් හමු නොවීය" නම් මෙය ක්රියාත්මක නොවේ.
නමුත්, එය ලිපිගොනු ලැයිස්තුගත කරන්නේ නම්, මෙහි පිටපතක් ඇත [එය / usr / games / හෝ වෙනත් නාමාවලියකට $ 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% බැටරි පෙන්වන නිසාත්, ඔබගේ GUI බැටරි ප්රතිශතයට සාපේක්ෂව මෙම ස්ක්රිප්ට් එක උත්සාහ කර එය ක්රියා විරහිත වන්නේ කෙසේදැයි බලන්න. මගේ නඩුවේදී, එය නිරතුරුවම ඇක්පී ප්රතිශතයට වඩා 3% අඩු බව පෙනේ. එවැනි අවස්ථාවකදී, ඔබට මෙම පේළිය අවසාන පේළියට පෙර එකතු කළ හැකිය : percent=$((percent + 3))
, “3” යනු එය අඩු ප්රතිශතයකි.
** මගේ ලෙනොවෝ හි, බැටරිය BAT1 ලෙස ලැයිස්තුගත කර ඇත, එයද උත්සාහ කරන්න. (LTS 12.04)
acpi
මම 11.10 ඔබේ ලැප්ටොප් ගේ ACPI කාර්යයන් මෙන්ම [බැටරි, ආදිය] සඳහා පහසුකම් සපයන්නේ නැත අනුමාන නිසා නොවේ, වැඩ කරන්නේ. මම හිතන්නේ අතීතයේ උත්ශ්රේණිගත කිරීමේදී මම මේ වගේ දෙයක් අත්විඳ ඇති. මම තවමත් 11.04 ට පැමිණ සිටිමි. කණගාටුයි, මෙය ඔබට ක්රියාත්මක නොවීම ගැන :(
ls /proc/acpi/
හැකිද? ස්තූතියි
Calc හෝ apcalc නොමැතිව සමාන ස්ක්රිප්ට්:
#! /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"