Home Downloads How to install and use Oh My Zsh on Ubuntu

How to install and use Oh My Zsh on Ubuntu

This comprehensive guide covers the installation and usage of Oh My Zsh on Ubuntu. Learn to enhance your terminal experience with easy setup steps, customization options, powerful plugins, and themes, making your command line interface more efficient and visually appealing.

by Tony Gidraph
oh my zsh ubuntu

The Linux te­rminal, also known as the command line or shell, is a powerful interface that allows users to interact with their computer using text-base­d commands. It serves as an esse­ntial component of the Linux operating system, offering direct control and management capabilities for users.

The de­fault shell in Ubuntu, like many other Linux distributions, is the “Bash” shell. It stands for “Bourne Again Shell.” Bash se­rves as a widely used command-line­ shell providing a text-based inte­rface for interacting with the Ubuntu operating system. It is the successor to the original “Bourne Shell” (sh) and is known for its stability and compatibility. You can read more about the Bash shell in our post – What is Bash shell, and know its importance in Linux.

Even though the Bash shell comes with a wide range of useful features, some users may find themselves in search of a shell with more advanced capabilities and enhanced customization. Oh My Zsh offers an attractive solution for those seeking to take their command-line experience to the next level.

While Bash provides a solid foundation for interacting with the Ubuntu system, Oh My Zsh introduces an array of plugins, themes, and customization options that can significantly elevate your terminal environment. With Oh My Zsh, you gain access to tools that enhance productivity, streamline tasks, and empower you to personalize your terminal, making it an appealing choice for users looking to supercharge their Ubuntu command-line experience.

What is Oh My Zsh?

Oh My Zsh, a community-driven framework, simplifies the configuration of the Zsh she­ll. It provides a vast range of built-in functions, plugins, theme­s, and tools to enhance your command-line proficie­ncy. Currently supporting 275 plugins and 150 themes, Oh My Zsh offers numerous options to unlock your terminal’s full potential. This framework makes managing your Zsh configuration user-friendly for both ne­wcomers and experie­nced users alike.

Installing Oh My Zsh on Ubuntu

In this guide, we will lead you through the installation and usage­ of Oh My Zsh on your Ubuntu system.

Requirements

  • Ensure you have ZSH installed on your system: Zsh is the shell on which Oh My Zsh is built, and it provides a more advanced and customizable command-line environment than the default Bash shell. Oh My Zsh relies on Zsh to enhance your terminal experience. Read our comprehensive post – How to install and use Zsh on Ubuntu.
  • Ensure you have these two command-line tools installed – Curl or Wget: You will need to utilize either Curl or the Wget command to install Oh My Zsh on your Ubuntu system.

Use any of the commands below to install Curl or Wget on your Ubuntu system.

sudo apt install curl
sudo apt install wget
  • Ensure you have Git installed on your system: Oh My Zsh supports a substantial number of plugins that enhance your overall terminal experience. Git is required to clone the repositories where these plugins are stored, ensuring their availability for use.

If you haven’t yet installed Git on your syste­m, you can easily do so by using the following command:

sudo apt install git

Step 1: Install the ZSH terminal emulator

The Z She­ll, also known as Zsh, is a versatile and powerful she­ll or command-line interprete­r widely used on Unix-like ope­rating systems, including Linux. It emerge­s as an advanced alternative to the more commonly used Bash shell. With its extensive array of features and customization options, Zsh has become a favourite among command-line­ enthusiasts and power users.

You can check out a comprehensive post – How to install and use Zsh on Ubuntu – that will give you a step-by-step guide to:

  • Installing the ZSH shell
  • Verifying ZSH installation
  • The different features available in Zsh
  • Setting Zsh as the default shell

Step 2. Install Oh My ZSH on Ubuntu

Oh My Zsh is not available in the official Ubuntu repositories. Therefore, you cannjot install it using the popular “apt” command. It is an open-source project maintained separately by the Oh My Zsh community and can be installed directly from its GitHub repository using curl or wget. That allows you to access the latest version and customize your Zsh environment with the numerous plugins and themes it offers.

To install Oh My Zsh, follow these steps:

Launch the terminal from the applications menu or by using the keyboard shortcut Ctrl + Alt + T.

Next, use any of the commands below to install Oh My Zsh on your Ubuntu system.

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

or use wget with this command:

sh -c "$(wge­t https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
install oh my zsh with curl command

install oh my zsh with curl command

When you install Oh My Zsh, it will back up your existing .zshrc file and create a new one with its own configuration. This means that you can always revert to your old configuration if you decide to uninstall Oh My Zsh. For example, when we executed the ls -a command, we saw two .zshrc files.

oh my zsh zshrc files

oh my zsh zshrc files

  • .zshrc: This is the new file created by Oh My Zsh with its own configuration.
  • .zshrc.pre-oh-my-zsh: This is the original .zshrc file that was backed up when we installed Oh My Zsh.

All of Oh My Zsh’s configurations are located in the .zshrc file. This is where you can change parameters, enable new plugins, and switch themes.

OH-MY-ZSH themes

Oh My Zsh themes are configurations that dictate the appearance of your Zsh prompt, enhancing the visual experience of your terminal. They are designed to provide a variety of styles, colours, and information displays, allowing users to personalize their command-line interface.

The default theme that comes with Oh My Zsh is called “robbyrussell.” It features a clean and informative prompt, displaying the username, host, current directory, and git status if you’re in a Git repository.

You can verify that by opening the .zshrc file using the command below.

nano ~/.zshrc
oh my zsh default theme

oh my zsh default theme

The default theme is often a good starting point, but one of the strengths of Oh My Zsh is the extensive collection of additional themes available for users to choose from.

Getting and applying more themes:

