When I run screenfetch my cpu temperature is always shown higher than what xfce4-sensors show.

note: xfce4-sensors and lm-sensors output the same temperature so I omitted lm-sensors.

Here is a screenshot of screenfetch and xfce4-sensors at exactly the same time.enter image description here

Can anyone explain to me which temperature is the correct one and why they are different ? Also what is package id 0 ?

  • 3
    "A person with one watch knows what time it is. A person with two watches can never be sure"
    – Kusalananda
    Commented Mar 4, 2018 at 18:13

1 Answer 1


I think discrepancy could be explained by the three points below:

First, screenfetch shows only one value, this means it's an average value.
Second, keep in mind there are different sensors in a system (always talking about CPU):

  • one or more sensors on the motherboard "close" the CPU,
  • (usually) one sensor for the package CPU and last
  • one sensor for each core of the CPU.

Third and last but not least, all these values could be arbitrarily corrected by the software: because the piece of hardware (the sensor diode) which reads the temperature could not physically be in the same position of the hardware that we want to measure it (simply because there is already the piece of hardware itself we want to measure it, the CPU core in this case), thus, in order to make the temperature read by the sensor true, the software increases it by a delta, a fixed and specific value for that CPU model.

NB: I'm not an expert, so if I miss something and/or made a mistake, please correct me!

You must log in to answer this question.