![运行 Linux 的 Macbook 中的风扇速度](https://linux22.com/image/7253/%E8%BF%90%E8%A1%8C%20Linux%20%E7%9A%84%20Macbook%20%E4%B8%AD%E7%9A%84%E9%A3%8E%E6%89%87%E9%80%9F%E5%BA%A6.png)
我目前在老一代 MacBook 上运行 arch; 2009 年采用 core2duo 处理器。
该机器的常见问题之一是运行温度较高(在 YouTube 上浏览和播放视频时温度为 70-90)。我一直采用的一种快速技巧是在事情失控时提高风扇速度。
这有点笨拙,但很有效。
echo "speed" > /sys/devices/platform/applesmc.768/fan1_min
这里的“速度”是从 2000..6000 开始。
为了让事情变得简单,我编写了一个简单的 python 脚本,根据温度提高风扇速度。不幸的是,我似乎无法设置这些文件的写入权限。
有任何想法吗?
答案1
文件系统/sys
包含内核设置的信息,主要是为了 udev 的利益,以及用户空间设置一些选项的一些旋钮。它不是一个存储支持的文件系统,因此您不能进行任意更改,例如更改文件权限。
如果你想从非根进程控制一些旋钮,我可以看到两个选项:
- 编写一个以 root 身份运行的守护进程,并导出非 root 进程可以与之通信的 API(例如,使用 dbus)。非root进程发送命令设置风扇转速;根进程执行一些权限和健全性检查并执行更改。
sudo
使用类似的东西来获得必要的权限,而不是使用守护程序。您仍然需要执行这些相同的检查,但可以省去以 root 身份运行另一个进程的需要全部时间。