Page 1 of 1
CPU temperature monitoring
Posted: Mon Feb 07, 2022 8:48 am
by Feek
So far I have entered „sensors“ into the terminal from time to time.
Now I found out that pmcputemp is already included in Fatdog.
It doesn´t appear in the tray automatically.
I can launch it only via terminal (I created a simple script in /root/startup with text: <urxvt -e & pmcputemp> and it works).
The temperature values displayed simultaneously by pmcputemp in the tray and the „sensors“ in terminal seem to be different.
Which one is closer to reality?
Re: CPU temperature monitoring
Posted: Mon Feb 07, 2022 9:12 am
by JakeSFR
I don't use pmcputemp, because there's already:
Right-click the LxQt-panel -> Manage Widgets -> + -> Sensors
It supports multiple sensor readings, through libsensors, just like the sensors command.
Greetings!
Re: CPU temperature monitoring
Posted: Mon Feb 07, 2022 4:42 pm
by Feek
@JakeSFR ,
I didn't know about this.
Very nice ! Thank you.
I also don't use pmcputemp from today .
Re: CPU temperature monitoring
Posted: Thu Feb 10, 2022 6:45 am
by user1111
This is a extract of the code I use to show a temperature icon in the tray of my bespoke containers. Generates its own .svg icon. Updates every 5 seconds (sleep 5 in _temp() function)
Code: Select all
#!/bin/bash
# Requires 'sit' to have been installed (from gslapt/repo) as that is used
# to stuff the temperature icon into the tray
REDTHRESHOLD=66 # CPU temperature at which icon colour turns red
_tempsvg() { # cpu temperature .svg
cat <<EOF >/tmp/.temperature.svg
<svg height='32' width='32' viewBox='0 0 16 16'>
<radialGradient id='rg' fx='50%' fy='50%' cx='50%' cy='50%' r='50%'>
<stop offset='80%' stop-color='white' stop-opacity='1'/>
<stop offset='100%' stop-color='$2' stop-opacity='1' />
</radialGradient>
<rect width='14' height='13' x='1' y='1' rx='2' ry='3' fill='url(#rg)'/>
<g font-size='8' font-style='normal' font-variant='normal' font-weight='bold'
font-stretch='normal' text-align='center' line-height='125%' letter-spacing='0'
word-spacing='0' text-anchor='middle' fill='$3' fill-opacity='1' stroke='none'
font-family='sans' dominant-baseline='central'>
<text x='52%' dy='11'>$1</text>
</g>
</svg>
EOF
}
_find_func() { # find function for Locate where to read cpu temperature from
FILES="$1"
for n in `echo $FILES`; do
read p < $n
if [ $? = 0 ];then
FILE=$n # found it
break
else
continue # didn't find, search again
fi
done
# if we get here we didn't find anything useful
}
# Scan for where to read cpu temperature from
for a in `find /sys/devices/platform -type f -name 'temp*_input'|sort` \
`find /sys/devices/pci* -type f -name 'temp*_input'|sort` \
`find /sys/devices/virtual -type f -name 'temp'|sort`
do _find_func "$a"
[ -z "$FILE" ] && continue || break # if we found data break
done
CPU_TEMP=$FILE
###
_temp() { # Tray icon for cpu temperature
if [ -f $CPU_TEMP ]; then
last=55
_tempsvg 55 cyan black
sit /tmp/.temperature.svg "cpu temperature" &
PIDsittemp=$!
while :; do
x=$(cat $CPU_TEMP)
x=$((x/1000))
if [ $x -ne $last ];then
last=$x
[[ $x -ge $REDTHRESHOLD ]] && colour=red || colour=cyan
[[ $colour = "red" ]] && textcolour=red || textcolour=black
_tempsvg $x $colour $textcolour
fi
sleep 5
done
else
Xdialog --msgbox "cpu temperature not found" 0 0
fi
}
_temp