我有一台华硕 ROG GL503 笔记本电脑,预装了华硕电池健康充电软件。该软件允许我将电池充电水平限制在 60% 以延长电池总寿命。每当我使用 Ubuntu(18.04) 启动时,我的电池都会持续充电,直到达到 100%。有什么方法可以将电池充电限制在一定水平?
答案1
我编写了一个简短的 Python 脚本,以便在我的 ROG 笔记本电脑上更轻松地切换阈值。(ROG STRIX G731GU)。
请以管理员身份运行脚本。(例如sudo python3 scriptname.py
)
power_cfg = open("/sys/class/power_supply/BAT0/charge_control_end_threshold", "r")
print("Current Charge Threshold:")
print(power_cfg.read())
power_cfg = open("/sys/class/power_supply/BAT0/charge_control_end_threshold", "w")
change_opt = input("Change? y/n: ")
if(change_opt == "y"):
ch_val = input("Enter New Value: ");
power_cfg.write(ch_val);
请让我知道这是否适用于您的机器。
答案2
据我所知,在通用笔记本电脑或笔记本中,没有软件触发的硬件开关在达到某个点后关闭电源。
但是,您可以运行一个可以通知的后台脚本/警报当您达到所需电池电量百分比时。
请参阅此链接了解如何收听电池电量:
如何编写脚本来“监听”电池状态并在电量高于 60% 或低于 40% 时提醒我?
但它仍然不会实现自动化。
答案3
为华硕笔记本电脑提供 Github 解决方案
您现在可以使用与原始 ASUS 实用程序具有相同行为的实用程序关联:
安装这个预编译的二进制文件时,我设置了一个阈值,只能将笔记本电脑电池充电至 60%,但无论如何您都可以选择您喜欢的阈值。
我在装有 ubuntu 20.04 的 Asus vivobook pro 15 N580GD 中成功使用 Bat。
这是 GIT 链接: https://github.com/leveson/bat
预编译的二进制文件(Linux x86-64)可从 GitHub 发布页面获取,最新版本可从以下位置下载:这里。
就我而言,我只下载了预编译的二进制文件并将其复制到目录
sudo cp bat /usr/local/bin/
这样您就可以从系统中的任意路径的命令行使用它,并根据需要设置电池阈值(请参阅下面的命令)
要求
Linux 内核版本高于 5.4,这是最早公开电池充电阈值变量的版本。还需要至少 244 版的 systemd 和大多数 Linux 发行版中捆绑的 Bash。
命令
检查电流阈值
bat -t
将阈值设置为您喜欢的值(我建议 60%)
sudo bat -t 60
使修改后的阈值持久化
sudo bat -p
使当前阈值仅对当前会话有效
sudo bat -r
显示当前电量
sudo bat -c
显示当前充电状态
sudo bat -s