Strona główna
» LINUX
»
Jak sprawdzić baterię laptopa w systemie Linux z poziomu wiersza poleceń
Jak sprawdzić baterię laptopa w systemie Linux z poziomu wiersza poleceń
Użyj tego polecenia upower, aby sprawdzić poziom naładowania i stan ładowania laptopa z systemem Linux z poziomu terminala. Uruchom program upower -e, aby znaleźć urządzenie baterii, a następnie sprawdź je za pomocą upower -i. Aby oszacować zużycie baterii, porównaj podaną energię pełnego naładowania z energią oryginalnie zaprojektowaną. Procent naładowania informuje, ile energii pozostało w danej chwili; nie jest to procent stanu baterii.
Sprawdź baterię za pomocą UPower
1. Znajdź urządzenie z baterią
Otwórz terminal i wyświetl listę urządzeń zasilających, które UPower może zobaczyć:
upower -e
Wyszukaj ścieżkę zawierającą battery_, taką jak /org/freedesktop/UPower/devices/battery_BAT0. Sufiks może się różnić w zależności od laptopa. Dokumenty referencyjne polecenia UPower-e dotyczące enumeracji urządzeń i -iwyświetlania szczegółów urządzenia.
Przykładowa ścieżka urządzenia UPower; nazwa baterii w Twoim systemie może być inna.
2. Odczytaj aktualny stan naładowania i stan
Skopiuj ścieżkę baterii z wyników do tego polecenia. Zastąp przykładową ścieżkę, jeśli Twoja jest inna:
Wyszukaj percentagei state. Procent to aktualny poziom naładowania; stan zazwyczaj oznacza ładowanie, rozładowywanie lub pełne naładowanie. W zależności od baterii i oprogramowania sprzętowego, raport może również zawierać informacje o pozostałej energii, szacowany czas rozładowania lub naładowania oraz pełną pojemność. Szacunki czasu mogą być niedostępne, gdy laptop jest podłączony do zasilania, odczyty ulegają zmianie lub sprzęt nie zgłasza wystarczającej ilości danych. Pola te są definiowane w referencjach urządzeń UPower .
Przykładowe wartości wyjściowe mają charakter poglądowy; odczyty u Ciebie mogą być inne.
Zazwyczaj nie potrzebujesz powłoki roota do tych sprawdzeń tylko do odczytu. Uruchomienie jej sudo -sjako pierwszej jest zbędne i daje terminalowi szersze uprawnienia niż te wymagane przez to zadanie.
Sprawdź baterię bez UPower
Linux udostępnia obsługiwane odczyty zasilania poprzez /sys/class/power_supply/. Najpierw znajdź katalog, który identyfikuje się jako bateria:
for d in /sys/class/power_supply/*; do
[ -r "$d/type" ] && [ "$(cat "$d/type")" = "Battery" ] && printf '%s
' "$d"
done
Użyj ścieżki, którą wyświetla w miejscu /sys/class/power_supply/BAT0poniżej. Wiele laptopów używa BAT0, ale nazwa nie jest gwarantowana. Aby odczytać podstawowy status:
capacityto aktualny poziom naładowania od 0 do 100, a jednocześnie statuswskazuje, czy bateria się ładuje, rozładowuje, jest w pełni naładowana, czy nie. Dokumentacja zasilacza jądra Linuxa opisuje te atrybuty oraz dodatkowe odczyty dotyczące energii, naładowania, stanu i liczby cykli ładowania, które mogą udostępniać sterowniki.
Katalog baterii sysfs zawiera informacje na temat szybkiego procentu naładowania i stanu ładowania.
Oszacuj stan baterii na podstawie danych o jej pojemności
Akumulator może być naładowany w 100% i nadal gromadzić mniej energii niż w momencie zakupu. Jeśli UPower zgłasza zarówno , energy-fulljak i energy-full-design, porównaj je, aby oszacować, ile pozostało z pierwotnej pojemności:
upower -i /org/freedesktop/UPower/devices/battery_BAT0 | awk '
/energy-full:/ { full = $2 }
/energy-full-design:/ { design = $2 }
END {
if (full > 0 && design > 0)
printf "Estimated full-capacity health: %.1f%%
", 100 * full / design
else
print "Energy capacity data is unavailable"
}'
Na przykład, 45 Wh aktualnej pojemności pełnego naładowania podzielone przez 60 Wh pojemności projektowej daje szacunkowo 75%. Zastąp ścieżkę urządzenia znalezioną wcześniej. Jeśli brakuje pól energii, sprawdź dopasowanie charge-fulli charge-full-designzamiast tego wartości; porównaj parę o tych samych jednostkach. Nie dziel aktualnego naładowania lub energywartości przez pojemność projektową i nie nazywaj tego stanem – oznaczałoby to pomieszanie pozostałego naładowania z zużyciem baterii.
Liczba 75% to przykładowe wyliczenie, a nie odczyt z prawdziwego laptopa.
Niektóre nowsze kombinacje jądra i oprogramowania sprzętowego również udostępniają plik state_of_health. Jeśli taki plik istnieje, można go odczytać bezpośrednio, ale dokumentacja jądra wskazuje, że jego obliczenia mogą być specyficzne dla danego dostawcy. Odczyty pojemności są szacunkami pochodzącymi z kontrolera baterii; kalibracja, oprogramowanie sprzętowe i obsługa sprzętu wpływają na ich dokładność, dlatego należy traktować je jako trend, a nie pomiar laboratoryjny.
Opcjonalnie: użyj Battopa do podglądu terminala na żywo
Jeśli zależy Ci na interaktywnym interfejsie, który był dostępny w oryginalnym przewodniku, Battop to osobna przeglądarka baterii terminala. W pliku README projektu opisano instalację Arch za pomocą pomocnika AUR, prekompilowane wydania oraz kompilację ze źródeł. Jeśli Git i narzędzie Cargo w Rust są już zainstalowane, ścieżka kompilacji ze źródeł wygląda następująco:
git clone https://github.com/svartalf/rust-battop.git
cd rust-battop
cargo build --release
./target/release/battop
Zainstaluj Rust i Cargo za pomocą zaufanego źródła pakietów swojej dystrybucji lub oficjalnego instalatora Rustup . Battop jest opcjonalny: UPower lub sysfs mogą odpowiedzieć na podstawowe pytania dotyczące baterii bez konieczności dodawania kolejnego programu. Sprawdź battop -hdostępne opcje w zainstalowanej wersji.
Jeśli Linux nie wyświetla baterii
Jeśli upowerbrakuje, zainstaluj upowerpakiet z repozytoriów oprogramowania swojej dystrybucji, a następnie uruchom ponownie upower -e.
Jeśli polecenie wyświetli listę urządzeń, ale nie wyświetli baterii, sprawdź nazwy katalogów sysfs i upewnij się, że oprogramowanie sprzętowe laptopa udostępnia baterię systemowi Linux.
Jeśli pole pojemności lub stanu jest niedostępne, sterownik jądra może go nie udostępnić. Brak danych nie oznacza, że bateria jest sprawna lub uszkodzona; oznacza to, że metoda nie może zgłosić wartości.
Aby obserwować zmiany odczytów, uruchom urządzenie upower --monitor-detaili odłącz lub podłącz ponownie zasilanie. Naciśnij Ctrl+C, aby zatrzymać monitorowanie.