Bye htop, hello bashtop
One of the first things I install when setting up a new Linux installation is htop
- it's a defacto process manager for Linux command line. It has been around for quite some time, since 2004 to be exact. Recently, a modern, good looking replacement showed up - Bashtop.
Why Bashtop?
First of all, htop
is written in C programming language which means it has some dependencies needed to run graphical-like user interface in terminal. On the other hand, bashtop
is entirely written as a single bash script so all you need to run it is bash shell and couple more utils which are pretty much standard to nowadays Linux distributions - awk
, sed
, GNU coreutils...
Fun fact - the main motivation for this app to be written in bash script is that the developer wanted to learn bash scripting
It provides much more information about hardware than htop
CPU model, per-thread usage histogram, usage percentage and temperature. It also displays info about hard drives, network transfers etc. Also, it is super-easy to install and use, it looks amazing and refreshing.
It also supports themes! It comes with both dark and light themes out of the box. FTW!
These are some key features as listed on it's GitHub repo page:
- Easy to use, with a game inspired menu system.
- Fast and "mostly" responsive UI with UP, DOWN keys process selection.
- Function for showing detailed stats for selected process.
- Ability to filter processes.
- Easy switching between sorting options.
- Send SIGTERM, SIGKILL, SIGINT to selected process.
- UI menu for changing all config file options.
- Auto scaling graph for network usage.
- Shows message in menu if new version is available
- Shows current read and write speeds for disks
- Multiple data collection methods which can be switched if running on Linux
How to install Bashtop on Ubuntu 20.04 or Elementary OS 5.1
There are basically two methods and both are really simple to follow along. Whole bashtop
app is a single bash shell script, a single executable file. No need to build or install anything.
Method 1: Manual installation using Git - Any Linux distro, OSX, FreeBSD
You will need to have Git installed before you continue.
cd ~
git clone git@github.com:aristocratos/bashtop.git
cd bashtop
make install
That's it! now you can close and reopen you terminal or simply reload your .bashrc
or .zshrc
and you are ready to go!
In your terminal run bashtop
whenever you wish to have a look or kill some process.
If you ever wish to uninstall bash top that was installed this way, you can easily do that by running this command
cd ~/bashtop
make uninstall
cd ..
rm -rf bashtop
Method 2: Ubuntu and Elementary OS - install from ppa repo
Run the following commands in terminal
sudo add-apt-repository ppa:bashtop-monitor/bashtop
sudo apt update
sudo apt install bashtop
Uninstall as any other app installed using apt-get
sudo apt-get --purge remove bashtop
sudo apt-get autoremove
CPU Core temperature:
for ubuntu, elementary os, and other debian-based distros
One of the most awesome features bashtop
provides is temperature for each individual CPU core/thread. For bashtop
to be able to show the temperature, you will need to install one of the libraries that are can obtain and provide that info. Simply run this command in terminal and next time you run bashtop
it will show you temperature readings for CPU cores.
sudo apt-get install lm-sensors
You can learn more about installation on different linux distros on the bashtop
GitHub repo
Options menu
Bashtop comes with various settings - from themes to refresh rate at which data on the screen will be refresh at. To access this menu just press ESC.
Select OPTIONS then press Enter key
Themes
There are 10 additional themes that come together with the installation. Select Themes option and press Enter key to tell bashtop
to look for new themes in the themes directory.
Change the theme using left and right arrow keys
Keyboard shortcuts
To learn about different keyboard shortcuts you can use, go to the OPTIONS menu, and then select HELP
Conclusion
Bashtop is certainly a refresh and interesting how terminal apps can look amazing. I hope this article has inspired you to give bashtop
a chance and you enjoy using it.
References and useful resources
https://github.com/aristocratos/bashtop
https://computingforgeeks.com/bashtop-resource-monitor-for-linux-macos-freebsd/
https://www.youtube.com/watch?v=nyx9AqaqUgA
https://www.youtube.com/watch?v=A6fdSHtPHAM