Linuxips
  • Home
  • Linux
  • Debian
  • Ubuntu
  • Fedora
  • Arch Linux
No Result
View All Result
Linuxips
  • Home
  • Linux
  • Debian
  • Ubuntu
  • Fedora
  • Arch Linux
No Result
View All Result
Linuxips
No Result
View All Result
Home Fedora

How to Install ZSH on Fedora | Bash to ZSH

admin by admin
August 28, 2022
Reading Time: 6 mins read
0
How to Install zsh (Z Shell) on Fedora

In this article, we are going to learn about how to install ZSH on Fedora. And how to change the default shell to ZSH on Fedora. ZSH (Z Shell) is a better alternative to the Bash shell, in ZSH we can modify the terminal and make our terminal as colorful as we like.

Contents hide
1 What is ZSH
2 Why ZSH?
3 Before installing Zsh: Dependencies
4 Update the Fedora
5 How To Install ZSH on Fedora
6 Complete Switch from BASH to ZSH
7 Change the ZSH Themes
7.1 Install oh-my-zsh
7.1.1 oh-my-zsh Vai Curl
7.1.2 Installing oh-my-zsh Vai wget
7.2 Install zsh-autosuggestions
7.3 Install zsh-syntax-highlighting
8 Change the Zsh Themes
8.1 Selecting a Theme
8.2 Oh-My-Zsh plugins:
8.3 Enabling Plugins
9 Conclusion

What is ZSH

ZSH also known as Z shell, is a Unix shell that that is an extended version of the Bourne Shell (sh), with many new features and supports many plugins and themes. It is the best alternative to Bash with a cool and stylish shell interface including some features of Bash, KSH, and tcsh.

Why ZSH?

ZSH is an awesome shell that just makes everything a bit simpler with its plugins like auto-suggestions, syntax-completing tasks, etc. ZSH has many features like autosuggestion, spelling correction, auto jump, syntax-highlighting, or many more plugins and theme support.

Before installing Zsh: Dependencies

Packages that are supportive to Zsh you need to install:

  • Install the git, wget, curl packages.
  • ZSH– ZSH shell.
  • Oh My Zsh – it is an open-source, community-driven framework for managing your zsh configuration
  • zsh-syntax-highlighting – This package provides syntax highlighting for the shell Zsh.
  • zsh-autosuggestions – It suggests commands as you type based on history and completions.

Update the Fedora

First of all we have to update our Fedora using following command:

$ sudo dnf update

Update Fedora 36

How To Install ZSH on Fedora

We have to install the ZSH using this command:

$ sudo dnf install zsh
[linuxips@fedora ~]$ sudo dnf install zsh
Last metadata expiration check: 0:16:29 ago on Sun 28 Aug 2022 03:31:00 AM IST.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
zsh x86_64 5.8.1-1.fc36 fedora 2.9 M

Transaction Summary
================================================================================
Install 1 Package

Total download size: 2.9 M
Installed size: 7.6 M
Is this ok [y/N]: Y
Downloading Packages:
zsh-5.8.1-1.fc36.x86_64.rpm 187 kB/s | 2.9 MB 00:16 
--------------------------------------------------------------------------------
Total 173 kB/s | 2.9 MB 00:17 
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1 
Installing : zsh-5.8.1-1.fc36.x86_64 1/1 
Running scriptlet: zsh-5.8.1-1.fc36.x86_64 1/1 
Verifying : zsh-5.8.1-1.fc36.x86_64 1/1

Installed:
zsh-5.8.1-1.fc36.x86_64

Complete!
[linuxips@fedora ~]$

Install zsh on Fedora 36

Complete Switch from BASH to ZSH

Now we have to completely switch Bash to zsh so you have to type the following command:

$ sudo chsh -s /bin/zsh <username>

Bash to zsh on Fedora

And after that, you have to log out from the current user and log in again. Your ZSH is installed. You can check by this:

$ sudo cat /etc/passwd

Here you can check your user at the end from /bin/bash to /bin/zsh. So now your user shell completely changed Bash to Zsh.

Note: Reboot you Fedora after this changes. And then open the terminal and choose the 0 option there first time.

Change the ZSH Themes

Install oh-my-zsh

oh-my-zsh Vai Curl

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

Installing oh-my-zsh Vai wget

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

