How I balance features and performance in my Linux terminal

Customize a feature-rich terminal that's easy on system resources.
77 readers like this.

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.

My computers

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:

The system information is provided by the excellent ufetch system-info tool with a few personal tweaks. And the weather report is powered by wttr.in.

My terminal apps

On 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.

What to read next
Avatar
Ricardo Gerardi is Technical Community Advocate for Enable Sysadmin and Enable Architect. He was previously a principal consultant at Red Hat Canada, where he specialized in IT automation with Ansible and OpenShift.

5 Comments

have you tried/considered kitty as your shell? not the PuTTy clone, the one by calibre dev.

I like it because it essentially has a built in terminal window tiler, though i still use tmux with kitty, I reserve tmux for when I need a command/process to run in the background, or to continue to run if I accidentally close/quit the window/app.

You can use Xfce4 terminal

Thanks. I used Xfce as my Desktop Environment for many years before switching to i3. Because of that I looked for an "independent" terminal app.

In reply to by rajabhar

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.