开源liquidctl:替代iCUE和CAM的水冷控制器


liquidctl 是一个跨平台的命令行工具和 Python 驱动集合,用于控制 AIO 一体式水冷散热器及其他 PC 硬件设备。它旨在替代各硬件厂商自带的控制软件(如 NZXT CAM、Corsair iCUE 等),提供统一、轻量、可脚本化的控制方式。

主要特点

  • 跨平台支持:可在 Linux、macOS、Windows、FreeBSD 和 DragonFly BSD 上运行
  • 命令行界面:提供直观的 CLI 命令,用于查看状态、调节风扇/水泵转速、控制 RGB 灯光
  • Python API:提供完整的 Python 驱动接口,便于开发者编写自定义监控和控制程序
  • JSON 输出:支持 --json 标志,方便脚本和程序解析数据
  • 开机自启:支持 systemd(Linux)、Task Scheduler(Windows)等多种自动化方案

电脑里装了一堆控制软件?一个命令全搞定!

你的水冷、风扇、灯光,凭什么让五六个厂家软件同时占着后台!

liquidctl是一款跨平台命令行工具,能用同一套命令控制NZXT水冷、海盗船风扇、芝奇内存灯光等几十种硬件设备,彻底告别每装一个硬件就得装一个控制软件的噩梦。



你电脑里到底装了多少个“控制中心”

攒过台式机的人都知道一个秘密,那就是电脑装好之后真正折腾人的不是硬件本身,而是那一堆不得不装的厂家软件。买个NZXT的水冷,得装CAM;买个海盗船的风扇,得装iCUE;买个芝奇的内存条,又得装个RGB控制软件。每装一个硬件,后台就多一个常驻进程,开机启动项越来越长,任务管理器里的进程列表越来越吓人。

更气人的是,这些软件一个比一个吃资源。iCUE动辄占用几百兆内存,CAM时不时给你推送个更新弹窗,你明明只想调个风扇转速,却被迫装了一整个“游戏中心”或者“灯光生态平台”。有用户在论坛里吐槽,为了控制三个不同牌子的硬件,他电脑里同时运行着五个厂家软件,内存占用加起来快赶上半个游戏了。

这不是个案,这是整个PC硬件行业的潜规则,卖硬件的厂家靠软件锁用户,逼你装他们的全家桶。你买一个水冷,实际上买的是一个水冷加一个你根本不想用的软件套餐。

但事情没那么简单。有一群人偏偏不认这个理,他们写了一个叫liquidctl的开源工具,试图用一套命令搞定所有厂家的硬件。这个项目在GitHub上已经攒了超过2600颗星,两百多个分支。它不做界面、不做动画、不搞社交分享,只做一件事,让你用命令行控制你的水冷、风扇和灯光。

这就怪了,一个连图形界面都没有的命令行工具,凭什么让这么多人放弃厂家精心打磨的“控制中心”?



liquidctl到底是什么,凭什么能管这么多牌子

liquidctl是一个跨平台的命令行工具和Python驱动集合,专门用来控制AIO一体式水冷散热器以及其他PC硬件设备。说白了,它把不同厂家硬件的底层通信协议给逆向出来了,然后封装成统一的命令格式。

你在终端里敲一行liquidctl list,它就能把电脑上所有兼容的设备全部列出来。NZXT的Kraken水冷、海盗船的Hydro系列、EVGA的CLC、华硕的Ryujin,统统认得出。再敲一行liquidctl status,液体温度、风扇转速、水泵转速全部显示在屏幕上。

关键是它还跨平台。Linux能用、macOS能用、Windows能用,连FreeBSD和DragonFly BSD都能用。这在硬件控制软件里几乎是个异类,你去看看NZXT CAM有Linux版吗?没有。海盗船iCUE有macOS版吗?也没有。但liquidctl全都有,而且在一个终端里统一控制。

支持的设备列表长得吓人。从NZXT全系Kraken水冷,到海盗船的Hydro系列和Commander Pro控制器,再到EVGA的CLC系列、华硕的Ryujin和Ryuo系列、联力的Uni Fan控制器、芝奇的Vengeance RGB内存,甚至还能管一部分华硕和EVGA显卡的RGB灯。最新版本还加入了华硕Ryujin III 360、联力GA II LCD、NZXT 2024款Kraken Plus等新款设备的支持。

