If you're new to Linux, the biggest change from Windows or macOS is probably the command line. Depending on how you use Linux, you might not have to dip into the terminal often, but you will have to use the command line now and then, one way or another.
That's why it's a good idea to customize it early on so you can at least have a smoother experience when you need to use the command line. The terminal can do all kinds of things, but at the very least, you will have to use it for running updates and often installing and removing apps.
I'm still a bit new to Linux myself. As I've been experimenting with my Linux setup, there are a few tools that have drastically improved my terminal experience as a beginner: Kitty, OhMyZsh, and Powerlevel10k. If you're a long-time Linux user, you've probably already used those at one point or another. But many newbies may have never even heard of them yet.
To give fellow Linux beginners a hand, this guide will cover how to set up each of these terminal tools on your Linux PC and get your terminal looking clean and colorful.
I'm using Fedora 42, which uses the DNF package manager. Different distributions use different package managers, such as APT for Ubuntu and Mint, which will change the code you have to use. I will include APT and DNF code in this guide, since Fedora, Ubuntu, and Mint tend to be the most popular Linux distros for beginners.
Installing the Kitty terminal emulator
Getting set up in one of the best Linux terminal emulators
The first thing you'll want to do to improve your terminal on a new Linux installation is install the Kitty terminal emulator. There will be a basic default terminal app installed with your desktop environment, but Kitty is usually faster, more feature-rich, and easier to customize.
You'll need to get started with your PC's default terminal emulator, though. You can usually find it by searching your app menu for "terminal." You'll only need to enter a couple of prompts in that terminal emulator to get Kitty running.
- Check for and run package updates using "sudo dnf update" or "sudo apt update"
- Let any updates finish, then install Kitty using "sudo dnf install kitty" or "sudo apt install kitty"
- (Optional) Add the Kitty app icon to your taskbar or dock for easy access.
Any command that uses "sudo" will require your user password, such as installing or removing apps. "Sudo" stands for "superuser do." It's like entering an administrator password on a Windows device, granting higher-level permissions for changes to your device.
After Kitty is installed, you can close your device's default terminal app and switch over to Kitty. Now, Kitty isn't going to look much better at first, but it's really easy to fix that. The first thing you'll want to do is simply run the command "kitten themes" to open Kitty's built-in, interactive theme picker.
There are tons of color themes to choose from, so take your time browsing through them. My personal favorite is "Spacedust." Once you find a theme you like, hit enter to set it as your theme (or set it as either a dark or light mode theme). The kitten theme picker will automatically update your kitty.conf (Kitty configuration) file with whatever theme you choose.
Installing and setting up Zsh
How to switch to a more customizable Linux shell
Next, we're going to swap over to Zsh (Z Shell). This is one of several popular shells you can use. The shell is basically the interface between you and the Linux kernel, like a translator. Fedora, Ubuntu, and Mint all use Bash (Bourne-Again Shell) by default. It's fine as a starting point, but Z Shell, or Zsh, is more robust in terms of customization, especially with the help of OhMyZsh, which we'll get to next.
First, we need to install Zsh and set it as the default shell using just a few steps.
- Install Zsh with the command "sudo dnf install zsh" or "sudo apt install zsh"
- Set Zsh as the default shell with the command "chsh -s $(which zsh)" (this command should be the same on both DNF and APT).
- Close your terminal, log out, and log back in to let the change take effect.
If the command "chsh -s $(which zsh)" doesn't work for you, you might be missing a package. Try running "sudo dnf install util-linux" or "sudo apt install util-linux" to make sure the "util-linux" package is installed. If it's not, install it and try the shell switch command again.
After logging out and logging back in, open Kitty and you should see a startup prompt from Z Shell. There are a few options, but the one you want is "(1) Continue to the main menu." Select it by typing "1," which will bring up the next page in the Zsh setup process. This includes a handful of settings you can configure.
It's usually best for beginners to go with the default or recommended options suggested during setup. The most important one to update is tab completion. This can make it much easier (and faster) to work in Zsh by using tab to autocomplete commands, filenames, and more. So, make sure you turn that on in step two of setup.
Customizing Zsh with OhMyZsh
Adding a framework for themes and plugins for the terminal
Once you're done setting up Zsh, hit "0" to exit the setup process, which will bring you back to a regular terminal window. From here, the next step is to install OhMyZsh, an open-source framework for Zsh that manages plugins and themes.
First, we need to install curl (Client for URLs), a command-line tool for transferring data from the internet. You can install it using "sudo dnf install curl" or "sudo apt install curl".
Next, enter the curl install code from the official OhMyZsh install page: "sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)".
If it installs correctly, you should see a colorful ASCII art version of the OhMyZsh logo in your terminal. At this point, your terminal should be looking a little cleaner, ideally with a nice color theme selected back in the Kitty setup process. One more step will get it looking not only nicer, but clearer.
How to install Powerlevel10k
The final step to complete your terminal customization
OhMyZsh allows for extensive customization, and there are plenty of great themes to choose from out of the box. However, the one I suggest is Powerlevel10k, which is a highly customizable Zsh theme that can make it much easier to follow what's going on in your terminal and just make things look nicer.
To do that, you need to install a particular set of fonts, install Powerlevel10k, make a quick change to your OhMyZsh configuration, and finally customize Powerlevel10k, using these steps:
- Install the powerline fonts needed for Powerlevel10k using "sudo dnf install powerline-fonts" or "sudo apt-get install fonts-powerline"
- Install Powerlevel10k by cloning its git repository using "git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
- Enter the OhMyZsh configuration file with "nano ~/.zshrc". Near the top of the file, find the line that says "ZSH_THEME". A default theme will likely already be in the quotations in this line, like "robbyrussell".
- Edit the "ZSH_THEME" line to read: ZSH_THEME="powerlevel10k/powerlevel10k". Then hit Ctrl + S to save and Ctrl + X to exit.
- Close your terminal, log out, and log back in.
- Open Kitty again, and you should see the Powerlevel10k setup wizard. If you don't, you can launch it using the command "p10k configure". Once it's running, follow the steps on screen to customize how Powerlevel10k looks.
Customizing Powerlevel10k doesn't impact how your terminal functions, just how prompts appear. So, this step comes down to personal preference for the most part. You can always use the "p10k configure" command anytime to update your settings afterward if you end up changing your mind about how you want Powerlevel10k to look.
Take your Linux terminal experience to the next level
After getting all of these tools set up, your terminal emulator should not only look cooler and more colorful, but also easier to read and navigate. Powerlevel10k makes it much easier for me to quickly scroll through prompts in my terminal without getting lost (or getting a headache).
Setup may be a little complicated, but customizing your terminal afterward is pretty easy. You can run "kitten themes" to change your color scheme or "p10k configure" to alter your Powerlevel10k settings.
I also suggest taking a look at the complete list of OhMyZsh plugins. There are dozens available for streamlining and simplifying all kinds of tasks. To add them to your Zsh setup, you just use "nano ~/.zshrc" and add the name of the plugin you want to the "plugins" section in the OhMyZsh configuration file. For beginners, I suggest starting with "zsh-autosuggestions" and "zsh-syntax-highlighting".
With the help of Kitty, OhMyZsh, and Powerlevel10k, you can make it easier and less confusing to use the Linux terminal. Even after you graduate from being a Linux beginner, it's nice to have a clean, colorful terminal setup.
