Dom*_*icM 6 server sudo startup-applications 14.04
我添加了一个运行“hd-idle”的命令。它似乎需要以 root 身份运行,否则它不会按照指示降低驱动器的转速。手动或通过 rc.local 执行时,行为似乎相同。如果重要的话,hd-idle 是用 make install 编译的,而不是用 apt-get 安装的。
从这个站点上的另一个问题我知道 rc.local 以 root 身份运行,那么为什么我仍然需要为我的 hd-idle 添加 sudo 才能运行?
rc.local 的最后两行:
sudo hd-idle -i 300
exit 0;
Run Code Online (Sandbox Code Playgroud)
上述 rc.local 按预期工作,硬盘驱动器在 300 秒后进入待机模式。如果我删除“sudo”并重新启动硬盘驱动器永远不会停止。
hd-idle 需要 root 才能处理 /proc/diskstats 中的文件,因为 /proc/ 和 /dev/ 由 root 拥有。
我不建议更改所有权,但也许您可以将您的用户帐户添加到拨出组中。
$sudo usermod -a -G dialout <user-name>
Run Code Online (Sandbox Code Playgroud)
然后你可以尝试做一些事情,比如访问硬件
您还可以尝试将组权限更改为 /proc/diskstats 以包含 dialout 组。(我不建议这样做。但你可以尝试一下)
我认为一些日志记录功能会写入 /var/log/hd-idle ,它也由 root 用户拥有。
我认为您可以修改源代码,并将用户添加到 diaout 组,以使该软件作为非明确的 root 用户运行,但我建议谨慎行事。
答案取自 hd-idle 源代码。