如何在conky中检测处理器正确的温度

con*_*lfy 19 conky sensors temperature

conky&conkyforecast曾经有一个很好的小部件,其中包含一些系统信息和天气数据。

但是我可以看到 conky 显示的温度与我在终端中运行的温度不同sensors

Conky 脚本行: Temperature: ${alignr}${acpitemp}°C

sensors在终端运行得到这个:

florin@florin-Satellite-C650:~$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +49.0°C  (crit = +110.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +51.0°C  (high = +80.0°C, crit = +90.0°C)
Core 2:       +60.0°C  (high = +80.0°C, crit = +90.0°C)
Run Code Online (Sandbox Code Playgroud)

Conky 显示 49° 温度。

我怎样才能让它们显示相同的温度?conky在那里展示什么?

非常感谢!

Win*_*nix 9

命令行中的温度

要找出温度,请使用:

# Ivybridge Intel i7-3630QM
$ cat /sys/class/thermal/thermal_zone*/temp
69000
69000
67000

# Skylake Intel i7-6700HQ using paste after zone names
$ paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t
INT3400 Thermal  20000
SEN1             53000
SEN2             49000
SEN3             53000
SEN4             55000
pch_skylake      70000
B0D4             47000
x86_pkg_temp     48000
Run Code Online (Sandbox Code Playgroud)

Conky 的温度

conky我用来监控 Ivy Bridge CPU 的系统变量中是:

${hwmon 2 temp 1}°C
Run Code Online (Sandbox Code Playgroud)

为了监控我最初使用的 Skylake CPU:

${hwmon 0 temp 1}°C
Run Code Online (Sandbox Code Playgroud)

几个月后(可能是由于新内核)在我切换到的同一个 Skylake CPU 上:

${hwmon 1 temp 1}°C
Run Code Online (Sandbox Code Playgroud)

显示如下:

Conky 温度 4.8.10


Ste*_*ker 7

我发现这对我有用:

${platform coretemp.0 temp 1}
Run Code Online (Sandbox Code Playgroud)

这从 读取温度信息/sys/devices/platform/coretemp.0/temp1_input

  • 出于某种原因,我不得不改变这个 `${platform coretemp.0/hwmon/hwmon0 temp 1}` 因为 `temp1_input` 只存在于我的 `/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp1_input` 中系统 (Debian sid) (6认同)
  • 在带有 Skylake 处理器的 Ubuntu 16.04 上,我使用了:`cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp*_input` 为每个 CPU 获得四个温度。 (3认同)