How to Install Z Shell (Zsh) on Ubuntu

How To Install Z Shell Zsh On Ubuntu

Ubuntu’s default terminal shell, Bash (Bourne Again Shell), is powerful and versatile. However, if you’re looking for a more customizable, user-friendly, and aesthetically pleasing experience, Zsh (Z Shell) is a fantastic alternative. Zsh offers advanced features like auto-suggestions, command-line shortcuts, and compatibility with the popular Oh My Zsh framework, which allows for extensive theme and plugin customization.

This guide will walk you through installing Zsh on Ubuntu, setting it as your default shell, and adding Oh My Zsh for even more customization options.

What is Zsh?

Zsh, or Z Shell, is an enhanced version of Bash with added functionality and a focus on improved user experience. It has features like auto-completion, syntax highlighting, fuzzy searching, and custom themes. By combining Zsh with Oh My Zsh, you can supercharge your terminal with hundreds of themes and plugins.

Steps to Install Z Shell on Ubuntu

Let’s get started with the installation. We’ll cover the following steps:

  1. Installing Zsh
  2. Setting Zsh as the default shell
  3. Installing Oh My Zsh for enhanced customization

Step 1: Update and Upgrade Your System

Before installing any new packages, it’s always a good idea to make sure your system is up-to-date. Open your terminal and run:

sudo apt update && sudo apt upgrade

This will update your package lists and upgrade any existing packages.

Step 2: Install Zsh

Now, let’s install Zsh. Ubuntu has Zsh in its default repositories, so installing it is straightforward.

Run the following command in the terminal:

sudo apt install zsh

Ubuntu will handle the installation automatically. You can check the installation by running:

zsh --version

If it returns a version number (e.g., zsh 5.8), Zsh is successfully installed.

Step 3: Set Zsh as Your Default Shell

Once Zsh is installed, you’ll want to set it as your default shell so it opens automatically every time you launch a new terminal session.

  1. To make Zsh your default shell, use this command:chsh -s $(which zsh) This command sets Zsh as the default shell for your user account.
  2. Log out and log back into your system, or simply close and reopen your terminal to start using Zsh.

Tip: If you want to switch back to Bash at any time, just enter chsh -s $(which bash) in the terminal, and then log out and back in.

Step 4: Install Oh My Zsh (Optional but Highly Recommended)

While Zsh on its own is powerful, Oh My Zsh makes it even better by offering an extensive collection of plugins and themes that can enhance your terminal experience. Installing Oh My Zsh is easy:

  1. First, download and run the Oh My Zsh installation script by entering:sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" If you don’t have curl installed, you can install it with:sudo apt install curl Alternatively, if you prefer using wget, you can run:sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
  2. During installation, Oh My Zsh will automatically set Zsh as your default shell (if it isn’t already) and create a .zshrc configuration file in your home directory. This file controls your Zsh settings, including themes, plugins, and aliases.

Step 5: Customize Zsh with Themes and Plugins

Now that Oh My Zsh is installed, you can start customizing your terminal. Here are a few ways to personalize your Zsh environment:

  1. Select a Theme:
    • Oh My Zsh includes a variety of themes located in the ~/.oh-my-zsh/themes directory.
    • Open the .zshrc file to change the theme by running:nano ~/.zshrc
    • Find the line that starts with ZSH_THEME=, and change the theme name. For example, to use the agnoster theme, modify the line to:ZSH_THEME="agnoster"
    • Save and exit (in Nano, press CTRL + X, then Y, and Enter to confirm). Restart your terminal to see the new theme.
  2. Add Plugins:
    • Oh My Zsh has several plugins that improve functionality. Some popular ones include git for Git commands, zsh-autosuggestions for command suggestions, and zsh-syntax-highlighting for syntax coloring.
    • To enable a plugin, edit the .zshrc file again:nano ~/.zshrc
    • Find the line that starts with plugins=(). Add plugins within the parentheses. For example, to enable git and zsh-autosuggestions, modify the line to:plugins=(git zsh-autosuggestions)
    • Save and exit, then restart your terminal.

Note: To use some plugins, you may need to install them separately. For instance, to install zsh-syntax-highlighting, you can run:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

After installation, add zsh-syntax-highlighting to the plugins list in your .zshrc file.

Step 6: Restart Your Terminal

To apply all changes, close and reopen your terminal. You should now be greeted by your customized Zsh environment, complete with themes and plugins that make your terminal not only more functional but also more visually appealing.

Uninstalling Zsh (Optional)

If you ever decide to revert to Bash and uninstall Zsh, you can do so easily:

  1. First, switch back to Bash as your default shell:chsh -s $(which bash) Then, log out and log back in.
  2. Remove Zsh and Oh My Zsh:sudo apt remove zsh rm -rf ~/.oh-my-zsh

Reminder: Removing Oh My Zsh will delete your .zshrc configuration file and reset your terminal experience.

Final Thoughts

Zsh and Oh My Zsh offer a wealth of features that can make your Ubuntu terminal experience more productive, efficient, and fun. By following this guide, you’ll not only have a new shell but also access to powerful customization options that can transform the way you work. Enjoy exploring your new Zsh-powered terminal, and don’t hesitate to dive into the world of plugins and themes to make it your own!