Qadry
Linux SysAdmin From Egypt Highly motivated, optimistic always seeking for new challenges that makes me able to grow.

How to Install OH-MY-ZSH in Ubuntu 21.04

Introduction

OH-MY-ZSH is an open-source framework for managing ZSH configuration and is community-driven. It comes bundled with tons of helpful functions, plugins, helpers, themes, and a few things that will make you better at the terminal. There are currently 275+ plugins and 150 themes supported.

First thing first, you need to install and set up ZSH as your default shell in Ubuntu.

Requirements

  • Zsh should_be installed .
  • Curl or Wget should_be installed.
  • Git should_be installed .

Let’s see how to install and set up the OH-MY-ZSH program in Ubuntu Linux.

How to install OH-MY-ZSH in Ubuntu

Installation of Oh My Zsh canbe carried out using “Curl” or “Wget” commands in your terminal.Make sure either of one utility installed in the OS, if not install them along with git by running the following apt command.

$ sudo apt install curl wget git

Next, install Oh My Zsh via the command-line with either curl or wget as shown:

How to Install zsh via apt

sudo apt install zsh -y

Install oh-my-zsh via curl

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

Install oh-my-zsh via wget

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

Press y to change your shell to zsh then enter the password as shown below:

As shown ZSH installed

By the way, once you Install OH-MY-ZSH, it will take a backup of your existing .zhrc file. Then a new  .zhrc file willbe created with configurations. So whenever you decide to remove OH-MY-ZSH using the uninstaller, an automatically old  .zhrc file will be reverted.

-rw-r--r--  1 unixcop unixcop      3690 Jun 10 10:00 .zshrc

All the configurations placed under .zhrc file.This is where you will either change the parameters or enable new plugins or change themes based upon the needs.

Let’s break down some of the important parameters we can modify in the .zhrc file.

OH-MY-ZSH Themes

Among all features in OH-MY-ZSH, I love the set of themes that comes in a bundle with the installation. It visually improves my terminal look and feel. Themes installed under /home/unixcop/.oh-my-zsh/themes/

You can enter the shell with :

$ zsh

Also you can list all the themes with command :

➜  ~  ls /home/unixcop/.oh-my-zsh/themes/

By default “robbyrussell” is the theme that gets loaded. To change the theme modify the parameter “ZSH_THEME=<THEME-NAME>” under the  .zshrc file.

$ vim ~/.zshrc

You have to source (source ~/.zshrc) the file for changes to be effective.

$ source ~/.zshrc

OH-MY-ZSH Plugins

There are tons of plugins that are supported by OH-MY-ZSH. Setting up a plugin is quite easy. All you have to do is get the plugin package and add the plugin name in the plugins parameter on the  .zshrc file. By default, git is the only plugin that is enabled after installation.

Now Let’s add two more plugins “ZSH-autosuggestions and ZSH-Syntax-highlighting” by cloning the packages.

$ 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

To make plugins effective all you have to do is edit the  .zhsrc file, add the plugin name in plugins=() with a space between each plugin name.

$ vim ~/.zshrc

Add these two plugins as shown below :

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

then type :wq to save the editing file

Now source (source ~/.zshrc) file for changes to be effective. Now you can see from the screenshot the auto-suggestion feature is enabled and it remembers the command I used previously and suggests based on it.

Enter the shell with :

unixcop@ubuntu:~$ zsh
➜  ~ sudo apt install wget

OH-MY-ZSH Automatic Update

OH-MY-ZSH automatically checks for updates bi-weekly. To disable it, set parameter DISABLE_AUTO_UPDATE=”true”. You can also control the number of days the update should run by setting export UPDATE_ZSH_DAYS=<NUMBER OF DAYS>.

It is possible to run manual updates with:

➜  ~ omz update  

Removing OH-MY-ZSH in Ubuntu

If you want to remove oh-my-zsh, run the command “uninstall oh_my_zsh“. It will remove all the necessary files and folders part of oh_my_zsh and revert to the previous state. Restart your terminal for changes to be effective.

➜  ~ uninstall_oh_my_zsh

Then enter your password to complete uninstall.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest articles

x