Sep*_*ero 27 laptop ubuntu-netbook power-management environment
如果笔记本电脑开机并连接到交流电源,有没有办法发出命令告诉它不要给电池充电?
编辑:
如果有办法让系统认为电池已经充电到 100%,那么电池充电可能会停止。
在 Thinkpad 设备上,您可以控制Ubuntu 中电池充电的开始和停止。在终端中运行这些命令进行安装tp-smapi
:
sudo apt-get install tp-smapi-dkms
sudo modprobe tp_smapi
Run Code Online (Sandbox Code Playgroud)
然后将所需的充电阈值(您自己的值)写入以下虚拟文件/sys/devices/platform/smapi
:
echo 10 | sudo tee /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 100 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh
Run Code Online (Sandbox Code Playgroud)
在上述命令中,您可以将值 10 和 100 更改为任何值。第一个将帮助您选择充电必须在什么级别开始,第二个值将让您选择充电必须在什么级别停止。
您无法从用户空间使用任何已知的软件界面禁用充电。实际上,电池控制来自/sys/class/power_supply/BAT0
ACPI _BIF、_BIX 和 _BST 控制返回的静态和动态读数,这些都是只读的。
没有允许您禁用电池充电的 ACPI 控件,并且在我曾经研究过的所有常见 x86 移动平台上,电池控件都没有公开。通常,此数据来自电池电量计,并且通常由嵌入式控制器使用位冲击 i2c 读取。因此,您实际上几乎没有机会对此进行逆向工程,并且大多数情况下都不允许禁用电池充电。
/sys/class/power_supply/BAT0/charge_control_end_threshold
我可以通过设置为su将阈值设置为 60% 60
。Ubuntu 显示充电图标,但充电不会超过 60%。电池充电指示灯 LED 也变成白色,表示充电已停止,就像 Windows 上华硕“电池寿命模式”激活时的行为一样。此外,该文件在每次启动时都会重置为 100,您可能需要添加一条规则以在启动时将其设置为 60。
来源。我没有足够的声誉来评论这个问题,所以我用自己的经历来回答。请注意,大多数使用此方法的人都拥有华硕笔记本电脑,并且华硕默认在 Windows 上具有类似的功能。我非常怀疑这是否会产生影响,但一位使用 Ideapad 的用户表示他们找不到该文件。ThinkPad 用户应尝试使用TLP的电池阈值设置。
编辑:注意,这似乎是一种非常肮脏的方法,导致我的机器在某些情况下无法启动。这花了我很多尝试才弄清楚,因为它似乎在某些时间起作用,并且在睡眠后无法启动。
编辑 2:看起来这个解决方案实际上在Arch Wiki上有很好的记录。事实上,他们已经为我在编辑中引用的问题提供了解决方法,请参阅休眠后持续部分,其中提供了睡眠后黑屏问题的解决方法。
这高度依赖于硬件。大多数笔记本电脑在硬件级别上不会允许您停止对电池充电。LION 电池实际上受益于小的充电-充电周期,并且大多数笔记本电脑都会在硬件级别内置该周期。
这意味着电池指示器显示 100%,实际上电池正在放电和充电,以保持其健康。此外,对于大多数笔记本电脑来说,100% 并不是已满。
有些 Windows 笔记本电脑有“禁用充电”选项,但这只是镍镉电池的倒退。如今,“设置”所做的只是启用“性能”模式。
如果您正在寻找相同类型的开关,那么我推荐Jupiter。它将允许您轻松地在性能模式之间切换,但同样不能直接控制充电。
因为停止充电周期对于当前的电池来说非常糟糕,所以它不是很受欢迎。因为它并不流行,我怀疑您是否会找到一个好的 GUI 工具来完成它。您最好的选择可能是环顾/sys/class/power_supply/BAT0
类似的区域,看看能找到什么,但我很确定,您将无法禁用充电。
归档时间: |
|
查看次数: |
27302 次 |
最近记录: |