Install zsh-autosuggestions

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

Install zsh-syntax-highlighting

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

Change the Zsh Themes

Now you have installed all the dependencies which are required, so now we will change the ZSH theme you have to edit the .zshrc file to change the themes.

$ sudo nano /home/username/.zshrc

Zshrc file in Fedora

Selecting a Theme

Oh-My-Zsh is the main plugin framework for ZSH, and it comes with many pre-built plugins and themes, you have to just change the name of the theme ZSH_THEME=”robbyrussell” and your Zsh theme will be changed.

➜  ~ ls /home/linuxips/.oh-my-zsh/themes 
3den.zsh-theme             kennethreitz.zsh-theme
adben.zsh-theme            kiwi.zsh-theme
af-magic.zsh-theme         kolo.zsh-theme
afowler.zsh-theme          kphoen.zsh-theme
agnoster.zsh-theme         lambda.zsh-theme
alanpeabody.zsh-theme      linuxonly.zsh-theme
amuse.zsh-theme            lukerandall.zsh-theme
apple.zsh-theme            macovsky-ruby.zsh-theme
arrow.zsh-theme            macovsky.zsh-theme
aussiegeek.zsh-theme       maran.zsh-theme
avit.zsh-theme             mgutz.zsh-theme
awesomepanda.zsh-theme     mh.zsh-theme
bira.zsh-theme             michelebologna.zsh-theme
blinks.zsh-theme           mikeh.zsh-theme
bureau.zsh-theme           miloshadzic.zsh-theme
candy-kingdom.zsh-theme    minimal.zsh-theme
candy.zsh-theme            mira.zsh-theme
clean.zsh-theme            mlh.zsh-theme
cloud.zsh-theme            mortalscumbag.zsh-theme
crcandy.zsh-theme          mrtazz.zsh-theme
crunch.zsh-theme           murilasso.zsh-theme
cypher.zsh-theme           muse.zsh-theme
dallas.zsh-theme           nanotech.zsh-theme
darkblood.zsh-theme        nebirhos.zsh-theme
daveverwer.zsh-theme       nicoulaj.zsh-theme
dieter.zsh-theme           norm.zsh-theme
dogenpunk.zsh-theme        obraun.zsh-theme
dpoggi.zsh-theme           peepcode.zsh-theme
dstufft.zsh-theme          philips.zsh-theme
dst.zsh-theme              pmcgee.zsh-theme
duellj.zsh-theme           pygmalion-virtualenv.zsh-theme
eastwood.zsh-theme         pygmalion.zsh-theme
edvardm.zsh-theme          random.zsh-theme
emotty.zsh-theme           re5et.zsh-theme
essembeh.zsh-theme         refined.zsh-theme
evan.zsh-theme             rgm.zsh-theme
fino-time.zsh-theme        risto.zsh-theme
fino.zsh-theme             rixius.zsh-theme
fishy.zsh-theme            rkj-repos.zsh-theme
flazz.zsh-theme            rkj.zsh-theme
fletcherm.zsh-theme        robbyrussell.zsh-theme
fox.zsh-theme              sammy.zsh-theme
frisk.zsh-theme            simonoff.zsh-theme
frontcube.zsh-theme        simple.zsh-theme
funky.zsh-theme            skaro.zsh-theme
fwalch.zsh-theme           smt.zsh-theme
gallifrey.zsh-theme        Soliah.zsh-theme
gallois.zsh-theme          sonicradish.zsh-theme
garyblessington.zsh-theme  sorin.zsh-theme
gentoo.zsh-theme           sporty_256.zsh-theme
geoffgarside.zsh-theme     steeef.zsh-theme
gianu.zsh-theme            strug.zsh-theme
gnzh.zsh-theme             sunaku.zsh-theme
gozilla.zsh-theme          sunrise.zsh-theme
half-life.zsh-theme        superjarin.zsh-theme
humza.zsh-theme            suvash.zsh-theme
imajes.zsh-theme           takashiyoshida.zsh-theme
intheloop.zsh-theme        terminalparty.zsh-theme
itchy.zsh-theme            theunraveler.zsh-theme
jaischeema.zsh-theme       tjkirch_mod.zsh-theme
jbergantine.zsh-theme      tjkirch.zsh-theme
jispwoso.zsh-theme         tonotdo.zsh-theme
jnrowe.zsh-theme           trapd00r.zsh-theme
jonathan.zsh-theme         wedisagree.zsh-theme
josh.zsh-theme             wezm+.zsh-theme
jreese.zsh-theme           wezm.zsh-theme
jtriley.zsh-theme          wuffers.zsh-theme
juanghurtado.zsh-theme     xiong-chiamiov-plus.zsh-theme
junkfood.zsh-theme         xiong-chiamiov.zsh-theme
kafeitu.zsh-theme          ys.zsh-theme
kardan.zsh-theme           zhann.zsh-theme