一个工具管几十种设备,这听起来很美好。但问题是,你确定它真的能管你手上那块硬件吗?



支持的设备列表很长,但你可能正好踩坑

liquidctl的支持列表确实在持续扩充,但“支持”这两个字的含义很微妙。有些设备是完美支持,所有功能都能用;有些是部分支持,只能控制风扇不能调灯光;还有些需要你换驱动或者用特定版本。

更麻烦的是新设备。2024年市面上新出的水冷,liquidctl很可能还没跟上。有用户反馈Corsair iCUE H150i Elite RGB白色版在1.13.0稳定版里认不出来,因为这个设备的支持是在两个月后才加到代码库里的。解决方案不是等官方发布新版本,而是自己去GitHub克隆最新源码手动安装。

Linux内核更新也可能翻车。2024年9月Linux内核升级到6.11之后,一大批liquidctl用户发现软件崩溃了,报错“No such device or address”。解决办法是降级内核到6.10,或者等liquidctl更新适配。这对普通用户来说几乎是不可能完成的操作。

还有设备冲突的问题。有用户同时装了liquidctl和OpenRGB,结果风扇开始循环重启,卸载liquidctl之后OpenRGB就恢复正常了。两个开源工具抢同一个硬件的控制权,后果比厂家软件打架还难排查。

所以liquidctl的真实情况是,它能管很多设备,但未必能管你的设备;就算能管,也未必能管全;就算管全了,下次系统更新可能又不行了。这就像一个万能遥控器,理论上能控制所有品牌的电视,但实际操作起来,你得先搞清楚你家电视的型号在不在支持列表里、固件版本对不对、遥控器要不要刷机。

但即便如此,还是有越来越多的人选择用它。为什么?因为厂家软件实在让人忍不了了。



命令行控制硬件,听起来反人类但用起来真香

liquidctl最大的劝退点就是没有图形界面。你打开终端,敲命令,看文字反馈,一切操作全靠键盘。这在2026年听起来像是回到了DOS时代。

但恰恰是这个“缺点”,成了它最大的优势。

没有图形界面意味着没有后台进程常驻。你调完风扇转速、设好灯光颜色,命令执行完就结束了,不会有一个几百兆的进程在后台偷偷跑着。不会弹窗告诉你“有更新可用”,不会在你打游戏的时候突然跳出来抢焦点,不会偷偷收集你的使用数据。

命令行的精确性是图形界面比不了的。你想把水泵转速设到70%,敲一行liquidctl set pump speed 70就完事了。你想给风扇设一条温度-转速曲线,敲一行liquidctl set fan speed 20 30 30 50 34 80 40 90 50 100,意思是20度时30%转速、30度时50%转速、34度时80%转速、40度时90%转速、50度时100%转速。精确到每一个温度点,想怎么调就怎么调。

灯光控制也一点不含糊。颜色可以用十六进制ff7f3f、RGB三元组rgb(255,127,63)、HSVhsv(20,75,100)、HSLhsl(20,100,62)四种格式任选。灯光模式有固定、呼吸、渐变、移动交替等好几种。

更狠的是,你可以把所有这些命令写成一个脚本,然后设置成开机自动运行。Linux上用systemd,Windows上用任务计划程序,macOS上用launchd。设置一次,之后每次开机都自动应用你的配置,再也不用打开任何一个厂家软件。

这就形成了一个有趣的局面,不会用命令行的人觉得这东西反人类,会用命令行的人觉得这东西香得不行。中间的落差,恰恰是liquidctl的真实用户画像,不是普通玩家,而是愿意花时间折腾、追求极致控制感的DIY爱好者。



Python API才是真正的杀手锏

命令行只是liquidctl的表面功夫,它真正的底牌是Python API。

你可以用Python写程序直接调用liquidctl的驱动,实现比命令行复杂得多的控制逻辑。核心函数是find_liquidctl_devices(),它能自动发现系统里所有兼容的设备,返回驱动实例。然后你可以连接设备、初始化、读取状态、设置转速和颜色。

