Overview: Whether you’re new to Linux or have been using it for a while, you’ll find some helpful advice for personalising the Bash shell to make it your own.
The Bash shell is likely to be pre-installed over other shells such as zshell, fish shell, alacritty, and so on, but you may find it quite unappealing when compared to other shells.
Some users ask us: “Which shell are you using?” What the font name is, how to add transparency, add emoji support, make the terminal window colourful rather than bland, and other similar questions have been raised, so I decided to write this article to address them.
With that question in mind, let’s move on to the next section, where you’ll learn about some of the most common customizations you can make to your Bash shell.
Table of Contents
Linux Terminal Customizations
I’m excited to show you what customizations you can make to your Linux terminal, but first, let me say that I did all of the steps below in a GNOME-based terminal, so some of them may differ on your end, but you’ll understand them.
1: Create a profile
One thing I would recommend is that if you are going to do any kind of customization, always make a backup in case something unexpected happens, so you can easily restore the original state.
So before heading toward customization, first learn how to create a profile or multiple profiles in GNOME Terminal, which allows us to test the customization on the created profile, and if you are satisfied with the customization, then you can change the default profile in a blink.
First, open the terminal and go to Edit->Preferences.
Click on the + icon that is next to Profiles, and enter the profile name that you want to assign. Then click on the Create button to complete the process.
Once that’s finished, you can begin making changes to the profile without disturbing the terminal’s default settings; just make sure you’ve chosen the correct profile.
2: Make it easy on the eyes to read the text.
I have set the profile name to “TRENDOCEANS,” which is now available for making any changes to it. Therefore, I am greeted with a plethora of customization options, including text size, colour scheme, scrolling speed, command, and compatibility support.
So first, let’s get our hands dirty with the first “Text” option, which is divided into three sections: Text Appearance, Cursor, and Sound.
To test the changes on your terminal, you can set the preferences tab and terminal like this and change the terminal profile from Terminal->Change Profile->Select Profile.
- Text Appearance: You may have noticed that terminals always open at the same size. This happens because of the value “fixed” under the initial terminal size. If you want to change the default terminal size, then tweak the columns and rows, and if anything goes wrong, simply press the “Reset” button.
- Custom font: When you want to try some other font than the default one, then you need to check “Custom font,” and after that you will be allowed to choose a different kind of font from the available ones. One thing I like to add is that when you want to download a new font, make sure you download a monotype font for better compatibility.
- Cursor: If you don’t like the default block cursor, you can choose an I-beam or underline cursor type from the cursor shape, and you can also turn on and off the cursor blinking pattern.
3: Add some colour to your life
Change the tab to Colours, where you will find numerous options for changing the text and background colour of the terminal, whether you want to use system theme-based colours or not, and many other options for your convenience.
When you want to change the colours according to your taste, don’t forget to uncheck “Use colours from the system theme,” which will enable many options that were previously disabled.
After that, you can try out the available colours with respect to the available options. I would also suggest unchecking “Use transparency from the system theme” and checking “Use transparent background” to achieve the desired degree of transparency.
4: Remove the scrollbar from the side
If you don’t like the scrollbar that appears on the right side of the terminal window and want to disable it, switch to the Scrolling tab and uncheck “Show scrollbar” to disable the scrollbar in the GNOME terminal.
5: Set the theme variant
If you switch to the light theme but still see the dark theme around the terminal, then you need to change the theme variant. To change the theme, you need to select “General” from the left side and click on the Theme Variant drop-down menu to change the theme according to your requirements.
This is a global setting, so it won’t affect just one user profile.
6: Remove the terminal’s menu bar to simplify its appearance
Everyone has their own personal taste, so I’ll show you the end result, and if you like it, you can follow the instructions below to get the same effect on your own computer.
To replicate this on your terminal, go to the General tab option, which is on the left side of the preferences, and you will find the first check box with the message “Show menubar by default in new terminals.”
You can remove the terminal’s menubar by unchecking the box, and you can restore it by doing the same.
To test this, do not close the preferences window; otherwise, you will have difficulty finding it. So, I suggest that you keep the preferences window open and switch to the new terminal, where the result will be.
If you would like to keep this setting all the time, then I would suggest that you assign a shortcut key to enable or disable the menu bar in the terminal, which you will find in the next section.
7: Assign a shortcut key
You can assign shortcut keys to your terminal by clicking the Shortcuts tab (which can be found below the General tab) and then toggling the shortcuts on if they are currently off.
I’m not sure whether you have read our article on Bash Keyboard Shortcuts for the Pro! or not, but I’ll suggest you bookmark that page for future reference to handle Bash like a pro.
Anyway, let’s return to the context where I’ll demonstrate how to use shortcut keys to hide and show menubar options with a combination of keystrokes.
Go to the View menu and click on the first option, “Hide and Show Menubar.” Then, assign the keystroke you want to use to use this feature.
If you prefer the same shortcut that I use, “Ctrl+Alt+M,” then that’s fine with me.
There are plenty of other cool things you can do with the right combination of keys, so experiment to see what works best for you.
8: Set a custom margin or padding setting
The image below clearly shows that the second image is far superior to the first. Agree? If yes, then it has happened because I have increased the margin or padding of the terminal by 20px.
9: Put in a ZSH shell or fish shell
The default Bash shell in the terminal lacks many features that are present in other popular shells like ZSH and Fish.
It offers features like tab completion, custom aliases, plugin support, git support, emoji, custom functions, 100+ themes that you can use according to your preferences, and many more intriguing features that you will discover once you start using it.
I’m sure once you get used to it, you won’t want to go back to the Bash shell.
There are separate articles that go into detail about how to install and set up ZSH and Fish Shell on Linux. You can get to those articles by clicking on the links provided.
- Installing ZSH Shell, OhMyZsh, and PowerLevel10k on Ubuntu 22.04
- Installing Fish Shell and Starship on Linux Distributions
After you install the custom theme, please send me a screenshot of your terminal so that our readers can get more ideas.
10: Set the colour palette as per the wallpaper
One of the Python-based tools that will change the terminal’s colour scheme to match the background wallpaper is called Pywal, and I’d like to show it to you before I wrap up this article. I find that very intriguing.
It’s true that the tool will handle everything for you, but before you can use it, you’ll need to install PyWAL on your computer.
I recommend that you follow the installation instructions from this link, which include instructions for all major Linux distributions.
Once everything has been installed, you can adjust the colour scheme to match your preferred image by running the following command:
$ wal -i /wallpaper-path
To demonstrate how it works, I chose an image from the /usr/share/wallpapers/ directory, which contains a large collection of images that can be set as the wallpaper.
$ wal -i /usr/share/wallpapers/Winding\ Road\ Vanessa/contents/images/3992x2992.jpg
Voila! The original colour scheme has been replaced with one that is much more pleasing to the eye.
To learn more about how to make the theme persistent after a reboot, click here.
There’s more to add, but right now it’s too much, and if I shared it with everyone, it would be too much information for anyone to process, and I don’t want you to get lost somewhere in the middle of changes.
I would recommend you play with ZSH or fish shell to optimise the terminal for your daily use.
Anyway, if there is something I need to consider, please use the space below to provide any additional information or feedback.
A man with a tech effusive who has explored some of the amazing technology stuff and is exploring more. While moving towards, I had a chance to work on Android development, Linux, AWS, and DevOps with several open-source tools.