网上有很多教程在 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