#!/bin/bash # ©2011 J. S. Gilstrap (KD5TVJ) # GNU GPL2 License. https://www.gnu.org/licenses # This monitor is designed to pull the temperature # out of /proc on a Linux kernel. It may be adaptable # to port to other kernels. Edit lines 21 & 22 to # retreive cputmp and filter it for display. # Remove the .txt from the name, place in the PATH, 'chmod 755', and run it. # Temperture trigger levels in °C. Red=70 ; Yellow=60 ; Green=50 ; Sleep=15 if [ "$1" = temp ] then clear while : do # Capture and filter CPU Temperature. T=$(< /proc/acpi/thermal_zone/THRM/temperature) T=${T#* } ; T=${T% *} ; T=$((T)) # Set font color depending on temperture range. if [ $T -gt $Red ] then printf "" FG="" # Log any temperature readings in the RED. printf "CPU: ${T}°C `date`\n" >> ${HOME}/tmprtr.log elif [ $T -gt $Yellow ] then FG="" elif [ $T -gt $Green ] then FG="" else FG="" fi # Print CPU temperature. printf "\r ${FG}CPU ${T}°C" sleep $Sleep done else # Start or restart monitor. PID=$(ps aux | grep "${USER}.*xterm.*tmprtr" | grep -v grep | awk '{print $2}') ((PID)) && { kill $PID ; sleep 0.333 ; } ; [ -n "$1" ] && (($1)) && ofst=+${1} exec xterm -bg rgb:70/00/C0 -cr rgb:70/00/C0 -fn 10x20 -geometry 10x1${ofst} +sb -e $0 temp & fi