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

qua*_*ant 4 battery windows-subsystem-for-linux

有很多在线教程可用于检查 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
Run Code Online (Sandbox Code Playgroud)

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

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

cat /sys/class/power_supply/BAT0/capacity
Run Code Online (Sandbox Code Playgroud)

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

user@sp4-2637:~$ cat /sys/class/power_supply/BAT0/capacity
cat: /sys/class/power_supply/BAT0/capacity: No such file or directory
Run Code Online (Sandbox Code Playgroud)

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

qua*_*ant 6

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

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

user@sp4-2637:~$ ls /sys/class/power_supply/
ac  battery  usb
Run Code Online (Sandbox Code Playgroud)

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

user@sp4-2637:~$ cat /sys/class/power_supply/battery/capacity
100
Run Code Online (Sandbox Code Playgroud)