news 2026/8/23 11:28:14

thinkfan快速上手教程:5分钟从零编译安装这款极简Linux风扇控制程序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
thinkfan快速上手教程:5分钟从零编译安装这款极简Linux风扇控制程序

thinkfan快速上手教程:5分钟从零编译安装这款极简Linux风扇控制程序

【免费下载链接】thinkfanThe minimalist fan control program项目地址: https://gitcode.com/gh_mirrors/th/thinkfan

thinkfan 是一款极简主义的 Linux 风扇控制程序(fan control program),它通过读取 CPU、GPU、硬盘等硬件温度,按你设定的温度阈值自动调节风扇转速,小巧、轻量、无依赖包袱。本教程带你从安装依赖、编译构建到开机自启,5 分钟从零完成 thinkfan 的完整安装。

为什么选择 thinkfan?30 秒了解这款风扇控制程序

  • 轻量无负担:纯 C++17 编写,主程序入口仅一个文件 src/thinkfan.cpp,资源占用极低
  • 多传感器源:支持 LM-sensors、hwmon、nVidia NVML、thinkpad_acpi 等多种温度读取方式,风扇控制模块见 src/fans.cpp
  • 配置友好:除传统格式外,还支持更灵活的 YAML 配置文件(src/yamlconfig.cpp
  • 自动安装服务:编译时自动检测 systemd 或 OpenRC 并装好对应的服务文件,开机自启零配置

⚠️官方提示:thinkfan 只对配置做最基本的合理性检查。把温度阈值设置得"离谱"并不会被拦截——温度过高会缩短硬件寿命。动手前请先了解你系统的正常温度范围。

第一步:一键安装 thinkfan 编译依赖

thinkfan 的构建依赖非常少:C++ 编译器(GCC ≥ 4.8 或 clang)、cmake、pkg-config,可选 yaml-cpp(YAML 配置支持)与 libsensors(LM-sensors 支持)。

Debian / Ubuntu 系,一条命令搞定:

sudo apt install -y cmake-curses-gui build-essential cmake g++ \ libyaml-cpp-dev pkgconfig libsensors-dev

Fedora / EL 系

sudo dnf install -y cmake g++ pkgconfig yaml-cpp-devel lm_sensors-devel

第二步:克隆源码,用 CMake 完成 thinkfan 编译

git clone https://gitcode.com/gh_mirrors/th/thinkfan cd thinkfan mkdir build && cd build cmake .. make

cmake ..会按默认选项完成配置。想交互式配置可改用ccmake ..(就是那个终端图形界面,新手很友好)。

几个常用 CMake 选项,按需追加,例如cmake -DUSE_YAML=OFF ..

选项默认作用
USE_YAMLON启用新的 YAML 配置文件格式(需 libyaml-cpp)
USE_LM_SENSORSON通过 LM-sensors 读取内核温度(需 libsensors)
USE_NVMLON读取 nVidia 显卡温度,运行时动态加载驱动,编译无需驱动
USE_ATASMARTOFF从硬盘 S.M.A.R.T 读温度,CPU 开销大,非必要不开

构建类型默认为RelWithDebInfo(已优化且可调试),在 CMakeLists.txt 中可见默认逻辑;想彻底优化可加-DCMAKE_BUILD_TYPE:STRING=Release

第三步:安装 thinkfan 并快速验证

sudo make install

未修改CMAKE_INSTALL_PREFIX时,程序会装到/usr/local/sbin/thinkfan,同时安装 man 手册页(thinkfan(1)thinkfan.conf(5))。

最快验证方法——前台跑一次,看它能否正确读取传感器与风扇:

thinkfan -n # 前台模式,日志直接打印到终端 thinkfan -h # 查看全部命令行选项
  • -n:不进入守护进程模式,适合调试
  • -s <秒>:调节轮询间隔(默认 5 秒)
  • -b <值>:温度偏置,微调阈值(-10 ~ 30)

第四步:快速上手 thinkfan 的 YAML 配置文件

安装后,建议参考示例配置 examples/thinkfan.yaml 编写自己的配置(/etc/thinkfan.conf.yaml)。它只有三个核心区块:

  • sensors:声明温度传感器,如 LM-sensors 芯片、/sys/class/hwmon路径、nVidia 显卡等
  • fans:声明风扇驱动,如 hwmon 的pwm1文件,或 ThinkPad 的tpacpi接口
  • levels:风扇调速规则,即"温度区间 → 风扇转速"的映射表
levels: - [0, 0, 50] # 50°C 以下停转 - [100, 45, 65] # 45~65°C 转速 100 - [255, 60, 255] # 60°C 以上全速

📌重要:示例文件只是演示,不要直接复制粘贴风扇转速配置!不同机器硬件差异巨大,请先观察自己系统的实际温度再设定阈值。

开机自启:systemd 与 OpenRC 服务说明

CMake 会自动检测你的 init 系统并安装对应服务文件:

  • systemd:安装thinkfan.service以及休眠/唤醒用的thinkfan-sleep.servicethinkfan-wakeup.service(源自 rcscripts/systemd/),服务模板见 thinkfan.service.cmake。之后用一条命令即可自定义启动参数:

    systemctl edit thinkfan
  • OpenRC:安装纯净的 initscript 到/etc/init.d/thinkfan,编辑该文件即可修改选项

常见编译问题速查(thinkfan 新手必看)

报错关键词原因解决方法
yaml-cpp not found缺 YAML 库安装libyaml-cpp-dev,或cmake -DUSE_YAML=OFF ..
libsensors not found缺传感器库安装libsensors-dev,或cmake -DUSE_LM_SENSORS=OFF ..
编译通过但读不到温度驱动未加载运行sensors-detect(来自 lm-sensors 包),再执行sensors确认可读
yaml-cpp 版本过旧警告低于 0.5.3可忽略,仅影响 YAML 错误定位提示

总结:安装依赖 →cmake .. && makesudo make install→ 写一份 YAML 配置 → 交给 systemd 自启,这就是 thinkfan 风扇控制程序的完整上手路径。全程 5 分钟,你就能获得一个安静又恒温的 Linux 系统。动手前记得:先读懂自己机器的温度,再大胆调风扇🌡️

【免费下载链接】thinkfanThe minimalist fan control program项目地址: https://gitcode.com/gh_mirrors/th/thinkfan

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/23 11:27:13

Mayo:3分钟跑起来的免费3D CAD查看与格式转换工具

Mayo&#xff1a;3分钟跑起来的免费3D CAD查看与格式转换工具 【免费下载链接】mayo 3D CAD viewer and converter based on Qt OpenCascade 项目地址: https://gitcode.com/gh_mirrors/ma/mayo 拿到一个STEP装配体文件&#xff0c;只想快速看结构、量个尺寸&#xff0…

作者头像 李华
网站建设 2026/8/23 11:27:08

时间序列分析实战:从ARIMA到Prophet的预测模型全解析

1. 从“拍脑袋”到“看数据”&#xff1a;为什么我们需要时间序列分析 在项目规划、市场预测、库存管理乃至个人理财中&#xff0c;我们常常会面对一系列按时间顺序排列的数据点。比如&#xff0c;过去三年的月度销售额、过去一年的日活跃用户数、过去五年的季度GDP增长率。面对…

作者头像 李华
网站建设 2026/8/23 11:26:58

工业视觉系统选型实战:相机与镜头核心参数匹配指南

1. 项目概述&#xff1a;从“能用”到“用好”的必经之路在工业视觉这个行当里摸爬滚打了十几年&#xff0c;我见过太多项目在初期因为选型不当而踩坑。一个最常见的场景就是&#xff1a;工程师拿到一个检测任务&#xff0c;比如检测手机外壳的划痕&#xff0c;兴冲冲地买来市面…

作者头像 李华
网站建设 2026/8/23 11:22:18

Obsidian中文社区论坛上手三步走

Obsidian中文社区论坛上手三步走 【免费下载链接】forum Obsidian中文社区 项目地址: https://gitcode.com/gh_mirrors/forum69/forum Obsidian中文社区是志愿者为中文 Obsidian 用户维护的讨论论坛。它解决了中文用户问插件、工作流问题时只能翻英文帖的难题。这篇文章…

作者头像 李华