¿Cómo puedo verificar el nivel de la batería en una Microsoft Surface desde un shell WSL Ubuntu?

¿Cómo puedo verificar el nivel de la batería en una Microsoft Surface desde un shell WSL Ubuntu?

Hay muchos tutoriales en línea paracomprobando el nivel de tu batería en un terminal ubuntu. La solución más común parece ser utilizar upower. Sin embargo, cuando ejecuto upowerun shell WSL Ubuntu en Windows 10 en mi Surface Pro, aparece esto:

user@sp4-2637:~/the_thing$ sudo upower

(upower:665): UPower-WARNING **: Cannot connect to upowerd: Could not connect: No such file or directory

Ejecutar con privilegios sudo produce el mismo resultado.

En mi computadora portátil con Ubuntu nativo puedo consultar el nivel de la batería de esta manera;

cat /sys/class/power_supply/BAT0/capacity

Sin embargo, esto da como resultado lo siguiente en mi Surface:

user@sp4-2637:~$ cat /sys/class/power_supply/BAT0/capacity
cat: /sys/class/power_supply/BAT0/capacity: No such file or directory

¿Cómo puedo consultar el nivel de batería en un shell WSL ubuntu para Microsoft Surface?

Respuesta1

Mientras escribía esta pregunta encontré la solución, así que pensé en compartirla.

No sé si esto es una peculiaridad del hardware Surface o de la versión WSL ubuntu, pero la estructura del directorio parece ser diferente en esta configuración:

user@sp4-2637:~$ ls /sys/class/power_supply/
ac  battery  usb

En lugar de buscar en el BAT0directorio, puedo encontrar el nivel de batería en battery:

user@sp4-2637:~$ cat /sys/class/power_supply/battery/capacity
100

Respuesta2

Mi Surface-Book-2 con shell WSL2 Ubuntu tiene el nivel de batería en/sys/class/power_supply/BAT1/capacity

Puede ser diferente según el hardware. Pruebe las siguientes ubicaciones

/sys/class/power_supply/BAT1/capacity
/sys/class/power_supply/BAT0/capacity
/sys/class/power_supply/battery/capacity

Respuesta3

Si tlp es un paquete disponible en el shell WSL Ubuntu, puede ejecutar el comando

sudo tlp stat -b

información relacionada