La commande ci-dessous génère un état du lot et des informations statistiques sur la batterie. Le /org/...chemin peut être trouvé avec la commande 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
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.
upower --enumeratepeut être utile si vous ne savez pas comment l'utiliser upower.
Landroni
5
@landroni Et l'option abrégée est upower -e, cette commande répertorie les chemins disponibles pour upower -i .... Si vous êtes paresseux et que vous voulez juste une liste de tous les périphériques, utilisez upower -d( upower --dump).
Lekensteyn
1
En effet. Je pense que ce serait un ajout utile à la réponse elle-même, car lorsque j'ai essayé d'utiliser pour la première fois, upowerje me suis immédiatement perdu.
landroni
1
@landroni Bon point, j'ai mis à jour la réponse. N'hésitez pas à le modifier si vous avez d'autres ajouts connexes.
Lekensteyn
8
Une autre ligne pourrait êtreupower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"
Wilf
124
Rappel amical : depuis le noyau Linux 2.6.24, l’ utilisation /procde stocker les informations ACPI est découragée et obsolète .
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 -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
Plus précisément, /sys/class/power_supply/BAT0/capacitysemble montrer le pourcentage de charge actuel.
thomasa88
Obsolète… ça marche encore?
neverMind9
3
+1, cela devrait être la réponse acceptée, car il ne repose pas sur un logiciel supplémentaire qui pourrait ne pas être installé et qui n'est pas nécessaire pour répondre à cette question. @ neverMind9: Je ne sais pas ce que vous voulez dire, /procc'est déconseillé, mais cela /sysfonctionne parfaitement pour moi, même dans le noyau 4.20.
Comfreak
1
@ Comfreak fonctionne pour moi aussi, en fait.
neverMind9
1
Non seulement cela devrait être la réponse acceptable, mais la récupération des données peut être obtenue en utilisant n'importe quel langage de programmation ayant une readfonction similaire à PHP, $capacity = trim(file_get_contents("/sys/class/power_supply/BAT0/capacity"));ce qui le rend très facile et ne dépend d'aucune dépendance externe.
Amin NAIRI
67
D'abord installer acpien 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 degrés C
Thermique 0: le point de déclenchement 0 bascule en mode critique à une température de 127,0 degrés C
Thermique 0: le point de déclenchement 1 passe en mode chaud à une température de 127,0 degrés C
Cooling 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
utiliser /procpour stocker les informations ACPI est découragé et obsolète depuis le 2.6.24. Maintenant c'est dans /sys/class/power_supply/BAT0.
Terry Wang
14
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 simple batpower:
#!/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
NB: 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 BAT0 si vous possédez une version plus ancienne Ubuntu, c’est-à-dire 13.04 ou une version ultérieure.
SCRIPT AMÉLIORÉ: 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:
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 devez vérifier /sys/class/power_supply/BAT0et /sys/class/power_supply/BAT1... Ce peut être soit. Et vous devriez utiliser ce chemin ( /sys/class/power_supply/BAT#).
dylnmc
Dans mon netbook Ubuntu 12.04 (après le passage à BAT0), je ne semble pas avoir de ligne POWER_SUPPLY_CAPACITY. Il semble cependant que je puisse le calculer à partir des valeurs POWER_SUPPLY_CHARGE_FULL et POWER_SUPPLY_CHARGE_NOW.
mwfearnley
En revanche, Batman (Battery Manager) a inconsciemment un son plus séduisant que Batpower :) Sur une note plus sérieuse, il est intéressant que vous écriviez dans AskUbuntu en 2014 et à quel point vous êtes différent aujourd'hui.
WinEunuuchs2Unix le
@ WinEunuuuchs2Unix Oui, j'ai un peu changé depuis que j'ai commencé, j'ai appris quelques nouveaux trucs. batman aurait un bel effet, mais il est probable que le droit d’auteur soit protégé;)
Sergiy Kolodyazhnyy
10
Vous pouvez le faire sans installer de paquet supplémentaire:
Installez acpi, puis utilisez-le watchpour surveiller en continu via la ligne de commande.
Par exemple
watch --interval=5 acpi -V
montrera les informations telles que ci-dessous et sera mis à jour toutes les 5 secondes.
Batterie 0: pleine, 100%, information sur le débit non disponible
Batterie 0: capacité nominale 6000 mAh, dernière capacité totale 3424 mAh = 57%
La question est pourquoi quelqu'un ferait-il cela? Eh bien, j'ai un ordinateur portable avec un écran LCD cassé que j'utilise maintenant comme boîtier BitTorrent.
J'allais suggérer acpimais après avoir lu cela ne fonctionnait pas en 11h10, j'avais une idée.
Veuillez taper ceci dans votre terminal:
ls /proc/acpi/battery/BAT0 ouBAT1
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 et exécutez-le 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, si pas déjà installé, installez le programme à calcpartir du repo: sudo apt-get install apcalc)
J'ai testé ce script sur mon ordinateur portable. Je dis estimation ci-dessus, car il acpiaffiche une batterie de 93%, et mon script indique une batterie de 90%. Essayez donc ce script avec le pourcentage de batterie de votre interface graphique et voyez à quel point il est en panne. 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)
Matt, a essayé votre suggestion, a obtenu un "Aucun fichier ou répertoire"
Joe
Argh .. d'accord, je suis presque certain que c'est pour cette raison queacpi cela ne fonctionne pas, car je suppose que 11.10 ne prend pas en charge également les fonctions ACPI de votre ordinateur portable [batterie, etc.]. Je pense avoir déjà vécu quelque chose comme cela lors de la mise à niveau par le passé. Je suis toujours sur 11.04 cependant. Désolé que cela n'ait pas fonctionné pour toi :(
Matt
Alors, juste curieux, pouvez-vous coller le résultat de ls /proc/acpi/? Merci
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
Cela n’aidera pas tout le monde, mais c’est ce qui m’a été utile - j’utilise byobu chaque fois que j’utilise un terminal, et la pile est l’une des options de la barre de notifications d’état.
$ upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage"
Réponses:
La commande ci-dessous génère un état du lot et des informations statistiques sur la batterie. Le
/org/...
chemin peut être trouvé avec la commandeupower -e
(--enumerate
).Exemple de sortie:
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
les sorties:
Si vous souhaitez souvent exécuter cette commande, vous pouvez créer un alias Bash pour l'ensemble de la commande. Exemple:
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.la source
upower --enumerate
peut être utile si vous ne savez pas comment l'utiliserupower
.upower -e
, cette commande répertorie les chemins disponibles pourupower -i ...
. Si vous êtes paresseux et que vous voulez juste une liste de tous les périphériques, utilisezupower -d
(upower --dump
).upower
je me suis immédiatement perdu.upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"
Rappel amical : depuis le noyau Linux 2.6.24, l’ utilisation
/proc
de stocker les informations ACPI est découragée et obsolète .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 ->
la source
/sys/class/power_supply/BAT0/capacity
semble montrer le pourcentage de charge actuel./proc
c'est déconseillé, mais cela/sys
fonctionne parfaitement pour moi, même dans le noyau 4.20.read
fonction similaire à PHP,$capacity = trim(file_get_contents("/sys/class/power_supply/BAT0/capacity"));
ce qui le rend très facile et ne dépend d'aucune dépendance externe.D'abord installer
acpi
en exécutant cette commande,Puis lancez:
Exemple de sortie:
Ou pour une sortie plus détaillée qui met à jour en permanence:
Sortie:
la source
Grâce à @Wilf, cela fonctionne sous Ubuntu 17.10 sous Lenovo Yoga 720:
Sortie:
Ou juste la valeur numérique avec cette doublure
la source
battery
au lieu deBAT
le faire fonctionner. J'ai trouvé ça avecupower --enumerate
.battery
travaux dans Ubuntu aussi, donc je l'ai changé deBAT
Il suffit de taper la commande
Pour des informations détaillées, vous pouvez taper
Je n'avais pas besoin d'installer de paquet avant.
Système: Debian 7.2 64bit
la source
Voici un article sur un package permettant de contrôler la durée de vie de votre batterie en ligne de commande.
En gros, tout ce que vous avez à faire est de:
la source
Peut-être que vous pouvez essayer:
cat /proc/acpi/battery/BAT0/state
cat /proc/acpi/battery/BAT0/info
la source
/proc
pour stocker les informations ACPI est découragé et obsolète depuis le 2.6.24. Maintenant c'est dans/sys/class/power_supply/BAT0
.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 simple batpower:
La sortie pour exécuter ceci (./batpower) va ressembler à ceci:
NB: 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 BAT0 si vous possédez une version plus ancienne Ubuntu, c’est-à-dire 13.04 ou une version ultérieure.
SCRIPT AMÉLIORÉ: Depuis mon post original, j'ai apporté une petite amélioration au script:
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:
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!
la source
/sys/class/power_supply/BAT0
et/sys/class/power_supply/BAT1
... Ce peut être soit. Et vous devriez utiliser ce chemin (/sys/class/power_supply/BAT#
).Vous pouvez le faire sans installer de paquet supplémentaire:
Cette commande est levée de la source de Byobu . Ce pourrait être un bon candidat pour un alias Bash .
la source
/sys/class/power_supply/BAT0/
Exécutez la commande suivante dans un terminal pour obtenir des informations détaillées:
Si vous voulez juste que l'Etat fasse:
la source
Installez acpi, puis utilisez-le
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 sera mis à jour toutes les 5 secondes.
La question est pourquoi quelqu'un ferait-il cela? Eh bien, j'ai un ordinateur portable avec un écran LCD cassé que j'utilise maintenant comme boîtier BitTorrent.
la source
Cela a fait le travail pour moi dans Ubuntu 14.04:
la source
J'allais suggérer
acpi
mais après avoir lu cela ne fonctionnait pas en 11h10, j'avais une idée.Veuillez taper ceci dans votre terminal:
ls /proc/acpi/battery/BAT0
ouBAT1
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 et exécutez-le
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, si pas déjà installé, installez le programme à
calc
partir du repo:sudo apt-get install apcalc
)J'ai testé ce script sur mon ordinateur portable. Je dis estimation ci-dessus, car il
acpi
affiche une batterie de 93%, et mon script indique une batterie de 90%. Essayez donc ce script avec le pourcentage de batterie de votre interface graphique et voyez à quel point il est en panne. 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)
la source
acpi
cela ne fonctionne pas, car je suppose que 11.10 ne prend pas en charge également les fonctions ACPI de votre ordinateur portable [batterie, etc.]. Je pense avoir déjà vécu quelque chose comme cela lors de la mise à niveau par le passé. Je suis toujours sur 11.04 cependant. Désolé que cela n'ait pas fonctionné pour toi :(ls /proc/acpi/
? MerciScript similaire sans calc ou apcalc:
la source
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.
la source
Nous pouvons faire écho au pourcentage avec cette commande
65%
au cas où vous auriez besoin d'extraire cette valeur
la source
Cela n’aidera pas tout le monde, mais c’est ce qui m’a été utile - j’utilise byobu chaque fois que j’utilise un terminal, et la pile est l’une des options de la barre de notifications d’état.
la source
Vous pouvez soit taper:
ou
la source
la source
cat: /proc/acpi/ac_adapter/AC0/state: No such file or directory