Oh My Zsh themes can be found in the ~/.oh-my-zsh/themes/ directory. You can view them by executing the command below.

ls ~/.oh-my-zsh/themes/
oh my zsh themes

oh my zsh themes

Follow the steps below to explore and apply additional themes.

1. Browse available themes:

Visit the Oh My Zsh Themes Wiki on GitHub to see a list of available themes. Each theme is showcased with a screenshot and a description of its features.

2. Choose a theme:

Select a theme that appeals to you and note its name. For example, we want to use the “agnoster” theme.

3. Edit your Zsh configuration:

Open your Zsh configuration file, usually located at ~/.zshrc, using a text editor. You can use a command like:

nano ~/.zshrc

4. Change the theme:

Locate the line in your .zshrc file that sets the ZSH_THEME variable. By default, it is set to ZSH_THEME=”robbyrussell”. Replace “robbyrussell” with the name of the theme you want to use. For example:

ZSH_THEME="agnoster"
change theme

change theme

Save the file (Ctrl + S) and exit (Ctrl + X) the text editor.

5. Apply the changes:

To apply the new theme, you can either open a new terminal window, restart your terminal emulator, or run:

source ~/.zshrc

Now, your Zsh prompt should reflect the selected theme.

testing new oh my zsh theme

Testing new oh my zsh theme

Different themes offer various visual styles and information displays, so feel free to experiment until you find the one that suits your preferences. Remember that some themes may require additional fonts or configurations, and instructions for these can usually be found in the theme’s documentation.

OH-MY-ZSH plugins

OH-MY-ZSH comes packed with a multitude of plugins designed to enhance and streamline your Zsh experience. Integrating a new plugin into your setup is a straightforward process. Simply obtain the desired plugin package and include its name in the plugin parameter within the .zshrc file. By default, OH-MY-ZSH activates the Git plugin upon installation. Let’s look at how you can add more plugins.

First, visit the zsh-users Github page where you can view zsh community projects. Here you will find various Zsh plugins from various developers. Select any plugin that you wish to install.

For this post, we will install:

  • zsh-syntax-highlighting plugin: This plugin enables the highlighting of commands whilst they are typed at a zsh prompt into an interactive terminal.
  • zsh-autosuggestions: This plugin suggests commands as you type based on history and completions.
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

Tip: When you look at the command above, you will see this part $ZSH_CUSTOM/. This is the destination directory where the cloned repository will be stored on your local machine. The $ZSH_CUSTOM variable is typically set to the custom directory within the Oh My Zsh configuration. The /plugins/zsh-autosuggestions specifies the specific subdirectory where the plugin files will be placed.

Once the plugins are cloned, enable them by editing the .zshrc file. Add the plugin names, separated by spaces, within the plugins=() section:

sudo nano ~/.zshrc

Add these lines.

  • zsh-autosuggestions
  • zsh-syntax-highlighting
add plugin

Add plugin

After making these changes, apply the modifications by sourcing the .zshrc file:

source ~/.zshrc

Upon successful implementation, you’ll notice the new features in action. For instance, the auto-suggestion functionality intelligently recalls and proposes commands based on your previous usage, enhancing your command-line efficiency. Experiment with a variety of OH-MY-ZSH plugins to tailor your Zsh environment to your specific needs.

OH-MY-ZSH automatic update

OH-MY-ZSH offers the convenience of automatic bi-weekly updates to ensure your Zsh configuration remains current. If you prefer manual control, you can disable automatic updates by uncommenting the line below in the .zshrc file.

zstyle ':omz:update' mode disabled
disable zsh automatic update

Disable zsh automatic update

Additionally, you have the flexibility to customize the update frequency by uncommenting the line zstyle ':omz:update' frequency 13 and setting the number of days after which Oh My Zsh should update.

update oh my zsh

Update oh my zsh

To manually trigger an update, run the following command in your terminal:

omz update
manually update oh my zsh

Manually update oh my zsh

This command fetches the latest changes from the Oh My Zsh GitHub repository, giving you the ability to stay on top of new features, bug fixes, and enhancements at your convenience. Whether you opt for automatic updates or prefer a manual approach, Oh My Zsh provides the flexibility to keep your Zsh environment in sync with the latest improvements.

Uninstalling Oh My Zsh

To remove Oh My Zsh from your system, execute the following command:

uninstall_oh_my_zsh
uninstall oh my zsh

Uninstall oh my zsh

This command ensures the removal of all files and folders associated with Oh My Zsh, reverting your shell configuration to its previous state. For the changes to take effect, restart your terminal session by closing and reopening it. Following these steps will seamlessly uninstall Oh My Zsh from your system.

Wrapping up

This post provides a comprehensive guide to installing and getting started with Oh My Zsh. We’ve covered everything from setting up themes to adding plugins, offering a detailed walkthrough for optimizing your terminal experience. Do you have any questions or are you facing any issues? Please feel free to let us know in the comments below.

You may also like

1 comment

dragonmouth December 11, 2023 - 11:28 AM

While the colors on some of the screens are pretty and demonstrate Oh My Zsh quite well, some of the colors do not show up well. For example, dark blue on a black background is hard to read.

Reply

Leave a Comment

fl_logo_v3_footer

ENHANCE YOUR LINUX EXPERIENCE.



FOSS Linux is a leading resource for Linux enthusiasts and professionals alike. With a focus on providing the best Linux tutorials, open-source apps, news, and reviews written by team of expert authors. FOSS Linux is the go-to source for all things Linux.

Whether you’re a beginner or an experienced user, FOSS Linux has something for everyone.

Follow Us

Subscribe

©2016-2023 FOSS LINUX

A PART OF VIBRANT LEAF MEDIA COMPANY.

ALL RIGHTS RESERVED.

“Linux” is the registered trademark by Linus Torvalds in the U.S. and other countries.