Come controllare la batteria di un laptop Linux dalla riga di comando

Pubblicato: 2022-08-20
Laptop Linux che mostra un prompt bash
fatmawati achmad zaenuri/Shutterstock.com

I computer portatili ti permettono di lavorare dove vuoi. Bene, fintanto che c'è vita nella batteria del tuo laptop. Ecco come controllare la batteria sulla riga di comando di Linux.

La batteria del portatile

Scollegato da un adattatore CA di rete, il tuo laptop dipende completamente dalla batteria per tutto. L'alimentazione dello schermo, l'utilizzo dei dischi rigidi, l'accesso al Wi-Fi e la lettura dell'input dell'utente subiscono un brusco arresto se la batteria non è all'altezza del lavoro.

I produttori non sono d'accordo sul fatto che lasciare un laptop sempre collegato sia una cosa positiva o negativa. Se non vuoi farlo, il tuo laptop di solito non sarà al 100% di carica della batteria quando esci con esso.

Devo lasciare il mio laptop sempre collegato?
CORRELATO Devo lasciare il mio laptop collegato tutto il tempo?

Anche le batterie diminuiscono durante la loro vita utile. Quindi una batteria più vecchia non è in grado di mantenere la stessa carica che aveva quando era nuova. Ed è molto improbabile che anche quando era nuovo, potresti ottenere ciò che il produttore ha affermato nella sua pubblicità.

Sapere che devi tenere d'occhio la carica della batteria è parte integrante dell'utilizzo di un laptop, ovviamente. Non è niente di nuovo. Ma cosa succede se è necessario controllare la batteria dalla riga di comando?

Forse sei fuori casa e ti connetti in remoto a un laptop di casa utilizzando SSH e non riesci a ricordare se è collegato o funziona con la batteria. Forse usi un laptop come server senza GUI o con un window manager affiancato e non hai una visualizzazione su schermo della carica della batteria.

Essere in grado di scoprire lo stato di alimentazione del tuo laptop dalla riga di comando significa che puoi includere anche queste tecniche negli script.

Controllare la batteria con upower

Il comando upower può essere utilizzato per scoprire quali fonti di alimentazione e batteria sono disponibili per il tuo laptop. Una volta che li hai scoperti puoi chiedere maggiori dettagli.

L'opzione -e (enumerate) elenca tutte le fonti di alimentazione che può trovare.

 upower -e 

Elenco dei dispositivi di alimentazione con upower

La prima voce è per l'adattatore CA. La seconda è la batteria. Potresti scoprire di avere diverse batterie nel tuo laptop. Inoltre, si noti che la prima batteria a volte è numerata uno e talvolta è numerata come zero, in base alle preferenze del produttore.

La voce "DisplayDevice" non è una fonte di alimentazione. È un dispositivo composito che rappresenta l'icona di stato da mostrare negli ambienti desktop.

Per dare un'occhiata più da vicino alla nostra batteria, useremo l'opzione -i (informazioni) e passeremo il descrittore completo per la batteria.

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

Esaminando la batteria con upower

Le due voci di maggior interesse sono il valore "Tempo di svuotamento" e il valore "Percentuale". Questi danno un'indicazione della durata che la batteria può continuare ad alimentare il laptop e la percentuale di carica rimanente nella batteria.

Uscita da upower con l'adattatore AC scollegato

Un punto importante da notare è che la durata è correlata all'attività corrente del laptop. Se il carico sul laptop aumenta, la durata diminuirà.

L'utilizzo del nostro laptop di prova in remoto tramite una connessione SSH significava che il display integrato del laptop non veniva utilizzato. Si è cancellato automaticamente dopo un breve periodo di tempo. Con lo schermo oscurato, la durata della batteria del laptop era di oltre un'ora in più rispetto allo schermo illuminato.

Se l'adattatore CA è collegato, le informazioni restituite da upower sono leggermente diverse.

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

Uscita da upower con l'adattatore AC collegato

Il valore "Time to Empty" è stato sostituito dal valore "Time to Full", che è il tempo rimasto prima che la batteria raggiunga il 100%. Anche il valore "nome icona" è stato modificato in "batteria-piena-ricarica-simbolica", riflettendo la presenza dell'alimentazione di rete.

Possiamo anche dare un'occhiata più approfondita all'adattatore AC.

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

Esaminando l'adattatore AC con upower, con l'adattatore collegato

Il valore "Online" visualizzerà "yes" se l'adattatore CA è collegato e "no" se è scollegato.

Esaminando l'adattatore AC con upower, con l'adattatore scollegato

