Jak sprawdzić baterię laptopa z systemem Linux z wiersza poleceń?

Opublikowany: 2022-08-20
Laptop z systemem Linux wyświetlający monit o bash
fatmawati achmad zaenuri/Shutterstock.com

Laptopy pozwalają pracować gdziekolwiek chcesz. Cóż, tak długo, jak bateria twojego laptopa jest naładowana. Oto jak sprawdzić baterię w wierszu poleceń systemu Linux.

Bateria do laptopa

Odłączony od zasilacza sieciowego Twój laptop jest całkowicie zależny od baterii we wszystkim. Zasilanie ekranu, korzystanie z dysków twardych, dostęp do sieci Wi-Fi i odczytywanie danych wprowadzanych przez użytkownika — wszystko to nagle się zatrzymuje, jeśli bateria nie jest w stanie sprostać pracy.

Producenci nie mogą się zgodzić, czy pozostawienie laptopa podłączonego przez cały czas jest dobre, czy złe. Jeśli nie chcesz tego robić, Twój laptop zwykle nie będzie naładowany w 100%, gdy z nim wychodzisz.

Czy powinienem zostawiać laptopa podłączonego przez cały czas?
Czy powinienem zostawiać laptopa podłączonego przez cały czas?

Baterie również zmniejszają się wraz z ich żywotnością. Tak więc starsza bateria nie jest w stanie utrzymać tego samego ładunku, co wtedy, gdy była nowa. I jest bardzo mało prawdopodobne, że nawet gdy była nowa, można było uzyskać to, co producent twierdził w swojej reklamie.

Świadomość, że musisz mieć oko na poziom naładowania baterii, jest oczywiście nieodłączną częścią korzystania z laptopa. To nic nowego. Ale co, jeśli musisz sprawdzić baterię z wiersza poleceń?

Być może jesteś poza domem i zdalnie łączysz się z laptopem w domu za pomocą SSH i nie pamiętasz, czy jest podłączony, czy działa na baterii. Być może używasz laptopa jako serwera bez graficznego interfejsu użytkownika lub z kafelkowym menedżerem okien i nie masz wyświetlania na ekranie stanu naładowania baterii.

Możliwość sprawdzenia stanu zasilania laptopa w wierszu poleceń oznacza, że ​​możesz również uwzględnić te techniki w skryptach.

Sprawdzanie baterii za pomocą upower

Polecenia upower można użyć, aby dowiedzieć się, jakie źródła zasilania sieciowego i baterii są dostępne dla twojego laptopa. Gdy je odkryjesz, możesz poprosić o więcej szczegółów.

Opcja -e (enumerate) wyświetla listę wszystkich źródeł zasilania, jakie może znaleźć.

 moc -e 

Lista urządzeń zasilających z upower

Pierwszy wpis dotyczy zasilacza sieciowego. Drugi to bateria. Może się okazać, że w laptopie masz kilka baterii. Zwróć też uwagę, że pierwsza bateria ma czasem jeden, a czasem zero, zgodnie z preferencjami producenta.

Wpis „DisplayDevice” nie jest źródłem zasilania. Jest to urządzenie złożone, które reprezentuje ikonę stanu wyświetlaną w środowiskach graficznych.

Aby przyjrzeć się bliżej naszej baterii, użyjemy opcji -i (informacja) i przekażemy pełny deskryptor baterii.

 upower -i /org/freedesktop/UPower/urządzenia/bateria_BAT1 

Badanie baterii za pomocą upower

Dwie najbardziej interesujące pozycje to wartość „Czas do opróżnienia” i wartość „Procent”. Dają one wskazanie czasu, przez jaki bateria może nadal zasilać laptopa, oraz procent pozostałego naładowania baterii.

Wyjście z upower przy odłączonym zasilaczu AC

Ważną kwestią, na którą należy zwrócić uwagę, jest to, że czas trwania jest związany z bieżącą aktywnością laptopa. Jeśli obciążenie laptopa wzrośnie, ten czas trwania ulegnie skróceniu.

Zdalne korzystanie z naszego testowego laptopa przez połączenie SSH oznaczało, że wbudowany wyświetlacz laptopa nie był używany. Po krótkim czasie wygasł automatycznie. Przy wygaszonym ekranie żywotność baterii laptopa była o ponad godzinę dłuższa niż przy podświetlonym ekranie.

Jeśli zasilacz jest podłączony, informacje zwracane przez upower są nieco inne.

 upower -i /org/freedesktop/UPower/urządzenia/bateria_BAT1 

Wyjście z upower z podłączonym zasilaczem AC

Wartość „Czas do opróżnienia” została zastąpiona wartością „Czas do pełnego naładowania”, czyli czasem pozostałym do osiągnięcia 100% poziomu naładowania baterii. Wartość „nazwa ikony” również została zmieniona na „symboliczny pełny-naładowany-akumulator”, co odzwierciedla obecność zasilania sieciowego.

Możemy też dokładniej przyjrzeć się zasilaczowi.

 upower -i /org/freedesktop/UPower/devices/line_power_ACAD 

Sprawdzanie zasilacza sieciowego z zasilaniem, z podłączonym zasilaczem

Wartość „Online” wyświetli „tak”, jeśli zasilacz jest podłączony i „nie”, jeśli jest odłączony.

Sprawdzanie zasilacza sieciowego z zasilaniem z odłączonym zasilaczem

