Como posso verificar o nível da bateria em um Microsoft Surface a partir de um shell WSL Ubuntu?

Como posso verificar o nível da bateria em um Microsoft Surface a partir de um shell WSL Ubuntu?

Existem muitos tutoriais online paraverificando o nível da bateria em um terminal Ubuntu. A solução mais comum parece ser usar upower. No entanto, quando executo upowerum shell WSL Ubuntu no Windows 10 no meu Surface Pro, recebo o seguinte:

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

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

Executar com privilégios sudo produz o mesmo resultado.

No meu laptop rodando o Ubuntu nativo, posso consultar o nível da bateria assim;

cat /sys/class/power_supply/BAT0/capacity

No entanto, isso resulta no seguinte no meu Surface:

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

Como posso consultar o nível da bateria em um shell WSL do Ubuntu para um Microsoft Surface?

Responder1

Ao escrever esta pergunta, encontrei a solução, então pensei em compartilhá-la.

Não sei se isso é uma peculiaridade do hardware Surface ou da versão WSL ubuntu, mas a estrutura de diretórios parece ser diferente nesta configuração:

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

Em vez de procurar no BAT0diretório, posso encontrar o nível da bateria em battery:

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

Responder2

Meu Surface-Book-2 com shell WSL2 Ubuntu tem o nível de bateria em/sys/class/power_supply/BAT1/capacity

Pode ser diferente dependendo do hardware. Experimente os seguintes locais

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

Responder3

Se tlp for um pacote disponível no shell WSL Ubuntu, você pode executar o comando

sudo tlp stat -b

informação relacionada