Esame del contenuto di /sys/class/power_supply/

Su un laptop, la directory "/sys/class/power_supply/" contiene informazioni di cui possiamo fare buon uso. Due sottodirectory, "ACAD" e "BAT1", contengono informazioni a cui possiamo fare riferimento per verificare la capacità della batteria e se l'adattatore CA è collegato.

Nota che la sottodirectory della batteria potrebbe essere chiamata "BAT0" sul tuo laptop. Se hai più batterie installate sul tuo laptop, avrai più sottodirectory della batteria.

Un file chiamato "online" nella sottodirectory "ACAD" contiene la cifra uno se l'adattatore CA è collegato e la cifra zero in caso contrario.

Un file chiamato “capacity” nella sottodirectory “BAT1” contiene il valore dello stato di carica della batteria.

 ls /sys/class/power_supply/
 cat /sys/class/power_supply/ACAD/online
 cat /sys/class/power_supply/BAT1/capacity 

Verifica dei file online e della capacità con cat

Questo laptop ha l'adattatore CA collegato e la carica della batteria è dell'81%.

Poiché questi due valori sono presentati in modo semplice e disadorno, sono ideali per l'uso negli script.

Supponiamo che tu abbia uno script di backup che desideri eseguire solo se è presente l'alimentazione CA o se la carica della batteria è superiore al 70%. Questo stub di uno script mostra come potresti ottenerlo.

 #!/bin/bash

charge_level="$(cat /sys/class/power_supply/BAT1/capacity)"

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

if [[ adattatore_ac -eq 0 ]]; 

poi 

  se [[ livello_addebito < 70 ]]; 

  poi 

    echo "Carica della batteria insufficiente per il backup:" $charge_level 

  altro 

    echo "Carica sufficiente della batteria, avvio del backup:" $charge_level 

  fi 

altro

  echo "Alimentazione di rete, avvio backup." 

fi

Lo script ottiene i valori dai due file e li memorizza nelle variabili charge_level e ac_adapter .

Se l'adattatore CA non è collegato, il valore in ac_adapter sarà zero. In tal caso, lo script controlla la carica della batteria in charge_level . Se la carica della batteria è superiore al 70%, il backup viene eseguito.

Se l'adattatore CA è collegato, il backup viene eseguito e lo script non si preoccupa di controllare il valore di carica della batteria.

Copia lo script in un editor e salvalo come "battery.sh". Assicurati di utilizzare il percorso corretto per la sottodirectory della batteria sul tuo laptop.

Dobbiamo rendere eseguibile lo script con il comando chmod :

 chmod +x batteria.sh 

rendere eseguibile lo script

Ora possiamo eseguire lo script. L'adattatore CA è collegato.

 ./batteria.sh 

Esecuzione dello script con l'adattatore CA collegato

Scolleghiamo l'adattatore AC ed eseguiamolo di nuovo.

 ./batteria.sh 

Esecuzione dello script con l'adattatore CA scollegato

La condizione di alimentazione del laptop viene rilevata correttamente e lo script agisce di conseguenza.

Controllo della batteria con acpi

Se hai installato la configurazione avanzata e il pacchetto dell'interfaccia di alimentazione, puoi utilizzarlo per interrogare le condizioni della batteria e dell'alimentazione del laptop. Se non lo hai installato, è un piccolo pacchetto e si installa molto rapidamente.

Su Ubuntu, puoi installarlo con questo comando.

 sudo apt install acpi 

Installazione di acpi su Ubuntu

Su Fedora utilizzerai:

 sudo dnf installa acpi 

Installazione di acpi su Fedora

Su Manjaro dovresti digitare:

 sudo pacman -Sy acpi 

Installazione di acpi su Manjaro

Useremo il comando con l'opzione -a (adattatore AC) e poi ancora una volta con l'opzione -b (batteria). Infine, lo eseguiremo con l'opzione -b (batteria) e l'opzione -i (informazioni). Questo fornisce alcune informazioni in più, se disponibili.

 acpi -a
 acpi -b
 acpi -bi 

Controllo dell'adattatore CA e della batteria con acpi

Sapere è potere

E ora puoi acquisire conoscenze sulla potenza che alimenta il tuo laptop.

La possibilità di disporre di script per verificare se è presente l'alimentazione di rete o la carica della batteria sufficiente per eseguire attività a carico elevato o lunghe come immagini di sistema o aggiornamenti è particolarmente potente.

CORRELATI: Come massimizzare la durata della batteria del tuo laptop Linux