在 Ubuntu 中控制电池充电

在 Ubuntu 中控制电池充电

我使用的是华硕笔记本电脑,型号为:华硕 VivoBook 15 X510。我已将其与Windows 10 专业版Ubuntu 20.04

在“华硕笔记本电脑”中,有一个名为“华硕电池健康充电”的驱动程序。此驱动程序用于控制笔记本电脑的电池充电容量,仅在 Windows 操作系统中工作。您可以从这里。您可以看到我选择了最大使用寿命模式,即笔记本电脑插入电源时,充电量仅为 60%。一旦我按照我提供的方式更改设置,每次登录 Windows 操作系统时它都不会改变。

但是当启动 Ubuntu 操作系统时,驱动程序不起作用,并且最高充电量为 100%。(我知道总是充电到 100% 对电池健康不利)。在 Ubuntu 中,我找不到任何驱动程序来控制电池充电水平。

但是我可以找到这个命令并且使用它。

echo 60 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold

此命令成功,运行命令后电池电量未超过 60%。输出可以从这里。但每当我重新启动计算机时,它都会再次将设置更改为 100% 最大充电。因此,每次登录 Ubuntu 操作系统时,我都需要从终端输入上述代码,以将充电水平限制为最大 60%。

我也在专门针对 Ubuntu 的不同论坛中寻找可靠的方法,但找不到合适的解决方案。

有人能告诉我如何在 Ubuntu 操作系统中永久限制笔记本电脑电池的充电吗?

提前致谢。

答案1

从 bash 终端尝试以下命令行:

crontab -e

  • 然后选择 nano 编辑器
  • 添加以下命令

@reboot root echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold

  • 然后保存并退出

这应该配置电池设置,以便重新启动时电池充电水平不超过 60%。

答案2

下列的如何在 Linux-Unix 中设置电池充电阈值以限制 ThinkPad 和其他笔记本电脑的充电作者:Ajay Yadav:

识别保存阈值的文件,例如

ls --recursive /sys/class/power_supply/BAT*

查找类似这样的文件名: charge_control_end_thresholdcharge_control_start_threshold

创建 systemd 服务:

sudo vim /etc/systemd/system/battery-charge-threshold.service

粘贴以下内容以 85% 开始和 90% 停止:

[Unit]
Description=Set the battery charge threshold
After=multi-user.target
StartLimitBurst=0

[Service]
Type=oneshot
Restart=on-failure
ExecStart=/bin/bash -c 'echo 85 > /sys/class/power_supply/BAT0/charge_control_start_threshold; echo 90 > /sys/class/power_supply/BAT0/charge_control_end_threshold'

[Install]
WantedBy=multi-user.target

# To enable on boot
systemctl enable battery-charge-threshold.service
# To start now
systemctl start battery-charge-threshold.service

相关内容