设置自定义配置时启动 i8kmon 服务出错

设置自定义配置时启动 i8kmon 服务出错

大家,这是第一次发帖。请温柔一点 ;)

我认为无论 i8kmon 设置的默认温度阈值是多少,风扇速度都不够。我似乎会在负载下启动风扇,然后永远不会关闭(可能是因为下限温度设置得太低了?)。

因此我开始在 /etc/default/i8kmon 中创建自定义配置文件(如 i8kmon 手册页中所述)。该文件的内容正是这样的:

set config(0) {{0 0}  "-"1  60  "-"1  65}
set config(1) {{1 0}  50  70  55  75}
set config(2) {{1 1}  60  80  65  85}
set config(3) {{2 2}  70 128  75 128}

然而,i8kmon 似乎并不喜欢这个,因为在放置配置文件后它不再起作用。以下是输出systemctl status i8kmon.service

systemctl status i8kmon.service 
● i8kmon.service - LSB: Dell fan/cpu-temperature monitor
   Loaded: loaded (/etc/init.d/i8kmon; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2016-01-04 20:33:57 PST; 9s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3766 ExecStop=/etc/init.d/i8kmon stop (code=exited, status=2)
  Process: 3770 ExecStart=/etc/init.d/i8kmon start (code=exited, status=2)
    Tasks: 2 (limit: 512)
   CGroup: /system.slice/i8kmon.service
           └─3545 tclsh /usr/bin/i8kmon --daemon --nouserconfig --auto

Jan 04 20:33:57 notebook systemd[1]: i8kmon.service: Control process exited, code=exited status=2
Jan 04 20:33:57 notebook systemd[1]: Stopped LSB: Dell fan/cpu-temperature monitor.
Jan 04 20:33:57 notebook systemd[1]: i8kmon.service: Unit entered failed state.
Jan 04 20:33:57 notebook systemd[1]: i8kmon.service: Failed with result 'exit-code'.
Jan 04 20:33:57 notebook systemd[1]: Starting LSB: Dell fan/cpu-temperature monitor...
Jan 04 20:33:57 notebook i8kmon[3770]: /etc/init.d/i8kmon: 1: /etc/default/i8kmon: Syntax error: "(" unexpected
Jan 04 20:33:57 notebook systemd[1]: i8kmon.service: Control process exited, code=exited status=2
Jan 04 20:33:57 notebook systemd[1]: Failed to start LSB: Dell fan/cpu-temperature monitor.
Jan 04 20:33:57 notebook systemd[1]: i8kmon.service: Unit entered failed state.
Jan 04 20:33:57 notebook systemd[1]: i8kmon.service: Failed with result 'exit-code'.

但下面这句话当然特别引起我的兴趣:

Jan 04 20:33:57 notebook i8kmon[3770]: /etc/init.d/i8kmon: 1: /etc/default/i8kmon: Syntax error: "(" unexpected

所以。我相当有信心我没有在配置文件中犯任何语法错误。(请注意,它是逐字复制粘贴到配置文件中的)。

值得注意的是,我已经在 Fedora 23 中成功实现了此功能(尽管这项工作更具手动性)。主要区别(我记得)是:1) 文件放在 /etc/i8kmon.conf 中,而不是 /etc/default/i8kmon(请注意,出于某种原因,Ubuntu 中没有 .conf),2) Fedora 的 i8kmon 手册页不需要在破折号周围使用奇怪的引号。

对此有什么想法吗?

答案1

您应该将配置文件放在 /etc/i8kmon.conf而不是 中/etc/default/i8kmon。i8kmon 实用程序是一个 TK 脚本,它具有配置文件的硬编码路径。请参阅 的输出grep sysconfig /usr/bin/i8kmon

根据以下页面,/etc/default配置文件使用不兼容的逻辑,将配置文件加载到执行 shell 的环境中,因此假设配置文件语法是 shell 的语法。i8kmon 手册页有误,因为它没有提到其他(原始)配置通道。 /etc/default 的用途是什么? https://superuser.com/questions/46139/what-does-source-do

相关内容