Oh-My-Zsh plugins:

Oh My Zsh comes with a large number of plugins to take advantage of. You can take a look at the plugins directory ls /home/linuxips/.oh-my-zsh/plugins

➜  ~ ls /home/linuxips/.oh-my-zsh/plugins/
adb/                       docker-machine/            history-substring-search/  osx/                       sudo/                    
ag/                        doctl/                     hitchhiker/                otp/                       supervisor/              
aliases/                   dotenv/                    hitokoto/                  pass/                      suse/                    
alias-finder/              dotnet/                    homestead/                 paver/                     svcat/                   
ansible/                   droplr/                    httpie/                    pep8/                      svn/                     
ant/                       drush/                     invoke/                    percol/                    svn-fast-info/           
apache2-macports/          eecms/                     ionic/                     per-directory-history/     swiftpm/                 
arcanist/                  emacs/                     ipfs/                      perl/                      symfony/                 
archlinux/                 ember-cli/                 isodate/                   perms/                     symfony2/                
asdf/                      emoji/                     iterm2/                    phing/                     systemadmin/             
autoenv/                   emoji-clock/               jake-node/                 pip/                       systemd/                 
autojump/                  emotty/                    jenv/                      pipenv/                    taskwarrior/             
autopep8/                  encode64/                  jfrog/                     pj/                        terminitor/              
aws/                       extract/                   jhbuild/                   please/                    term_tab/                
battery/                   fabric/                    jira/                      pm2/                       terraform/               
bazel/                     fancy-ctrl-z/              jruby/                     pod/                       textastic/               
bbedit/                    fasd/                      jsontools/                 postgres/                  textmate/                
bedtools/                  fastfile/                  jump/                      pow/                       thefuck/                 
bgnotify/                  fbterm/                    kate/                      powder/                    themes/                  
boot2docker/               fd/                        keychain/                  powify/                    thor/                    
bower/                     firewalld/                 kitchen/                   profiles/                  tig/                     
branch/                    flutter/                   knife/                     pyenv/                     timer/                   
brew/                      fnm/                       knife_ssh/                 pylint/                    tmux/                    
bundler/                   forklift/                  kops/                      python/                    tmux-cssh/               
cabal/                     fossil/                    kubectl/                   rails/                     tmuxinator/              
cake/                      frontend-search/           kubectx/                   rake/                      torrent/                 
cakephp3/                  fzf/                       kube-ps1/                  rake-fast/                 transfer/                
capistrano/                gas/                       lando/                     rand-quote/                tugboat/                 
cargo/                     gatsby/                    laravel/                   rbenv/                     ubuntu/                  
cask/                      gb/                        laravel4/                  rbfu/                      ufw/                     
catimg/                    gcloud/                    laravel5/                  react-native/              universalarchive/        
celery/                    geeknote/                  last-working-dir/          rebar/                     urltools/                
chruby/                    gem/                       lein/                      redis-cli/                 vagrant/                 
chucknorris/               genpass/                   lighthouse/                repo/                      vagrant-prompt/          
cloudfoundry/              gh/                        lol/                       ripgrep/                   vault/                   
codeclimate/               git/                       lxd/                       ros/                       vim-interaction/         
coffee/                    git-auto-fetch/            macports/                  rsync/                     vi-mode/                 
colemak/                   git-escape-magic/          magic-enter/               ruby/                      virtualenv/              
colored-man-pages/         git-extras/                man/                       rust/                      virtualenvwrapper/       
colorize/                  gitfast/                   marked2/                   rustup/                    vscode/                  
command-not-found/         git-flow/                  mercurial/                 rvm/                       vundle/                  
common-aliases/            git-flow-avh/              meteor/                    safe-paste/                wakeonlan/               
compleat/                  github/                    microk8s/                  salt/                      wd/                      
composer/                  git-hubflow/               minikube/                  samtools/                  web-search/              
copybuffer/                gitignore/                 mix/                       sbt/                       wp-cli/                  
copydir/                   git-lfs/                   mix-fast/                  scala/                     xcode/                   
copyfile/                  git-prompt/                mongocli/                  scd/                       yarn/                    
cp/                        glassfish/                 mosh/                      screen/                    yii/                     
cpanm/                     globalias/                 mvn/                       scw/                       yii2/                    
dash/                      gnu-utils/                 mysql-macports/            sdk/                       yum/                     
debian/                    golang/                    n98-magerun/               sfdx/                      z/                       
deno/                      gpg-agent/                 nanoc/                     sfffe/                     zbell/                   
dircycle/                  gradle/                    ng/                        shell-proxy/               zeus/                    
direnv/                    grails/                    nmap/                      shrink-path/               zoxide/                  
dirhistory/                grc/                       node/                      singlechar/                zsh-interactive-cd/      
dirpersist/                grunt/                     nomad/                     spring/                    zsh-navigation-tools/    
django/                    gulp/                      npm/                       sprunge/                   zsh_reload/              
dnf/                       hanami/                    npx/                       ssh-agent/                                          
dnote/                     helm/                      nvm/                       stack/                                              
docker/                    heroku/                    oc/                        sublime/                                            
docker-compose/            history/                   octozen/                   sublime-merge/                              

