Get the highlights in your inbox every week.
How I balance features and performance in my Linux terminal | Opensource.com
How I balance features and performance in my Linux terminal
Customize a feature-rich terminal that's easy on system resources.
I am a big fan of command-line applications, and I spend a lot of time working in a terminal. Terminal-based applications are, in many cases, faster, more flexible, and more intuitive than their graphical user interface (GUI) counterparts.
Having a flexible and powerful terminal with many command-line tools makes me more productive. This is one of the main reasons I moved to Linux several years ago and never looked back.
Because I spend so much time in the terminal, I invested some time to make it a pleasant environment to work in. My goal is to find a balance between having a feature-rich terminal without wasting too many system resources.
I use two laptops daily: a business laptop running Fedora 32 and a personal laptop running Arch Linux.
Here's what my Fedora 32 terminal looks like:
And this is my Arch Linux terminal:
My terminal appsOn the business laptop, I use Terminator as my terminal app. On Arch Linux, I've been using Alacritty, which is a fast GPU-accelerated terminal emulator. However, I am no longer happy with it because it uses too much memory. I will move to Terminator on that laptop soon.
You can find Terminator in the default repository of many Linux distributions, including Fedora and Arch Linux.
My favorite theme
For the visual part of the terminal, I use the Ambience color scheme with a transparent background shaded to 80%. This makes my terminal a little darker to avoid confusion, especially when the background is a "busy" image.
My favorite prompt
My favorite shell is zsh, which I customize using Oh My Zsh with the Powerlevel10k theme. Powerlevel10k allows you to customize your prompt to provide useful information, including the status of your Git repository, active Python virtual environment, programming-language compiler or interpreter version, command execution time, and much more.
If you want more information about customizing zsh, read my article 5 tips to improve productivity with zsh.