El siguiente comando genera un estado de lote e información estadística sobre la batería. La /org/...ruta se puede encontrar con el comando 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
Podría usar herramientas como grep para obtener solo la información que desea de toda esa salida.
Una forma simple: canalizar el comando anterior en
grep -E "state|to\ full|percentage"
salidas:
state: charging
time to full: 57.3 minutes
percentage: 42.5469%
Si a menudo le gustaría ejecutar ese comando, entonces podría hacer un alias Bash para todo el comando. Ejemplo:
alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'
Agregue eso al final de su archivo .bashrc, y puede escribir 'bat' en cualquier momento, en la terminal.
También hay un comando upower -d( --dump) que muestra información para todos los recursos de energía disponibles, como baterías de portátiles, ratones externos, etc.
upower --enumeratepuede ser útil si no está seguro de cómo usarlo upower.
landroni
55
@landroni Y la opción abreviada es upower -eque ese comando enumera las rutas disponibles para upower -i .... Si eres perezoso y solo quieres una lista de todos los dispositivos, usa upower -d( upower --dump).
Lekensteyn
1
En efecto. Creo que esta sería una adición útil a la respuesta en sí, ya que cuando intenté usarla por primera vez upowerme perdí.
landroni
1
@landroni Buen punto, he actualizado la respuesta. Siéntase libre de editarlo si tiene más adiciones relacionadas.
Específicamente, /sys/class/power_supply/BAT0/capacityparece mostrar el porcentaje de carga actual.
thomasa88
En desuso ... ¿sigue funcionando?
neverMind9
3
+1, esta debería ser la respuesta aceptada, ya que no se basa en software adicional que podría no estar instalado y no es necesario para responder esta pregunta. @ neverMind9: No sé a qué te refieres, /procestá en desuso pero /sysfunciona perfectamente para mí, incluso en el kernel 4.20.
Comfreak
1
@comfreak también funciona para mí, en realidad.
neverMind9
1
No solo esta debería ser la respuesta aceptada, sino que la recuperación de los datos se puede lograr mediante el uso de cualquier lenguaje de programación que tenga una readfunción como en PHP, $capacity = trim(file_get_contents("/sys/class/power_supply/BAT0/capacity"));lo que lo hace súper fácil y no depende de ninguna dependencia externa.
Amin NAIRI
67
Primero instale acpiejecutando este comando,
sudo apt-get install acpi
Entonces corre:
acpi
Salida de muestra:
Battery 0: Discharging, 61%, 01:10:12 remaining
O para una salida más detallada que se actualiza constantemente:
watch --interval=5 acpi -V
Salida:
Cada 5.0s: acpi -V mié 8 de enero 15:45:35 2014
Batería 0: llena, 100%
Adaptador 0: en línea
Térmico 0: ok, 44.0 grados C
Térmico 0: el punto de disparo 0 cambia al modo crítico a una temperatura de 127.0 grados C
Térmico 0: el punto de disparo 1 cambia al modo caliente a una temperatura de 127.0 grados C
Enfriamiento 0: intel_powerclamp no hay información de estado disponible
Enfriamiento 1: pkg-temp-0 no hay información de estado disponible
Enfriamiento 2: LCD 100 de 100
Enfriamiento 3: LCD 100 de 100
Enfriamiento 4: Procesador 0 de 10
Enfriamiento 5: Procesador 0 de 10
Enfriamiento 6: Procesador 0 de 10
Enfriamiento 7: Procesador 0 de 10
Enfriamiento 8: Procesador 0 de 10
Enfriamiento 9: Procesador 0 de 10
Enfriamiento 10: Procesador 0 de 10
Enfriamiento 11: Procesador 0 de 10
El uso /procpara almacenar información ACPI ha sido desaconsejado y en desuso desde 2.6.24. Ahora está adentro /sys/class/power_supply/BAT0.
Terry Wang
14
Llego un poco tarde a la fiesta, pero aquí está mi pequeña contribución. En base a las respuestas anteriores, he creado una potencia de secuencia de comandos simple:
#!/bin/bash
# Description: Battery charge in percentage
grep POWER_SUPPLY_CAPACITY /sys/class/power_supply/BAT1/uevent
La salida para ejecutar esto (./batpower) será algo como esto:
POWER_SUPPLY_CAPACITY=23
NB: el número de la batería puede ser diferente para usted, en mi caso es BAT1, pero siempre puede averiguarlo haciendo clic en / sys / class / power_supply o como Lekensteyn mencionó a través de upower -e
Mi máquina: Ubuntu 13.10, 3.11.0
Reemplace BAT1 en el código bash anterior a BAT0 si tiene una versión anterior de Ubuntu, es decir, 13.04 o posterior.
SCRIPT MEJORADO: desde mi publicación original, he realizado una pequeña mejora en el 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
Como siempre, preste atención a los espacios con bash. Todo esto se explica por sí mismo. Si la batería está presente, aparecerá, de lo contrario, el script se lo indicará. Ahora, vaya a su archivo .bashrc y agregue $ (batpower) a su solicitud. Aquí está mi mensaje:
Actualice su terminal o abra una nueva pestaña o ventana, ¡y ahora puede controlar la carga de la batería constantemente en la terminal! incluyendo tty! ¡Que se elogien las secuencias de comandos!
Necesita verificar /sys/class/power_supply/BAT0y /sys/class/power_supply/BAT1... Puede ser cualquiera. Y deberías usar esa ruta ( /sys/class/power_supply/BAT#).
dylnmc
En mi netbook Ubuntu 12.04 (después de cambiar a BAT0), parece que no obtengo una línea POWER_SUPPLY_CAPACITY. Sin embargo, parece que podría calcularlo a partir de los valores POWER_SUPPLY_CHARGE_FULL y POWER_SUPPLY_CHARGE_NOW.
mwfearnley
Upvoted pero Batman (Battery Manager) inconscientemente suena mejor que Batpower :) En una nota seria, es interesante que estuvieras escribiendo en AskUbuntu en 2014 y cuán diferente eres hoy.
WinEunuuchs2Unix
@ WinEunuuuchs2Unix Sí, he cambiado un poco desde que empecé, aprendí algunos trucos nuevos. Batman tendría un buen anillo, pero es probable que tenga derechos de autor;)
Sergiy Kolodyazhnyy
10
Puede hacerlo sin instalar ningún paquete adicional:
Instale acpi, luego use watchpara monitorear continuamente a través de la línea de comando.
P.ej
watch --interval=5 acpi -V
mostrará la información que se muestra a continuación y se actualizará cada 5 segundos.
Batería 0: completa, 100%, información de velocidad no disponible
Batería 0: capacidad de diseño 6000 mAh, última capacidad total 3424 mAh = 57%
La pregunta es ¿por qué alguien haría esto? Bueno, tengo una computadora portátil con pantalla LCD rota que ahora estoy usando como mi caja de bittorrent.
Iba a sugerir, acpipero después de leerlo no funciona en 11.10, tuve una idea.
Escriba esto en su terminal:
ls /proc/acpi/battery/BAT0 oBAT1
Si obtiene un "archivo o directorio no encontrado", entonces esto no va a funcionar.
Pero, si enumera archivos, entonces aquí hay un script [péguelo en / usr / games / u otro directorio en $ PATH, y ejecútelo sudo chmod +x /usr/games/batterypercent, o lo que sea que usted nombre] que acabo de escribir para usted que le dará un porcentaje estimado de batería [Vea abajo]:
(Tenga en cuenta que, si aún no está instalado, instale el programa calcdesde el repositorio sudo apt-get install apcalc) :
He probado este script en mi computadora portátil. Digo estimar arriba porque acpimuestra 93% de batería, y mi script muestra 90% de batería, así que intente este script contra su porcentaje de batería de GUI y vea qué tan apagado está. En mi caso, parece ser consistentemente un 3% más bajo que el porcentaje de acpi. En ese caso, puede agregar esta línea justo antes de la última línea: percent=$((percent + 3))donde "3" es el porcentaje bajo.
** En mi lenovo, la batería aparece como BAT1, inténtalo también. (12.04 LTS)
Matt, probó su sugerencia, obtuvo un "Sin archivo o directorio"
Joe
Argh ... bueno, estoy casi seguro de que es por esoacpi que no funciona, porque supongo que 11.10 tampoco es compatible con las funciones ACPI de su computadora portátil [batería, etc.]. Creo que he experimentado algo como esto al actualizar en el pasado. Sin embargo, todavía estoy en 11.04. Lo siento, esto no funcionó para ti :(
Matt
Entonces, por curiosidad, ¿puedes pegar la salida de ls /proc/acpi/? Gracias
Aquí está lo que uso. Simplemente observa la diferencia entre la carga completa y la carga actual, así como para ver si la carga está cayendo, en cuyo caso utiliza la notificación para alertar al usuario.
#!/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
Esto no ayudará a todos, pero a mí sí. Utilizo byobu cada vez que uso un terminal, y la batería es una de las opciones para la barra de notificaciones de estado.
$ upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage"
Respuestas:
El siguiente comando genera un estado de lote e información estadística sobre la batería. La
/org/...
ruta se puede encontrar con el comandoupower -e
(--enumerate
).Salida de ejemplo:
Podría usar herramientas como grep para obtener solo la información que desea de toda esa salida.
Una forma simple: canalizar el comando anterior en
salidas:
Si a menudo le gustaría ejecutar ese comando, entonces podría hacer un alias Bash para todo el comando. Ejemplo:
Agregue eso al final de su archivo .bashrc, y puede escribir 'bat' en cualquier momento, en la terminal.
También hay un comando
upower -d
(--dump
) que muestra información para todos los recursos de energía disponibles, como baterías de portátiles, ratones externos, etc.fuente
upower --enumerate
puede ser útil si no está seguro de cómo usarloupower
.upower -e
que ese comando enumera las rutas disponibles paraupower -i ...
. Si eres perezoso y solo quieres una lista de todos los dispositivos, usaupower -d
(upower --dump
).upower
me perdí.upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage"
Un recordatorio amistoso : desde el kernel de Linux 2.6.24 que se utiliza
/proc
para almacenar información ACPI se ha desaconsejado y desaprobado .Ahora se nos recomienda usar ->
/sys/class/power_supply/BAT0
.ACTUALIZACIÓN: Linux 3.19 y en adelante, debemos mirar el siguiente directorio ->
/sys/class/power_supply/BAT1/
Por ejemplo, verificar la capacidad y el estado en Arch Linux con Linux 4.20 ->
fuente
/sys/class/power_supply/BAT0/capacity
parece mostrar el porcentaje de carga actual./proc
está en desuso pero/sys
funciona perfectamente para mí, incluso en el kernel 4.20.read
función como en PHP,$capacity = trim(file_get_contents("/sys/class/power_supply/BAT0/capacity"));
lo que lo hace súper fácil y no depende de ninguna dependencia externa.Primero instale
acpi
ejecutando este comando,Entonces corre:
Salida de muestra:
O para una salida más detallada que se actualiza constantemente:
Salida:
fuente
Gracias a @Wilf esto funciona en mi Ubuntu 17.10 en Lenovo Yoga 720:
Salida:
O simplemente el valor numérico con este delineador
fuente
battery
lugar deBAT
hacerlo funcionar. Lo encontré conupower --enumerate
.battery
trabajos en Ubuntu también, así que lo cambié deBAT
Es suficiente escribir el comando
Para obtener información detallada, puede escribir
No tuve que instalar ningún paquete antes.
Sistema: Debian 7.2 64bit
fuente
Aquí hay un artículo sobre un paquete que puede verificar la duración de la batería en la línea de comando.
Básicamente, todo lo que tienes que hacer es:
fuente
Quizás puedas probar:
cat /proc/acpi/battery/BAT0/state
cat /proc/acpi/battery/BAT0/info
fuente
/proc
para almacenar información ACPI ha sido desaconsejado y en desuso desde 2.6.24. Ahora está adentro/sys/class/power_supply/BAT0
.Llego un poco tarde a la fiesta, pero aquí está mi pequeña contribución. En base a las respuestas anteriores, he creado una potencia de secuencia de comandos simple:
La salida para ejecutar esto (./batpower) será algo como esto:
NB: el número de la batería puede ser diferente para usted, en mi caso es BAT1, pero siempre puede averiguarlo haciendo clic en / sys / class / power_supply o como Lekensteyn mencionó a través de upower -e
Mi máquina: Ubuntu 13.10, 3.11.0
Reemplace BAT1 en el código bash anterior a BAT0 si tiene una versión anterior de Ubuntu, es decir, 13.04 o posterior.
SCRIPT MEJORADO: desde mi publicación original, he realizado una pequeña mejora en el script:
Como siempre, preste atención a los espacios con bash. Todo esto se explica por sí mismo. Si la batería está presente, aparecerá, de lo contrario, el script se lo indicará. Ahora, vaya a su archivo .bashrc y agregue $ (batpower) a su solicitud. Aquí está mi mensaje:
Actualice su terminal o abra una nueva pestaña o ventana, ¡y ahora puede controlar la carga de la batería constantemente en la terminal! incluyendo tty! ¡Que se elogien las secuencias de comandos!
fuente
/sys/class/power_supply/BAT0
y/sys/class/power_supply/BAT1
... Puede ser cualquiera. Y deberías usar esa ruta (/sys/class/power_supply/BAT#
).Puede hacerlo sin instalar ningún paquete adicional:
Este comando se levanta de la fuente de byobu . Podría ser un buen candidato para un alias Bash .
fuente
/sys/class/power_supply/BAT0/
Ejecute el siguiente comando en una terminal para obtener información detallada:
Si solo quieres que el estado haga:
fuente
Instale acpi, luego use
watch
para monitorear continuamente a través de la línea de comando.P.ej
watch --interval=5 acpi -V
mostrará la información que se muestra a continuación y se actualizará cada 5 segundos.
La pregunta es ¿por qué alguien haría esto? Bueno, tengo una computadora portátil con pantalla LCD rota que ahora estoy usando como mi caja de bittorrent.
fuente
Esto hizo el trabajo para mí en ubuntu 14.04:
fuente
Iba a sugerir,
acpi
pero después de leerlo no funciona en 11.10, tuve una idea.Escriba esto en su terminal:
ls /proc/acpi/battery/BAT0
oBAT1
Si obtiene un "archivo o directorio no encontrado", entonces esto no va a funcionar.
Pero, si enumera archivos, entonces aquí hay un script [péguelo en / usr / games / u otro directorio en $ PATH, y ejecútelo
sudo chmod +x /usr/games/batterypercent
, o lo que sea que usted nombre] que acabo de escribir para usted que le dará un porcentaje estimado de batería [Vea abajo]:(Tenga en cuenta que, si aún no está instalado, instale el programa
calc
desde el repositoriosudo apt-get install apcalc
) :He probado este script en mi computadora portátil. Digo estimar arriba porque
acpi
muestra 93% de batería, y mi script muestra 90% de batería, así que intente este script contra su porcentaje de batería de GUI y vea qué tan apagado está. En mi caso, parece ser consistentemente un 3% más bajo que el porcentaje de acpi. En ese caso, puede agregar esta línea justo antes de la última línea:percent=$((percent + 3))
donde "3" es el porcentaje bajo.** En mi lenovo, la batería aparece como BAT1, inténtalo también. (12.04 LTS)
fuente
acpi
que no funciona, porque supongo que 11.10 tampoco es compatible con las funciones ACPI de su computadora portátil [batería, etc.]. Creo que he experimentado algo como esto al actualizar en el pasado. Sin embargo, todavía estoy en 11.04. Lo siento, esto no funcionó para ti :(ls /proc/acpi/
? GraciasScript similar sin calc ni apcalc:
fuente
Aquí está lo que uso. Simplemente observa la diferencia entre la carga completa y la carga actual, así como para ver si la carga está cayendo, en cuyo caso utiliza la notificación para alertar al usuario.
fuente
Podemos hacer eco del porcentaje con ese comando
sesenta y cinco%
en caso de que necesite extraer ese valor
fuente
Esto no ayudará a todos, pero a mí sí. Utilizo byobu cada vez que uso un terminal, y la batería es una de las opciones para la barra de notificaciones de estado.
fuente
Puedes escribir:
o
fuente
fuente
cat: /proc/acpi/ac_adapter/AC0/state: No such file or directory