Enabling Plugins

Once you select a plugin that you want to use with Oh My Zsh, you have to enable them in the .zshrc file. Open it with your favorite text editor and you have to see a spot to list all the plugins you want to load.

$ sudo nano /home/username/.zshrc

zsh Plugins

plugins=(git
zsh-syntax-highlighting
)

Save the file and use the new shell with a new theme and plugins.

zsh syntex highlight in fedora

Conclusion

If you want a custom terminal.  So now you know how to install ZSH on Fedora. And you want to customize according to your need then you have to use ZSH with its themes and plugins. It is very easy to use and has time-saving themes. Many themes are available on the web where you have to simply download and use them without any problem. GOOD LUCK!

Related Linux Tutorials:

  • How to Install Deb Files (Packages) on Ubuntu
  • ZSH to BASH | How to Install ZSH on Ubuntu.
  • Basic Linux Commands for Beginners
  • How to Install Fedora 36 Workstation
  • Install Visual Studio Code on Debian
  • Install Gnome Tweak Tool on Fedora
  • How to Install ZSH on Debian 11
ShareTweetSendShareShare
Previous Post

How to Install Flatpak on Debian 11

Next Post

How to Install Gnome Tweak Tool on Fedora

admin

admin

Linuxips is a Linux blog that publishes articles and tutorials about server operations, installations, new techniques and Linux security.

Related Posts

Install Gnome Tweak Tool on Fedora
Fedora

How to Install Gnome Tweak Tool on Fedora

August 29, 2022
How to Install Fedora 36 Workstation
Fedora

How to Install Fedora 36 Workstation

August 19, 2022

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

No Result
View All Result

You might also like

Install ZSH on Arch Linux

How to Install ZSH on Arch Linux

January 6, 2024
How to Install ZSH on Kali Linux 2024.1

How to Install ZSH on Kali Linux

January 5, 2024
How To Use AppImage in Linux

How To Use AppImage in Linux [Complete Guide]

April 2, 2023
How To Install uGet Download Manager On Ubuntu

How To Install uGet Download Manager On Ubuntu

March 8, 2023
How to Install ZSH on Ubuntu 22.10

How to Install ZSH on Ubuntu 22.10

March 7, 2023
Linux Files and Directories

Linux Files and Directories

March 3, 2023

© 2024 Linuxips.com - Linux Tips, Tricks and Tutorials.

  • Home
  • Web Stories
  • Privacy Policy
  • Contact Us
  • Disclaimer
No Result
View All Result
  • Home
  • Linux
  • Debian
  • Ubuntu
  • Fedora
  • Arch Linux

© 2024 Linuxips.com - Linux Tips, Tricks and Tutorials.