Poniższe polecenie generuje wiele informacji o stanie i danych statystycznych dotyczących akumulatora. /org/...Ścieżka może być znaleziony z poleceniem upower -e( --enumerate).
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
Możesz użyć narzędzi takich jak grep, aby uzyskać tylko potrzebne informacje z całego tego wyjścia.
Jeden prosty sposób: wpakowanie powyższego polecenia do
grep -E "state|to\ full|percentage"
wyjścia:
state: charging
time to full: 57.3 minutes
percentage: 42.5469%
Jeśli często chcesz uruchomić to polecenie, możesz utworzyć alias Bash dla całego polecenia. Przykład:
alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'
Dodaj to na końcu pliku .bashrc, a będziesz mógł wpisać „bat” w dowolnym momencie w terminalu.
Istnieje również polecenie upower -d( --dump), które wyświetla informacje o wszystkich dostępnych zasobach energii, takich jak baterie laptopów, myszy zewnętrzne itp.
upower --enumeratemoże być przydatny, jeśli nie masz pewności, jak go używać upower.
landroni
5
@landroni I skrótową opcją jest to upower -e, że polecenie wyświetla listę dostępnych ścieżek upower -i .... Jeśli jesteś leniwy i chcesz tylko listę wszystkich urządzeń, użyj upower -d( upower --dump).
Lekensteyn,
1
W rzeczy samej. Myślę, że byłby to użyteczny dodatek do samej odpowiedzi, ponieważ kiedy po raz pierwszy spróbowałem użyć upower, natychmiast się zgubiłem.
landroni
1
@landroni Dobra uwaga, zaktualizowałem odpowiedź. Jeśli masz więcej powiązanych dodatków, możesz go edytować.
Lekensteyn,
8
Kolejny liniowiec może byćupower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"
Wilf
124
Przypominamy : od jądra Linux 2.6.24 używając /procdo przechowywania informacji ACPI został zniechęcony i przestarzałe .
Teraz zachęcamy do korzystania z -> /sys/class/power_supply/BAT0.
AKTUALIZACJA: Linux 3.19 i nowsze wersje, powinniśmy spojrzeć na następujący katalog -> /sys/class/power_supply/BAT1/
Na przykład sprawdzanie pojemności i statusu w Arch Linux z systemem Linux 4.20 ->
# uname -aLinux 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/capacity99# cat /sys/class/power_supply/BAT1/statusCharging
W szczególności /sys/class/power_supply/BAT0/capacitywydaje się , że pokazuje aktualny procent obciążenia.
thomasa88,
Przestarzałe… czy nadal działa?
neverMind9,
3
+1, to powinna być zaakceptowana odpowiedź, ponieważ nie opiera się na dodatkowym oprogramowaniu, które może nie zostać zainstalowane i nie jest potrzebne do udzielenia odpowiedzi na to pytanie. @ neverMind9: Nie wiem, co masz na myśli, /procjest przestarzałe, ale /sysdziała dla mnie idealnie, nawet w jądrze 4.20.
comfreak
1
@comfreak Właściwie działa również dla mnie.
neverMind9
1
Nie tylko powinna to być odpowiedź akceptora, ale odzyskiwanie danych można osiągnąć za pomocą dowolnego języka programowania, który ma readfunkcję podobną do PHP, $capacity = trim(file_get_contents("/sys/class/power_supply/BAT0/capacity"));co czyni go bardzo łatwym i niezależnym od zewnętrznych zależności.
Amin NAIRI,
67
Najpierw zainstaluj acpi, uruchamiając to polecenie,
sudo apt-get install acpi
Następnie uruchomić:
acpi
Przykładowe dane wyjściowe:
Battery 0: Discharging, 61%, 01:10:12 remaining
Lub bardziej szczegółowe dane wyjściowe, które stale się aktualizują:
watch --interval=5 acpi -V
Wynik:
Co 5.0s: acpi -V Środa 8 stycznia 15:45:35 2014
Bateria 0: pełna, 100%
Adapter 0: on-line
Temperatura 0: ok, 44,0 stopni C
Thermal 0: punkt zadziałania 0 przełącza się w tryb krytyczny w temperaturze 127,0 stopni C
Termiczna 0: punkt zadziałania 1 przełącza się w tryb gorący w temperaturze 127,0 stopni C
Chłodzenie 0: intel_powerclamp brak dostępnych informacji o stanie
Chłodzenie 1: pkg-temp-0 brak dostępnych informacji o stanie
Chłodzenie 2: LCD 100 100
Chłodzenie 3: LCD 100 100
Chłodzenie 4: Procesor 0 z 10
Chłodzenie 5: Procesor 0 z 10
Chłodzenie 6: Procesor 0 z 10
Chłodzenie 7: Procesor 0 z 10
Chłodzenie 8: Procesor 0 z 10
Chłodzenie 9: Procesor 0 z 10
Chłodzenie 10: Procesor 0 z 10
Chłodzenie 11: procesor 0 z 10
używanie /procdo przechowywania informacji ACPI jest odradzane i przestarzałe od 2.6.24. Teraz jest w środku /sys/class/power_supply/BAT0.
Terry Wang,
14
Jestem trochę spóźniony na przyjęcie, ale oto mój mały wkład. Opierając się na poprzednich odpowiedziach, stworzyłem prosty skrypt batpower:
#!/bin/bash
# Description: Battery charge in percentage
grep POWER_SUPPLY_CAPACITY /sys/class/power_supply/BAT1/uevent
Dane wyjściowe do wykonania tego (./batpower) będą wyglądać mniej więcej tak:
POWER_SUPPLY_CAPACITY=23
Uwaga: numer baterii może być dla Ciebie inny, w moim przypadku jest to BAT1, ale zawsze możesz go znaleźć, zapisując cd'ing na / sys / class / power_supply lub jak Lekensteyn wspomniał przez upower -e
Moja maszyna: Ubuntu 13.10, 3.11.0
Zamień BAT1 w powyższym kodzie bash na BAT0, jeśli masz starszą wersję Ubuntu, tj. 13.04 lub nowszą.
ULEPSZONY PISMO: Od czasu mojego oryginalnego posta wprowadziłem niewielką poprawę w skrypcie:
#!/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
Jak zawsze, zwracaj uwagę na spacje za pomocą bash. Wszystko to jest oczywiste. Jeśli bateria jest obecna, pokaże się, jeśli nie - skrypt to powie. Teraz przejdź do pliku .bashrc i dodaj $ (batpower) do pytania. Oto mój promt:
Zaktualizuj terminal lub otwórz nową kartę lub okno, a teraz możesz stale monitorować poziom naładowania baterii w terminalu! w tym tty! Niech będzie chwalony skrypt!
Musisz sprawdzić /sys/class/power_supply/BAT0i /sys/class/power_supply/BAT1... Może być albo. I powinieneś użyć tej ścieżki ( /sys/class/power_supply/BAT#).
dylnmc
W moim netbooku Ubuntu 12.04 (po zmianie na BAT0) wydaje się, że nie otrzymuję linii POWER_SUPPLY_CAPACITY. Wygląda na to, że mógłbym to obliczyć na podstawie wartości POWER_SUPPLY_CHARGE_FULL i POWER_SUPPLY_CHARGE_NOW.
mwfearnley
Pozytywnie oceniany, ale Batman (Menedżer baterii) podświadomie ma ładniejszy dźwięk niż Batpower :) Mówiąc poważnie, interesujące jest to, że pisałeś w AskUbuntu w 2014 roku i jak różnisz się dzisiaj.
WinEunuuchs2Unix
@ WinEunuuuchs2Unix Tak, zmieniłem się nieco od początku, nauczyłem się kilku nowych sztuczek. batman miałby niezły dzwonek, ale prawdopodobnie jest chroniony prawami autorskimi;)
Sergiy Kolodyazhnyy
10
Możesz to zrobić bez instalowania dodatkowych pakietów:
Chciałem zasugerować, acpiale po przeczytaniu, że nie działa w 11.10, wpadłem na pomysł.
Wpisz to w swoim terminalu:
ls /proc/acpi/battery/BAT0 lubBAT1
Jeśli pojawi się „nie znaleziono pliku lub katalogu”, to nie zadziała.
Ale jeśli wyświetla listę plików, oto skrypt [wklej go do / usr / games / lub innego katalogu w $ PATH i uruchom sudo chmod +x /usr/games/batterypercent, lub jakkolwiek go nazwiesz], który właśnie dla ciebie napisałem, który da ci szacunkowy procent baterii [Patrz poniżej]:
(Uwaga, jeśli nie jest jeszcze zainstalowany, zainstaluj program calcz repo: sudo apt-get install apcalc)
Przetestowałem ten skrypt na moim laptopie. Podaję szacunek powyżej, ponieważ acpipokazuje 93% baterii, a mój skrypt pokazuje 90% baterii, więc wypróbuj ten skrypt w stosunku do procentowej baterii GUI i zobacz, jak jest źle. W moim przypadku wydaje się być konsekwentnie o 3% niższy niż procent acpi. W takim przypadku możesz dodać ten wiersz tuż przed ostatnim wierszem: percent=$((percent + 3))gdzie „3” to procent, o który jest niski.
** W moim lenovo bateria jest wymieniona jako BAT1, spróbuj tego też. (12,04 LTS)
Matt, wypróbował twoją sugestię, dostał „Brak pliku lub katalogu”
Joe,
Zgadzam się, okej, jestem prawie pewny, że to dlategoacpi nie działa, ponieważ wydaje mi się, że 11.10 nie obsługuje również funkcji ACPI twojego laptopa [bateria, itp.]. Myślę, że doświadczyłem czegoś takiego podczas aktualizacji w przeszłości. Nadal jestem 11.04. Przepraszam, że ci to nie zadziałało :(
Matt
Ciekawe, czy możesz wkleić wynik ls /proc/acpi/? Dzięki
Oto czego używam. Po prostu patrzy na różnicę między pełnym ładowaniem a bieżącym ładowaniem, a także sprawdza, czy ładunek spada, w którym to przypadku używa powiadomienia, aby ostrzec użytkownika.
#!/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
To nie pomoże wszystkim, ale zrobiło mi to - używam byobu za każdym razem, gdy korzystam z terminala, a bateria jest jedną z opcji paska powiadomień o stanie.
$ upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage"
Odpowiedzi:
Poniższe polecenie generuje wiele informacji o stanie i danych statystycznych dotyczących akumulatora.
/org/...
Ścieżka może być znaleziony z poleceniemupower -e
(--enumerate
).Przykładowe dane wyjściowe:
Możesz użyć narzędzi takich jak grep, aby uzyskać tylko potrzebne informacje z całego tego wyjścia.
Jeden prosty sposób: wpakowanie powyższego polecenia do
wyjścia:
Jeśli często chcesz uruchomić to polecenie, możesz utworzyć alias Bash dla całego polecenia. Przykład:
Dodaj to na końcu pliku .bashrc, a będziesz mógł wpisać „bat” w dowolnym momencie w terminalu.
Istnieje również polecenie
upower -d
(--dump
), które wyświetla informacje o wszystkich dostępnych zasobach energii, takich jak baterie laptopów, myszy zewnętrzne itp.źródło
upower --enumerate
może być przydatny, jeśli nie masz pewności, jak go używaćupower
.upower -e
, że polecenie wyświetla listę dostępnych ścieżekupower -i ...
. Jeśli jesteś leniwy i chcesz tylko listę wszystkich urządzeń, użyjupower -d
(upower --dump
).upower
, natychmiast się zgubiłem.upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"
Przypominamy : od jądra Linux 2.6.24 używając
/proc
do przechowywania informacji ACPI został zniechęcony i przestarzałe .Teraz zachęcamy do korzystania z ->
/sys/class/power_supply/BAT0
.AKTUALIZACJA: Linux 3.19 i nowsze wersje, powinniśmy spojrzeć na następujący katalog ->
/sys/class/power_supply/BAT1/
Na przykład sprawdzanie pojemności i statusu w Arch Linux z systemem Linux 4.20 ->
źródło
/sys/class/power_supply/BAT0/capacity
wydaje się , że pokazuje aktualny procent obciążenia./proc
jest przestarzałe, ale/sys
działa dla mnie idealnie, nawet w jądrze 4.20.read
funkcję podobną do PHP,$capacity = trim(file_get_contents("/sys/class/power_supply/BAT0/capacity"));
co czyni go bardzo łatwym i niezależnym od zewnętrznych zależności.Najpierw zainstaluj
acpi
, uruchamiając to polecenie,Następnie uruchomić:
Przykładowe dane wyjściowe:
Lub bardziej szczegółowe dane wyjściowe, które stale się aktualizują:
Wynik:
źródło
Dzięki @Wilf działa to na moim Ubuntu 17.10 na Lenovo Yoga 720:
Wynik:
Lub tylko wartość liczbowa z tym jednym linijkiem
źródło
battery
zamiastBAT
działać. Znalazłem to zupower --enumerate
.battery
działa również w Ubuntu, więc zmieniłem go zBAT
Wystarczy wpisać polecenie
Aby uzyskać szczegółowe informacje, możesz wpisać
Nie musiałem wcześniej instalować żadnych pakietów.
System: Debian 7.2 64bit
źródło
Oto artykuł na temat pakietu, który może sprawdzić żywotność baterii w wierszu poleceń.
Zasadniczo wszystko, co musisz zrobić, to:
źródło
Może możesz spróbować:
cat /proc/acpi/battery/BAT0/state
cat /proc/acpi/battery/BAT0/info
źródło
/proc
do przechowywania informacji ACPI jest odradzane i przestarzałe od 2.6.24. Teraz jest w środku/sys/class/power_supply/BAT0
.Jestem trochę spóźniony na przyjęcie, ale oto mój mały wkład. Opierając się na poprzednich odpowiedziach, stworzyłem prosty skrypt batpower:
Dane wyjściowe do wykonania tego (./batpower) będą wyglądać mniej więcej tak:
Uwaga: numer baterii może być dla Ciebie inny, w moim przypadku jest to BAT1, ale zawsze możesz go znaleźć, zapisując cd'ing na / sys / class / power_supply lub jak Lekensteyn wspomniał przez upower -e
Moja maszyna: Ubuntu 13.10, 3.11.0
Zamień BAT1 w powyższym kodzie bash na BAT0, jeśli masz starszą wersję Ubuntu, tj. 13.04 lub nowszą.
ULEPSZONY PISMO: Od czasu mojego oryginalnego posta wprowadziłem niewielką poprawę w skrypcie:
Jak zawsze, zwracaj uwagę na spacje za pomocą bash. Wszystko to jest oczywiste. Jeśli bateria jest obecna, pokaże się, jeśli nie - skrypt to powie. Teraz przejdź do pliku .bashrc i dodaj $ (batpower) do pytania. Oto mój promt:
Zaktualizuj terminal lub otwórz nową kartę lub okno, a teraz możesz stale monitorować poziom naładowania baterii w terminalu! w tym tty! Niech będzie chwalony skrypt!
źródło
/sys/class/power_supply/BAT0
i/sys/class/power_supply/BAT1
... Może być albo. I powinieneś użyć tej ścieżki (/sys/class/power_supply/BAT#
).Możesz to zrobić bez instalowania dodatkowych pakietów:
To polecenie jest usuwane ze źródła byobu . Może to być dobry kandydat na alias Bash .
źródło
/sys/class/power_supply/BAT0/
Uruchom następujące polecenie w terminalu, aby uzyskać szczegółowe informacje:
Jeśli chcesz tylko, aby stan:
źródło
Zainstaluj acpi, a następnie użyj
watch
do ciągłego monitorowania wiersza poleceń.Na przykład
watch --interval=5 acpi -V
pokaże informacje takie jak poniżej i będzie aktualizować co 5 sekund.
Pytanie brzmi, dlaczego ktoś miałby to zrobić? Cóż, mam laptopa ze zepsutym ekranem LCD, którego teraz używam jako mojego bittorrenta.
źródło
To zrobiło dla mnie zadanie w Ubuntu 14.04:
źródło
Chciałem zasugerować,
acpi
ale po przeczytaniu, że nie działa w 11.10, wpadłem na pomysł.Wpisz to w swoim terminalu:
ls /proc/acpi/battery/BAT0
lubBAT1
Jeśli pojawi się „nie znaleziono pliku lub katalogu”, to nie zadziała.
Ale jeśli wyświetla listę plików, oto skrypt [wklej go do / usr / games / lub innego katalogu w $ PATH i uruchom
sudo chmod +x /usr/games/batterypercent
, lub jakkolwiek go nazwiesz], który właśnie dla ciebie napisałem, który da ci szacunkowy procent baterii [Patrz poniżej]:(Uwaga, jeśli nie jest jeszcze zainstalowany, zainstaluj program
calc
z repo:sudo apt-get install apcalc
)Przetestowałem ten skrypt na moim laptopie. Podaję szacunek powyżej, ponieważ
acpi
pokazuje 93% baterii, a mój skrypt pokazuje 90% baterii, więc wypróbuj ten skrypt w stosunku do procentowej baterii GUI i zobacz, jak jest źle. W moim przypadku wydaje się być konsekwentnie o 3% niższy niż procent acpi. W takim przypadku możesz dodać ten wiersz tuż przed ostatnim wierszem:percent=$((percent + 3))
gdzie „3” to procent, o który jest niski.** W moim lenovo bateria jest wymieniona jako BAT1, spróbuj tego też. (12,04 LTS)
źródło
acpi
nie działa, ponieważ wydaje mi się, że 11.10 nie obsługuje również funkcji ACPI twojego laptopa [bateria, itp.]. Myślę, że doświadczyłem czegoś takiego podczas aktualizacji w przeszłości. Nadal jestem 11.04. Przepraszam, że ci to nie zadziałało :(ls /proc/acpi/
? DziękiPodobny skrypt bez obliczeń lub apcalc:
źródło
Oto czego używam. Po prostu patrzy na różnicę między pełnym ładowaniem a bieżącym ładowaniem, a także sprawdza, czy ładunek spada, w którym to przypadku używa powiadomienia, aby ostrzec użytkownika.
źródło
Za pomocą tego polecenia możemy powtórzyć tylko procent
65%
na wypadek, gdybyś musiał wyodrębnić tę wartość
źródło
To nie pomoże wszystkim, ale zrobiło mi to - używam byobu za każdym razem, gdy korzystam z terminala, a bateria jest jedną z opcji paska powiadomień o stanie.
źródło
Możesz albo wpisać:
lub
źródło
źródło
cat: /proc/acpi/ac_adapter/AC0/state: No such file or directory