Title: How to detect processor correct temperature in conky
Tags: temperature;conky;sensors
Question: I am using conky&amp;conkyforecast to have a nice widget containing some system information and weather data.
But I can see that the temperature that conky shows is different than the one I get running in terminal sensors.
Conky script line:
Temperature: ${alignr}${acpitemp}°C
Running sensors in terminat gets this:
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)
Conky shows 49° temperature.
How can I make them show the same temperature? What does conky show over there?
Thanks a lot!


Here is another answer: I found that this worked for me:
${platform coretemp.0 temp 1}
This reads the temperature info from /sys/devices/platform/coretemp.0/temp1_input.
Comment for this answer: On Ubuntu 16.04 w/Skylake processor I used: `cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp*_input` to get four temperatures one for each CPU.
Comment for this answer: For some reason I had to change this `${platform coretemp.0/hwmon/hwmon0 temp 1}` because `temp1_input` only exists in `/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp1_input` on my system (Debian sid)

Here is another answer: A simple one liner:
cd /sys/bus/platform/drivers/coretemp/coretemp.0/hwmon/hwmon*;for i in $(ls -1 temp*_label|cut -b 5);do tempSensor=$(cat temp&quot;$i&quot;_label);tempVal=$(cat temp&quot;$i&quot;_input);echo $tempSensor&quot;    &quot;$tempVal;done;cd $OLDPWD
Comment for this answer: If you're looking for a one-liner, this isn't one.
Comment for this answer: Simple (comparing to other solutions offered) - not sure. One liner? Looks like a whole shell script compressed into one line.

Here is another answer: ${exec sensors | grep 'Package id' | awk '{print $4}'}
Sensors CPU: ${exec sensors | grep 'Package id' | awk '{print $4}'}

Here is another answer: Another solution.
Use find command;
find /sys/devices/platform/ -iname '*input'
Output:
/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input
/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input
Conky variable;
${hwmon 2 temp 2}°C
${hwmon 2 temp 3}°C

Here is another answer: Another possible solution is:
${exec cat /sys/devices/platform/coretemp.0/temp1_input | cut -c-2 }
or if that doesn't work:
${exec cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input | cut -c-2 }

Here is another answer: Another possible solution is:
$(exec sensors | grep 'Package id' | awk '{print $4}')
Output:
+33.0°C

Here is another answer: Temperature from command line
To find out the temperature, use:
# Ivybridge Intel i7-3630QM
$ cat /sys/class/thermal/thermal_zone*/temp
# 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
Temperature with Conky
Within conky the system variable I used to monitor an Ivy Bridge CPU is:
${hwmon 2 temp 1}°C
To monitor a Skylake CPU I initially used:
${hwmon 0 temp 1}°C
A few months later (possibly due to new kernel) on the same Skylake CPU I switched to:
${hwmon 1 temp 1}°C
The display looks like this:

{'source': 'StackExchangeDataset', 'subset': 'askubuntu.com', 'metadata': {'AnswerCount': 7, 'CommentCount': 0, 'ContentLicense': 'CC BY-SA 3.0', 'CreationDate': '2013:00:01/03/13', 'FavoriteCount': 2.0, 'PostTypeId': 1, 'Tags': '<temperature><conky><sensors>', 'Title': 'How to detect processor correct temperature in conky', 'ViewCount': 72336, 'id': 235713, 'user_AboutMe': None, 'user_AccountId': 361090.0, 'user_DisplayName': 'conualfy', 'user_Reputation': 987.0, 'user_Views': 168.0, 'user_id': 61670.0}}