Psensor is a GTK+ (Widget Toolkit for creating Graphical User Interface) based application software. It is one the simplest application to monitor hardware temperature and plot Real Time graph from the obtained data for quick review.

Features of Psensor
- Show Temperature of motherboard, CPU, GPU (Nvidia), Hard Disk Drives.
- Show CPU fan speed.
- Psensor is capable of showing remote server Temperature and Fan Speed.
- Show CPU usages, as well.
- Infact Psensor will detect any supported Hardware and report the Temperature as text and over graph, automatically.
- All the temperatures are plotted in one graph.
- Alarms and Alerts ensures you don’t miss a critical System Hardware Temperature and Fan Speed related issues.
- Easy to Configure. Easy to use.
Dependencies
- lm-sensor and hddtemp: : Psensor depends upon these two packages to get the reports about temperature and fan speed.
- psensor-server : It is an optional package, which is required if you want to gather information about Remote Server Temperature and Fan Speed.
Installation of Psensor in Linux
1. As I said above that Psensor program depends on lm-sensor and hddtemp package and these two packages must installed on the system in order to install Psensor.
Both these two packages are available in the official repository of most of the standard Linux distributions, but in RedHat/CentOS based systems, you need to install and enable epel-release repository to get these packages.
On Debian, Ubuntu and Mint
# apt-get install lm-sensors hddtemp
On RedHat, CentOS and Fedora
# yum install epel-release # yum install lm_sensors lm_sensors-devel hddtemp
Note: If you are using Fedora 22, replace yum with dnf in above command.
2. Once these two dependencies installed on the system, you can install Psensor on Debian alike systems using following commands.
# apt-get install psensor
Unfortunately, on RedHat alike systems, Psensor isn’t available from the default system repository, and you need to compile it from source as shown below.
# yum install gcc gtk3-devel GConf2-devel cppcheck libatasmart-devel libcurl-devel json-c-devel libmicrohttpd-devel help2man libnotify-devel libgtop2-devel make
Next, download the most recent stable Psensor (i.e version 1.1.3) source tarball and compile it using following commands.
# wget http://wpitchoune.net/psensor/files/psensor-1.1.3.tar.gz # tar zxvf psensor-1.1.3.tar.gz # cd psensor-1.1.3/ # ./configure # make # make install
3. Install Psensor Server – optional. It is required only if you want to see the temperature and fan speed of remote server.
# apt-get install psensor-server
Note: That the Psensor Server package is only available under Debian alike systems, there isn’t any binary or source packages available for RedHat systems.
Testing and Usage of Psensor
4. It is optional but suggestive step you should follow. Run sensors-detect
, as root to diagnose the hardware’s by sensors. Every Time Type the default option ‘Yes’, until you know what you are doing.
# sensors-detect

5. Again Optional but suggestive setup you should follow. Run sensors
, as root to display the temperature of various Hardware Devices. All these Data will be used for Psensor.
# sensors

6. Run Psensor, from the desktop Application Menu to get the graphical view.

Check mark all the Sensors to plot graph. You may notice the color codes.

Customize Psensor
7. Go to Menu Psensor → Preferences → Interface. From here, you can have options for Interface related customization, Temperature Unit and Sensor table Position.

8. Under Menu Psensor → Preferences → Startup. From here, you can configure Launch/Hide at Startup and Restore Window Position and Size.

9. Under the Hood Graph (Psensor → Preferences → Graph), you may configure Foreground/Background Color, Monitoring Duration, Update Interval, etc.

10. You may configure Sensors Settings under (Psensor → Preferences → Sensors).

11. The last tab (Psensor → Preferences → Providers) provides you with Enable/Disable configuration for all the sensors.

You may do sensor Preferences under (Psensor → Sensor Preferences).




Conclusion
Psensor is a very useful tool which lets you see those gray areas of system monitoring which is often overlooked upon i.e., Hardware temperature monitoring. A over heating Hardware may damage that particular hardware, other hardware in the surrounding or may crash the whole system.
No, I am not thinking from financial perspective. Think of the value of Data that might loose and the cost and time it will take to build the system again. Hence it is always a good idea to have a tool like Psensor beside ourselves to avoid any such risk.
Installation on Debian alike system is pretty simple. For CentOS and alike System, installation is a bit tricky.
Is there a way to sort columns?
I got this working today in Fedora 31, with a bit of effort. I had some false starts when I overlooked what turned out to be critical “warnings” in the configure script. Your instructions on which headers to install were helpful, but in order to compile it, I also had to tweak the sources that I obtained from
https://wpitchoune.net/psensor/files/
.The issue with the sources is a reference to “is_error“, a macro that can be found in old versions of the json-c library. Newer versions have dropped it, including apparently whichever version my compiler was pulling in.
The latest official release of psensor was version 1.2.0, sometime in 2017. The code does still receive updates, including what appears to be a fix for the “is_error” issue, contributed a few months ago by Matheus Teixeira, then merged to master last month.
My advice to anyone who is compiling this for RedHat/Fedora/etc.:
1. Read the output of “./configure” carefully. There may be a warning that just says “psensors will not be built“.
2. If you get complaints at compile-time, saying “undefined reference to `is_error’“, try cloning the psensor repo from gitlab and compiling this commit: abf3533d — it’s the one where the is_error fix is merged.
I’m really struggling with this. Linux newbie, wanting to troubleshoot unexplained shutdowns. Running Debian GNU/Linux 9 (stretch) 64-bit. Could find no clues in log files, so I figured monitoring CPU temp might help.
Had to download/install compiler to get this far. Now I keep getting this error at the ‘# make’ step:
What do I need to do?
@Twinspar,
Why you compiling? when you can easily install using package manager as shown.
I love psensor and use it on all of my computers, especially my 5 laptops. I would like to use the shutdown feature script but I havent been able to get it to work. If anyone has a script/template that I can use on my Linux machines, I’d be very grateful.
I also need to know where the sensor log files are located and if I can move them to another location so that other Administrators can have access to them?
Hi, How accurate are Psensor’s readings?
I get an error saying that “C compiler cannot create executables”, after running ./configure command. Linux Mint 17.1
@Pablo,
Install latest version C headers for the standard library..
Thank you for the nice article. Is it possible to display an alert and shutdown the system when the temperature goes beyond certain predefined level?
Synaptic package manager in Ubuntu contains psensor, psensor-common, psensor-server (version 1.1.3-2ubuntu3),
hope i can mark and install with this version also.
saw the alert facility, no idea about optimal threshold temperature in terms of value for various cores, cpu usage, free memory, hdd. thanks.
superb instructions. make it easy even for a centos user.
THANKS!
Very nice article that I used on my F23. However, please add a missing package in Step 2 for Fedora/Redhat/CentOS to include “yum install lm_sensors-devel” as the make command was complaining about a missing header file.
@Naveej,
Thanks for finding this article useful and also thanks for point out that missing dependency about lm_sensors-devel package, as per your suggestion, we’ve updated the article..