You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

华硕Ubuntu系统设置电池阈值的方法咨询

嘿,我之前帮不少华硕笔记本用户搞定过类似的电池阈值设置问题,针对你的VivoBook S14和Ubuntu 16.04,有几个可行的路子可以试试:

方案1:利用系统原生sysfs接口

很多华硕机型在Linux下已经支持通过sysfs直接设置充电阈值,你可以先检查是否有这个接口:

  • 打开终端,运行以下命令查看电池相关文件:
    ls /sys/class/power_supply/BAT0/
    
  • 如果你看到charge_control_end_threshold或者charge_stop_threshold这类文件,说明可以直接设置:
    # 设置充电上限为60%
    echo 60 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold
    
  • 这个设置重启后会失效,要让它永久生效,可以编辑/etc/rc.local文件:
    sudo nano /etc/rc.local
    
    exit 0这一行之前添加:
    echo 60 | tee /sys/class/power_supply/BAT0/charge_control_end_threshold
    
    保存退出后重启系统,设置就会自动生效了。
方案2:使用华硕专用工具asus-battery-charge-limit

这个开源工具专门针对华硕笔记本开发,能帮你轻松设置充电阈值,步骤如下:

  1. 先安装编译依赖:
    sudo apt install git build-essential
    
  2. 获取该工具的源码后,进入源码目录编译安装:
    cd asus-battery-charge-limit
    make && sudo make install
    
  3. 设置充电阈值为60%:
    sudo asus-battery-charge-limit set 60
    
  4. 开启开机自启,确保重启后设置依然有效:
    sudo systemctl enable asus-battery-charge-limit.service
    
方案3:尝试acpi-call模块(针对部分旧机型)

如果上面两个方案都不行,可以试试acpi-call模块,它能调用笔记本的ACPI方法来设置阈值:

  1. 安装模块:
    sudo apt install acpi-call-dkms
    
  2. 加载模块:
    sudo modprobe acpi_call
    
  3. 测试华硕常见的充电阈值设置命令(不同机型可能命令不同,你可以多尝试几个参数,比如把0x3C换成你需要的百分比对应的十六进制值,60的十六进制就是0x3C):
    echo "\_SB.PCI0.LPCB.EC0.VPC0.SBMC 0x03 0x3C 0x00 0x00 0x00 0x00 0x00 0x00" | sudo tee /proc/acpi/call
    
  4. 如果返回结果是0x00,说明设置成功。同样可以把这个命令加入/etc/rc.local或者创建systemd服务实现开机自启。
额外提示

Ubuntu 16.04是比较老旧的版本了,对新硬件的支持可能有限。如果上面的方法都不奏效,建议考虑升级到Ubuntu 20.04或更高版本,新版本的内核对华硕笔记本的电池管理支持会更好,说不定原生就能识别并设置充电阈值。

内容的提问来源于stack exchange,提问作者Théo Cheynel

火山引擎 最新活动