GNU General Public License v3.0

项目介绍

vmatare/thinkfan 是一个托管在 GitHub 上的开源项目,主要使用 C 编写,采用 GNU General Public License v3.0 许可证,目前获得 715 个 Star、71 次 Fork。

仓库全名
vmatare/thinkfan
开源许可证
GNU General Public License v3.0
Star 数
715
Fork 数
71
未关闭 Issue
49

README 摘要

thinkfan Thinkfan is a simple, lightweight fan control program. WARNING There's only very basic sanity checking on the configuration (semantic plausibility). You can set the temperature limits as insane as you like. Any change to fan behaviour that results in higher temperatures in some parts of the system will shorten your system's lifetime and/or cause weird hardware bugs that'll make you pull out your hair. No…

完整内容见 GitHub 原始 README 或本页 。

常见问题

thinkfan 用什么语言开发?

主要使用 C 编写,采用 GNU General Public License v3.0 许可证,目前有 715 个 Star。

thinkfan 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v3.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 thinkfan 的源码?

可以直接克隆仓库:git clone https://github.com/vmatare/thinkfan.git,默认分支为 master;安装与运行步骤见仓库 README。

thinkfan 最近还在维护吗?

仓库最近一次更新为 3月14日,当前有 49 个未关闭 Issue;Star 数为 715,可作为社区活跃度的参考。

关于

The minimalist fan control program

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
873
价值分
449
活跃状态
活跃

语言占比

C
C++
CMake
Shell

README

thinkfan

Thinkfan is a simple, lightweight fan control program.

WARNING

There’s only very basic sanity checking on the configuration (semantic plausibility). You can set the temperature limits as insane as you like.

Any change to fan behaviour that results in higher temperatures in some parts of the system will shorten your system’s lifetime and/or cause weird hardware bugs that’ll make you pull out your hair.

No warranties whatsoever

If this program steals your car, kills your horse, smokes your dope or pees on your carpet… too bad, you’re on your own.

Building and installing

To compile thinkfan, you will need to have the following things installed:

  • A recent C++ compiler (GCC >= 4.8 or clang)
  • pkgconfig or an equivalent (pkgconf or pkg-config)
  • cmake (and optionally a cmake GUI if you want to configure interactively)
  • optional: libyaml-cpp for YAML support (the -dev or -devel package)

E.g. on a debian-based system that usually boils down to:

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

on EL/Fedora based system, usually :

sudo dnf install -y cmake g++ pkgconfig yaml-cpp-devel lm_sensors-devel
  1. In the thinkfan main directory, do

    mkdir build && cd build
    
  2. Then configure your build, either interactively:

    ccmake ..
    

    Or set your build options from the command line. E.g. to configure a build with full debugging support:

     cmake -D CMAKE_BUILD_TYPE:STRING=Debug ..
    

    CMAKE_BUILD_TYPE:STRING can also be Release, which produces a fully optimized binary, or RelWithDebInfo, which is also optimized but can still be debugged with gdb.

    Other options are:

    USE_NVML:BOOL (default: ON) Allows thinkfan to read GPU temperatures from the proprietary nVidia driver. The interface library is loaded dynamically, so it does not need to be installed when compiling.

    USE_ATASMART:BOOL (default: OFF) Enable libatasmart to read temperatures directly from hard disks. Use this only when you really need it, since libatasmart is unreasonably CPU-intensive.

    USE_LM_SENSORS:BOOL (default: ON) Use LM sensors to read temperatures directly from Linux drivers. The libsensors library needs to be installed for this feature, probably with required headers and development files (e.g., libsensors-dev).

    USE_YAML:BOOL (default: ON) Support config file in the new, more flexible YAML format. The old config format will be deprecated after the thinkfan 1.0 release. New features will be supported in YAML configs only. See examples/thinkfan.conf.yaml. Requires libyaml-cpp.

  3. To compile simply run:

    make
    
  4. If you did not change CMAKE_INSTALL_PREFIX, thinkfan will be installed under /usr/local by doing:

    sudo make install
    

    CMake will detect whether you use OpenRC or systemd and install some appropriate service files. With systemd, you can edit the commandline arguments of the thinkfan service with systemctl edit thinkfan. With OpenRC, we install only a plain initscript (edit /etc/init.d/thinkfan to change options).

Documentation

评论

暂无评论