代码写起来很直观:

python
from liquidctl.driver import find_liquidctl_devices

for dev in find_liquidctl_devices():
    with dev.connect():
        dev.initialize()
        status = dev.get_status()
        dev.set_fixed_speed('pump', 75)

这段代码能自动找到所有兼容设备,连接、初始化、读取状态、把水泵转速设到75%,一气呵成。

有了这个API,你能做的事情就远超命令行范围了。比如写一个监控程序,根据CPU温度动态调整风扇曲线,而不是用固定的温度-转速表。比如把水冷数据接入Home Assistant,在手机上远程监控电脑温度。比如写一个插件集成到CoolerControl这类图形界面工具里。

已经有开发者基于liquidctl做了不少周边项目。有人把它打包成了Docker容器,方便在服务器上部署。有人写了GKraken这样的图形界面前端。还有人用它来监控RTX 4090显卡接口温度,防止接口烧毁。

命令行工具能做的事情有限,但API给了开发者无限的想象空间。这也是liquidctl和厂家软件最大的区别,厂家软件给你什么你就用什么,liquidctl给你的是工具箱,你想造什么自己造。



开源社区的力量:2600颗星背后的故事

liquidctl在GitHub上攒了2600多颗星,两百多个分支,几十个贡献者。这个数字放在开源硬件工具里不算小,但真正有意思的不是数字本身,而是数字背后的故事。

这个项目2018年创建,到现在快八年了。八年时间里,它从一个只能控制NZXT水冷的小工具,长成了能管几十种设备的“万能遥控器”。每一次新增设备支持,背后都是某个用户买了新硬件发现用不了,然后自己写代码提交PR。这种“自己动手丰衣足食”的开源精神,在商业软件主导的PC硬件领域显得格外扎眼。

有用户在Reddit上分享,他为了在Linux下用上NZXT Kraken水冷,自己写了大部分驱动代码。他不是liquidctl的核心开发者,只是一个买了水冷发现厂家没有Linux版软件的普通用户。他的选择不是换Windows,而是自己动手解决问题,然后把成果贡献给所有人。

还有人把liquidctl和OpenRGB搭配使用,一个管风扇和水冷,一个管RGB灯光。两个开源工具互相配合,覆盖了厂家软件的全部功能,但内存占用不到厂家软件的十分之一。

开源软件的魅力就在这里,没有人欠你什么,但每个人都愿意搭把手。你遇到一个问题,可能已经有十个人遇到过并解决了;你遇到一个没人解决过的问题,你可以成为第一个解决它的人。这跟厂家软件的“提交工单等回复”完全是两个世界。



一台电脑,一个命令,全搞定

liquidctl解决的核心问题是碎片化,你的电脑里不需要装五六个厂家软件,一个命令行工具全搞定。但它的解决方案不是“更好用的图形界面”,而是“根本不要图形界面”。

这听起来像是开倒车,但仔细想想,厂家软件那些花里胡哨的界面、动画、音效、社交功能,你真的需要吗?你买水冷是为了散热,不是为了看软件界面上的3D动画。你买RGB内存是为了好看,不是为了在软件里反复调整渐变速度。

liquidctl把一切还原到最本质的操作,调转速就调转速,调颜色就调颜色,没有多余的废话,没有多余的占用。这种极简主义在消费电子领域几乎绝迹了,每个厂家都在往软件里塞越来越多的功能,恨不得把整个操作系统都装进去。

但极简也是有代价的。你要愿意打开终端敲命令,你要能接受没有图形界面的操作方式,你要有耐心去查文档、调试配置。liquidctl不是给所有人准备的,它只服务那些愿意动手的人。

最后一个细节。liquidctl初始化设备之后,配置是保存在硬件上的还是软件上的?答案是,大部分设置保存在硬件本身。这意味着你设置好之后,即使退出liquidctl、即使重启电脑,硬件仍然按照你设定的参数运行。除非你主动去改,否则它不会变。

但这个机制在不同设备上表现不一样,有些设备支持配置持久化,有些设备每次开机都需要重新初始化。具体到你手上的那块硬件到底属于哪种情况,你得自己试了才知道。

这事还没完。