Je voudrais une commande qui affiche l'état de la batterie dans le terminal.
La commande ci-dessous génère un état du lot et des informations statistiques sur la batterie. Le chemin /org/...
peut être trouvé avec la commande upower -e
(--enumerate
).
upower -i /org/freedesktop/UPower/devices/battery_BAT0
Exemple de sortie:
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
Vous pouvez utiliser des outils tels que grep pour obtenir uniquement les informations souhaitées à partir de toutes ces sorties.
Un moyen simple: en lançant la commande ci-dessus dans
grep -E "state|to\ full|percentage"
les sorties:
state: charging
time to full: 57.3 minutes
percentage: 42.5469%
Si vous souhaitez souvent exécuter cette commande, vous pouvez créer un alias Bash pour l'ensemble de la commande. Exemple:
alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'
Ajoutez cela à la fin de votre fichier .bashrc, et vous pouvez taper 'bat' à tout moment, dans le terminal.
Il existe également une commande upower -d
(--dump
) qui affiche des informations sur toutes les sources d'alimentation disponibles, telles que les batteries d'ordinateurs portables, les souris externes, etc.
n rappel amical: depuis le noyau Linux 2.6.24 utiliser /proc
pour stocker les informations ACPI a été déconseillé et déconseillé.
Nous sommes maintenant encouragés à utiliser -> /sys/class/power_supply/BAT0
.
UPDATE: Linux 3.19 et les versions ultérieures, nous devrions examiner le répertoire suivant -> /sys/class/power_supply/BAT1/
Par exemple, vérification de la capacité et du statut sur Arch Linux sous Linux 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
Installez d'abord acpi
en exécutant cette commande,
Sudo apt-get install acpi
Puis lancez:
acpi
Exemple de sortie:
Battery 0: Discharging, 61%, 01:10:12 remaining
Ou pour une sortie plus détaillée qui met à jour en permanence:
watch --interval=5 acpi -V
Sortie:
Toutes les 5.0s: acpi -V mer. 8 janv. 15:45:35 2014 Batterie 0: pleine, 100% Adaptateur 0: en ligne Thermique 0: ok, 44,0 ° C Thermique 0: le point de déclenchement 0 bascule en mode critique à la température de 127,0 ° C Thermique 0: le point de déclenchement 1 bascule en mode chaud à la température de 127,0 ° C Refroidissement 0: intel_powerclamp aucune information d'état disponible Refroidissement 1: pkg-temp-0 aucune information d'état disponible Refroidissement 2: LCD 100 sur 100 . Refroidissement 3: LCD 100 sur 100 Refroidissement 4: Processeur 0 sur 10 Refroidissement 5: Processeur 0 sur 10 Refroidissement 6: Processeur 0 sur 10 Refroidissement 7: Processeur 0 sur 10 Refroidissement 8: Processeur 0 sur 10 Refroidissement 9: Processeur 0 sur 10 Refroidissement 10: Processeur 0 sur 10 Refroidissement 11: Processeur 0 sur 10
Grâce à @Wilf, cela fonctionne sous Ubuntu 17.10 sous Lenovo Yoga 720:
upower -i $(upower -e | grep '/battery') | grep --color=never -E "state|to\ full|to\ empty|percentage"
Sortie:
state: fully-charged
percentage: 100%
Ou simplement la valeur numérique avec cette doublure
upower -i $(upower -e | grep '/battery') | grep --color=never -E percentage|xargs|cut -d' ' -f2|sed s/%//
Il suffit de taper la commande
acpi
name__
Pour des informations détaillées, vous pouvez taper
acpi -V
Je n'avais pas besoin d'installer de paquet avant.
Système: Debian 7.2 64bit
Here est un article sur un package permettant de vérifier la durée de vie de votre batterie sur la ligne de commande.
En gros, tout ce que vous avez à faire est de:
Sudo apt-get install acpi
acpi -V
Peut-être que vous pouvez essayer:
cat /proc/acpi/battery/BAT0/state
cat /proc/acpi/battery/BAT0/info
Je suis un peu en retard à la fête mais voici ma petite contribution. Sur la base des réponses précédentes, j'ai créé un script batpower simple:
#!/bin/bash
# Description: Battery charge in percentage
grep POWER_SUPPLY_CAPACITY /sys/class/power_supply/BAT1/uevent
La sortie pour exécuter ceci (./batpower) va ressembler à ceci:
POWER_SUPPLY_CAPACITY=23
N.B. : le numéro de batery peut être différent pour vous, dans mon cas, il s'agit de BAT1, mais vous pouvez toujours le trouver en vous connectant à/sys/class/power_supply ou comme Lekensteyn l'a mentionné via upower -e
Ma machine: Ubuntu 13.10, 3.11.0
Remplacez BAT1 dans le code bash ci-dessus par BAT si vous possédez une version plus ancienne Ubuntu c'est-à-dire 13.04 ou une version ultérieure.
AMÉLIORÉ LE SCRIPT: Depuis mon post original, j'ai apporté une petite amélioration au 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
Comme toujours, faites attention aux espaces avec bash. Ceci est tout à fait explicite. Si la batterie est présente, elle apparaîtra sinon, le script vous le dira. Maintenant, allez dans votre fichier .bashrc et ajoutez $ (batpower) à votre invite. Voici mon promt:
PS1='[$(batpower)]\n${debian_chroot:+($debian_chroot)}[*\u@Ubuntu*]:\w\$ '
Mettez à jour votre terminal ou ouvrez un nouvel onglet ou une nouvelle fenêtre. Vous pouvez désormais surveiller en permanence la charge de la batterie dans le terminal! y compris tty! Que les scripts soient loués!
Vous pouvez le faire sans installer de paquet supplémentaire:
$ 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%
Cette commande est levée de source de byob . Ce pourrait être un bon candidat pour un alias Bash .
Exécutez la commande suivante dans un terminal pour obtenir des informations détaillées:
cat /proc/acpi/battery/BAT0/info
Si vous voulez juste que l'Etat fasse:
cat /proc/acpi/battery/BAT0/state
Installez acpi, puis utilisez watch
pour surveiller en continu via la ligne de commande.
Par exemple.
watch --interval=5 acpi -V
montrera les informations telles que ci-dessous et se mettra à jour toutes les 5 secondes.
Batterie 0: Complète, 100%, information de taux indisponible
Batterie 0: capacité nominale 6000 mAh, dernière pleine capacité 3424 mAh = 57%
La question est pourquoi quelqu'un ferait ceci? Eh bien, j’ai un ordinateur portable avec un écran cassé LCD que je me sers maintenant de ma boîte bittorrent.
Cela a fait le travail pour moi dans Ubuntu 14.04:
cat /sys/class/power_supply/BAT0/capacity
J'allais suggérer acpi
mais après avoir lu cela ne fonctionnait pas dans 11.10, j'avais une idée.
Veuillez saisir ceci dans votre terminal: ls /proc/acpi/battery/BAT0
ou BAT1
Si vous obtenez un "fichier ou répertoire introuvable", cela ne fonctionnera pas.
Mais, s’il répertorie des fichiers, voici un script [collez-le dans/usr/games/ou dans un autre répertoire de $ PATH, puis exécutez Sudo chmod +x /usr/games/batterypercent
ou le nom de votre choix] que je viens d’écrire pour vous et qui vous donnera un pourcentage estimé de la batterie [voir ci-dessous]:
(Remarque, s'il n'est pas déjà installé, installez le programme calc
à partir du référentiel: 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)%
J'ai testé ce script sur mon ordinateur portable. Je dis une estimation ci-dessus, car acpi
affiche 93% de batterie et mon script indique 90% de batterie. hors c'est. Dans mon cas, il semble être systématiquement inférieur de 3% au pourcentage d'acpi. Dans ce cas, vous pouvez ajouter cette ligne juste avant la dernière ligne: percent=$((percent + 3))
, où "3" est le pourcentage le plus bas.
** Dans mon lenovo, la batterie est répertoriée comme BAT1, essayez cela aussi. (12.04 LTS)
Script similaire sans calc ou 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"
Nous pouvons faire écho au pourcentage avec cette commande
upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage" | awk '/perc/{print $2}'
65%
au cas où vous auriez besoin d'extraire cette valeur
Voici ce que j'utilise. Il se contente de regarder la différence entre la charge complète et la charge actuelle, ainsi que de voir si la charge baisse, auquel cas il utilise notify pour alerter l'utilisateur.
#!/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
Vous pouvez soit taper:
$ acpi -i
Battery 0: Discharging, 98%, 02:51:14 remaining
Battery 0: design capacity 4400 mAh, last full capacity 3733 mAh = 84%
ou
$ 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
Cela n’aidera pas tout le monde, mais c’est ce que j’utilise - j’utilise byob chaque fois que j’utilise un terminal, et la pile est l’une des options de la barre de notifications d’état.