华硕笔记本在Linux系统下如何设置智能充电至80%后停止充电(电池保养模式)
- 内容介绍
- 文章标签
- 相关推荐
在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 - 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
开源地址:
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也对这个工具进行了介绍:
asusctl - ArchWiki - Arch Linux 教程
充电限制
使用以下命令设置电池充电限制
$ asusctl -c limit
其中 limit 的值介于 20 和 100 之间。
虽然这是rog(天选)的驱动,并非vivobook(无畏)系列的驱动,但是充电限制的功能都是ASUS通用的!
然后…就是把包下载下来解压运行了吧?对于Arch用户确实是这样的。
btw,I use Linux mint!
然而对于debian系的用户来说,这才仅仅是折腾的开始,由于没有现成的APT包,我们需要将源码拉取下来自行编译安装这个工具!
不过好在我发现了这个Github项目:
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
在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 - 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
开源地址:
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也对这个工具进行了介绍:
asusctl - ArchWiki - Arch Linux 教程
充电限制
使用以下命令设置电池充电限制
$ asusctl -c limit
其中 limit 的值介于 20 和 100 之间。
虽然这是rog(天选)的驱动,并非vivobook(无畏)系列的驱动,但是充电限制的功能都是ASUS通用的!
然后…就是把包下载下来解压运行了吧?对于Arch用户确实是这样的。
btw,I use Linux mint!
然而对于debian系的用户来说,这才仅仅是折腾的开始,由于没有现成的APT包,我们需要将源码拉取下来自行编译安装这个工具!
不过好在我发现了这个Github项目:
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

