华硕笔记本在Linux系统下如何设置智能充电至80%后停止充电(电池保养模式)

2026-04-13 12:522阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

在windows环境下,如果华硕笔记本要长时间连接电源,可直接进入自带的华硕管家打开“电池保养模式”,这样即可让电池充至80%后停止充电改为由电源供电来防止电池持续过充。

这功能在windows环境下很好实现,但在Linux环境下,事情就变得没这么简单了…
图片1465×586 64.1 KB
先说一下我使用的是Linux mint环境:
图片680×284 37.9 KB
首先原生linux是不支持充电限制的功能的,但好在linux社区提供了一个开源的工具提供了这个功能,这个工具就是:asusctl

安装asusctl

开源地址:

https://gitlab.com/asus-linux/asusctl

Arch linux wiki也对这个工具进行了介绍:

https://wiki.archlinux.org.cn/title/Asusctl
充电限制

使用以下命令设置电池充电限制 $ asusctl -c limit 其中 limit 的值介于 20 和 100 之间。

虽然这是rog(天选)的驱动,并非vivobook(无畏)系列的驱动,但是充电限制的功能都是ASUS通用的!

然后…就是把包下载下来解压运行了吧?对于Arch用户确实是这样的。

btw,I use Linux mint!

然而对于debian系的用户来说,这才仅仅是折腾的开始,由于没有现成的APT包,我们需要将源码拉取下来自行编译安装这个工具!
不过好在我发现了这个Github项目:

github.com

GitHub - andreas-glaser/asus-linux-mint: An automated installation script for asusctl and...

An automated installation script for asusctl and supergfxctl on ASUS ROG/TUF laptops running Linux Mint.

图片680×379 41.9 KB
好在我的问题已经有国外大神遇到过了,留了个非常方便的编译脚本,允许一键编译安装asusctl以及各种依赖!
挂梯子后打开终端

curl -sSL https://raw.githubusercontent.com/andreas-glaser/asus-linux-mint/main/install-asus-linux.sh | bash

然后等代码跑完后开始菜单里出现了GUI程序
图片104×111 5.48 KB

我使用的是Linux mint环境如下:



其具体配置如图

首先原生linux是不支持充电限制的功能的,但好在linux社区提供了一个开源的工具提供了这个功能,这个工具就是:asusctl

安装asusctl

开源地址:

GitLab

asus-linux / asusctl · GitLab

https://asus-linux.org/ : A control daemon, CLI tools, and a collection of crates for interacting with ASUS ROG laptops

Arch linux wiki也对这个工具进行了介绍:

wiki.archlinux.org.cn

asusctl - ArchWiki - Arch Linux 教程

充电限制

使用以下命令设置电池充电限制

$ asusctl -c limit

其中 limit 的值介于 20 和 100 之间。

虽然这是rog(天选)的驱动,并非vivobook(无畏)系列的驱动,但是充电限制的功能都是ASUS通用的!

然后…就是把包下载下来解压运行了吧?对于Arch用户确实是这样的。

btw,I use Linux mint!

然而对于debian系的用户来说,这才仅仅是折腾的开始,由于没有现成的APT包,我们需要将源码拉取下来自行编译安装这个工具!

不过好在我发现了这个Github项目:

github.com

GitHub - andreas-glaser/asus-linux-mint: An automated installation script for asusctl and...

An automated installation script for asusctl and supergfxctl on ASUS ROG/TUF laptops running Linux Mint.



好在我的问题已经有国外大神遇到过了,留了个非常方便的编译脚本,允许一键编译安装asusctl以及各种依赖!

挂梯子后打开终端

shell

curl -sSL https://raw.githubusercontent.com/andreas-glaser/asus-linux-mint/main/install-asus-linux.sh | bash

然后等代码跑完后开始菜单里出现了GUI程序



但是直接双击打开是没有反应的,因为asusd服务没有启动,我们需要在终端里面

systemctl start asusd asusctl battery limit 80

这个时候就可以发现,充电限制起作用了!ROG Control Center也能打开了!
图片680×400 38.3 KB

设置开机自启动

然而,你会发现,重启后就又失效了这是因为我们手动安装的asusd服务并没有设置自启动,理论上我们可以直接通过systemctl enable asusd来设置开机自启动的,但是!这个服务居然没有service文件!这就要我们手动编写一下了

打开终端,然后输入

sudo nano /etc/systemd/system/asusd.service *粘贴以下内容 [Unit] Description=ASUS Notebook Control Daemon After=dbus.service Requires=dbus.service [Service] Type=simple ExecStart=/usr/bin/asusd Restart=on-failure RestartSec=2 [Install] WantedBy=multi-user.target *保存执行后输入 sudo systemctl daemon-reload sudo systemctl enable asusd sudo systemctl start asusd

这样,就能够实现开机自启了吗?只能说,如自启

问题在于,这么搞下来,asusd服务确实能够开机自启了,GUI也能打开了,但是尼玛重启后配置全部恢复成默认了,给我气笑了

排查一番后这个工具并没有写入EC,仅仅通过daemon运行时设置,没有写入EC是因为这玩意没有类似于asusd.conf/asusctl.conf…等配置文件!!!!简直离大谱,service文件没有就算了,.conf配置文件都没有,这已成艺术了,什么逆天设计

没办法,我们需要让系统每次开机都执行一次asusctl battery limit 80

打开终端,我操作

sudo nano /etc/systemd/system/asus-battery-limit.service *粘贴以下代码 [Unit] Description=Set ASUS Battery Charge Limit After=asusd.service Requires=asusd.service [Service] Type=oneshot ExecStart=/bin/bash -c "sleep 3 && /usr/bin/asusctl battery limit 80" [Install] WantedBy=multi-user.target *写入后执行 sudo systemctl daemon-reload sudo systemctl enable asus-battery-limit.service

然后重启后打开终端输入

systemctl status asusd

图片650×514 84.6 KB
总算是成功了!
结语:Linux社区驱动就是这么离谱,相当于直接把厨房的调料甩给你,想要吃饭还得自己手动做饭,真的太“极客”了。

一个在windows里的GUI几秒钟就能完成的操作在Linux中那是各种折腾,或许…这,就是极客吧awa

Linux离不开命令行,就像福瑞离不开兽设

:3

网友解答:
--【壹】--:

ww
厉害喵
btw,I use Arch


--【贰】--:

popos怎么办


--【叁】--:

linux发行版之间的悲欢并不相通


--【肆】--:

关于楼主说的折腾,我觉得可以这么来看


--【伍】--:

之前瞅见了个ghelper的linux移植版,不过不知道兼容性做的怎么样


--【陆】--:

Linux 就是毛坯房,懂装修的人能做得很好。


--【柒】--:

太强了,建议给一个标签 Linux

另外,不知道 tlp 有没有这个功能


--【捌】--:

猜你想搜:g-helper-linux

😋695×973 97.3 KB

xiaohuangbo:

asusctl

😋709×186 16.5 KB

我的坠机堡垒2(不掉网卡版)装了个双系统试了一下没什么问题,而且也提供了bash一键脚本,挺方便的并且还是纯C#实现(安全这一块/.

curl -sL https://raw.githubusercontent.com/utajum/g-helper-linux/master/install/install.sh | sudo bash