Badanie zawartości /sys/class/power_supply/

Na laptopie katalog „/sys/class/power_supply/” zawiera informacje, które możemy dobrze wykorzystać. Dwa podkatalogi — „ACAD” i „BAT1” — zawierają informacje, do których możemy się odwołać, aby sprawdzić pojemność baterii i czy zasilacz jest podłączony.

Zauważ, że podkatalog baterii może nosić nazwę „BAT0” na twoim laptopie. Jeśli w laptopie jest zainstalowanych wiele baterii, będziesz mieć wiele podkatalogów baterii.

Plik o nazwie „online” w podkatalogu „ACAD” zawiera cyfrę jedynkę, jeśli zasilacz sieciowy jest podłączony, a cyfrę zero, jeśli nie jest.

Plik o nazwie „pojemność” w podkatalogu „BAT1” zawiera wartość stanu naładowania baterii.

 ls /sys/class/power_supply/
 kot /sys/class/power_supply/ACAD/online
 kot /sys/class/power_supply/BAT1/pojemność 

Sprawdzanie plików online i pojemności za pomocą cat

Ten laptop ma podłączony zasilacz sieciowy, a poziom naładowania baterii wynosi 81%.

Ponieważ te dwie wartości są przedstawione w prosty i pozbawiony ozdób sposób, idealnie nadają się do użycia w skryptach.

Załóżmy, że masz skrypt kopii zapasowej, który chcesz wykonać tylko wtedy, gdy obecne jest zasilanie prądem zmiennym lub gdy poziom naładowania baterii przekracza 70%. Ten fragment skryptu pokazuje, jak możesz to osiągnąć.

 #!/kosz/bash

charge_level="$(cat /sys/class/power_supply/BAT1/pojemność)"

ac_adapter="$(cat /sys/class/power_supply/ACAD/online)"

if [[ ac_adapter -eq 0 ]]; 

następnie 

  jeśli [[ poziom_ładowania < 70 ]]; 

  następnie 

    echo "Niewystarczający poziom naładowania baterii do tworzenia kopii zapasowej:" $charge_level 

  w przeciwnym razie 

    echo "Wystarczający poziom naładowania baterii, rozpoczynam tworzenie kopii zapasowej:" $charge_level 

  fi 

w przeciwnym razie

  echo "Włączone zasilanie sieciowe, rozpoczynam tworzenie kopii zapasowej." 

fi

Skrypt pobiera wartości z dwóch plików i przechowuje je w zmiennych charge_level i ac_adapter .

Jeśli zasilacz nie jest podłączony, wartość w ac_adapter będzie wynosić zero. W takim przypadku skrypt sprawdza poziom naładowania baterii w charge_level . Jeśli poziom naładowania baterii przekracza 70%, kopia zapasowa działa.

Jeśli zasilacz jest podłączony, kopia zapasowa jest uruchamiana, a skrypt nie przejmuje się sprawdzaniem stanu naładowania baterii.

Skopiuj skrypt do edytora i zapisz go jako „battery.sh”. Upewnij się, że używasz prawidłowej ścieżki do podkatalogu baterii na swoim laptopie.

Musimy sprawić, by skrypt wykonywał się za pomocą polecenia chmod :

 chmod +x bateria.sh 

uczynienie skryptu wykonywalnym

Teraz możemy uruchomić skrypt. Zasilacz sieciowy jest podłączony.

 ./bateria.sh 

Uruchamianie skryptu z podłączonym zasilaczem AC

Odłączmy zasilacz sieciowy i uruchommy go ponownie.

 ./bateria.sh 

Uruchamianie skryptu z odłączonym zasilaczem AC

Stan zasilania laptopa jest prawidłowo wykrywany, a skrypt działa odpowiednio.

Sprawdzanie baterii za pomocą acpi

Jeśli masz zainstalowany pakiet zaawansowanej konfiguracji i interfejsu zasilania, możesz go użyć do sprawdzenia stanu baterii i zasilania laptopa. Jeśli nie masz go zainstalowanego, jest to mały pakiet i instaluje się bardzo szybko.

W Ubuntu możesz go zainstalować za pomocą tego polecenia.

 sudo apt zainstaluj acpi 

Instalowanie acpi na Ubuntu

W Fedorze będziesz używać:

 sudo dnf zainstaluj acpi 

Instalowanie acpi w Fedorze

Na Manjaro powinieneś wpisać:

 sudo pacman -Sy acpi 

Instalowanie acpi na Manjaro

Użyjemy polecenia z opcją -a (zasilacz sieciowy), a następnie ponownie z opcją -b (bateria). Na koniec uruchomimy go z opcją -b (bateria) oraz -i (informacje). Daje to trochę dodatkowych informacji, jeśli są dostępne.

 acpi-a
 acpi -b
 acpi-bi 

Sprawdzanie zasilacza sieciowego i baterii za pomocą acpi

Wiedza to potęga

A teraz możesz zdobyć wiedzę na temat mocy zasilającej Twój laptop.

Możliwość posiadania skryptów sprawdzających, czy jest zasilanie sieciowe lub wystarczająca moc baterii do wykonywania dużych lub długich zadań, takich jak obrazy systemu lub aktualizacje, jest szczególnie wydajna.

POWIĄZANE: Jak zmaksymalizować żywotność baterii laptopa z systemem Linux?