В Интернете есть множество обучающих программ дляпроверка уровня заряда батареи в терминале Ubuntu. Наиболее распространенным решением, по-видимому, является использование upower
. Однако, когда я запускаю upower
оболочку WSL Ubuntu в Windows 10 на моем Surface Pro, я получаю следующее:
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 для 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 составляет/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, вы можете выполнить команду
sudo tlp stat -b