如何从 WSL Ubuntu shell 检查 Microsoft Surface 上的电池电量?

如何从 WSL Ubuntu shell 检查 Microsoft Surface 上的电池电量?

网上有很多教程在 ubuntu 终端中检查电池电量。最常见的解决方案似乎是使用upower。但是,当我upower在 Surface Pro 上的 Windows 10 中运行 WSL Ubuntu shell 时,出现以下情况:

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

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

使用 sudo 权限运行会产生相同的结果。

在运行原生 Ubuntu 的笔记本电脑上,我可以像这样查询电池电量;

cat /sys/class/power_supply/BAT0/capacity

但是,这会导致我的 Surface 出现以下情况:

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

如何在 WSL ubuntu shell 中查询 Microsoft Surface 的电池电量?

答案1

当我写这个问题时,我找到了解决方案,所以我想分享它。

我不知道这是 Surface 硬件还是 WSL ubuntu 版本的特殊之处,但在此设置中目录结构似乎有所不同:

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

我不用在目录中查找,而是BAT0可以在以下位置找到电池电量battery

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

答案2

我的 Surface-Book-2 配备 WSL2 Ubuntu shell,电池电量为/sys/class/power_supply/BAT1/capacity

可能因硬件而异。请尝试以下位置

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

答案3

如果 tlp 是 WSL Ubuntu shell 上可用的包,则可以运行以下命令

sudo tlp stat -b

相关内容