Como instalar o Shell ZSH Linux + Oh My ZSH

Neste tutorial Linux, aprenderemos  a instalar o ZSH + Oh My ZSH neste sistema operacional.

O Z Shell ou ZSH para os íntimos é um tipo de shell Linux que oferece diversas ferramentas e facilidades de uso para o terminal Linux.

Com o ZSH é possível usufruir de recursos avançados de usabilidade, apresentação e produtividade em comparação com o shell bash tradicional do Linux.


Conteúdo

  • O que é o ZSH Linux ?
  • O que é um Shell ?
  • Tipos de Shell Linux
  • Como saber qual o shell Linux está sendo utilizado por um usuário ou distro Linux ?
  • Pré Requisito ZSH
  • Instalação dependências do ZSH
  • Como instalar fontes PowerLine
  • Como instalar o Z Shell (ZSH)
  • Como instalar o Oh My ZSH Linux
  • Instalando temas no ZSH com o Oh My ZSH
  • Instalando Plugins no ZSH com o Oh My ZSH
  • Como Desinstalar o ZSH e o Oh My ZSH


🎦 Vídeo Aula: Como Instalar o ZSH + Oh My ZSH no Linux 👩🏻‍💻🐧



Como instalar o Shell ZSH Linux + Oh My ZSH
Como instalar o Shell ZSH Linux + Oh My ZSH

O que é o ZSH Linux ?

Basicamente o ZSH ou Z Shell é um Tipo de Shell

Caso você ainda não saiba no Linux existem vários tipos de Shell.

O que é um Shell ?

Um shell no mundo GNU/Linux é a interface entre o usuário e o sistema operacional através da qual o usuário interage em linha de comando pelo terminal.

Tipos de Shell Linux

O Linux possui uma variedade de diferentes Shells

  • Bourne shell (sh)
  • C Shell (csh)
  • Korn Shell (ksh)
  • TC Shell (tcsh)
  • Bourne Again Shell (bash)
  • Z Shell (zsh)

ZSH = Z Shell

Z Shell ou simplesmente o ZSH , é um shell assim como o BashSH.

Com o ZSH é possível usufruir de recursos avançados de usabilidade, produtividade e customização em comparação com o bash.

O ZSH é um shell muito mais customizável e que possui uma série de temas e plugins que permitem estender suas funcionalidades de uso do terminal do sistema.

Então vamos a instalação e configuração do ZSH.


Como saber qual o shell Linux está sendo utilizado por um usuário ou distro Linux ?

Para saber qual é o Shell esta em uso em sua distro Linux, abra um terminal e digite:

echo $SHELL

Como saída do comando, temos /bin/bash , ou seja, o usuário está usando o bash que é o shell padrão do Ubuntu, assim como diversas outras distros Linux.

Agora vamos a saber mais sobre o ambiente do ZSH e seus componentes.


Neste aula aprenderemos a instalar o ZSH e o Oh My ZSH que é um gestor de configurações do ZSH, com ele, poderemos instalar Temas e Plugins para o nosso ZSH, aumentando a beleza, produtividade e capacidade de personalização deste Shell.

Após instalar o Oh My ZSH, vamos instalar alguns temas como o Agnoster, SpaceShip, Powerlevel entre outros.

Depois dos temas, aprenderemos a instalar plugins como zsh-syntax-highlighting, que ajuda você a digitar comandos corretamente no terminal e zsh-autosuggestions que adiciona recurso de auto-sugestão de comandos no ZSH baseado em seu histórico, tornando mais fácil a repetição de comandos já utilizados.

Vale lembrar que este vídeo se destina ao usuários de Linux , mas os procedimentos podem ser aplicado a quem utiliza o WSL do Windows, o processo é bem parecido. Mas caso tenha dificuldades no WSL Windows, fique tranquilo, faremos um outro vídeo sobre ZSH no WSL Windows em breve !

Pré Requisito ZSH

Para instalar ZSH o requisito é ter um sistema Linux no PC.

Neste vídeo, vamos utilizar o Linux Ubuntu, mas você pode utilizar sua distribuição favorita.

Caso queira instalar o Ubuntu, mint e outras distros, já existem vídeos aqui no canal que tratam disso, bem como Windows Terminal, do WSL e muito mais, os links estão na descrição deste vídeo.

Então bora pra mão na massa.


Como instalar pacotes de Dependência do ZSH

Vamos abrir um terminal Linux e atualizar os pacotes do Linux com os comandos:

sudo apt update
sudo apt upgrade

Instalando dependências de pacotes para instalar o ZSH

Depois que atualizamos a lista de pacotes do sistema operacional, vamos instalar as dependências, que são pacotes necessários para executar o Zsh e oh-my-zsh de forma adequada.

A lista de dependências são apenas dois pacotes.  Se não me engano, esses dois pacotes devem vir pré-instalados dependendo de sua distro ou instalação sistema.

De qualquer forma, os pacotes que precisamos instalar são wget e git .

E só para esclarecer, eles não são necessários para instalar o Zsh, mas para oh-my-zsh.

E para ser completamente honesto, você também pode instalar tecnicamente oh-my-zsh sem esses pacotes, mas há benefícios se você instalar dessa maneira.

Por exemplo, oh-my-zsh verificará automaticamente se há atualizações se você instalá-lo com o git.

Para instalar esses dois pacotes, execute os comandos a seguir em seu terminal:

sudo apt install wget
sudo apt install git

Instalando as fontes PowerLine

Outra dependência importante é a instalação das fontes Powerline

As fontes PowerLine contém além dos seus estilos, um conjunto de ícones especiais que vão ajudar a compor o visual do seu terminal, sem essas fontes pode ser que alguns ícones não apareçam da forma correta, por isso esse passo é importante.

Dependendo da sua distro Linux, siga os seguintes passos.

Instalação de Fontes Powerline no Debian, Ubuntu e derivados

sudo apt-get install powerline fonts-powerline

Instalação de Fontes Powerline no Fedora

sudo dnf install powerline powerline-fonts

Instalação de Fontes Powerline : Finalização qualquer distro Linux

Na sequencia. execute os comandos abaixo, independente de distribuição :

sudo mkdir /usr/local/bin/powerline

sudo git clone https://github.com/powerline/powerline.git /usr/local/bin/powerline/

sudo wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf -O /usr/share/fonts/PowerlineSymbols.otf

sudo wget https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf -O /etc/fonts/conf.d/10-powerline-symbols.conf

sudo echo '. /usr/local/bin/powerline/powerline/bindings/bash/powerline.sh' >> ~/.bashrc

Mais informações em:

https://github.com/powerline/powerline

https://github.com/romkatv/powerlevel10k/blob/master/font.md

Depois de instalar as dependências, podemos finalmente ir para a instalação do Zsh e do Oh My ZSH Linux.


Como Instalar o Zsh | Z Shell

Para instalar o ZSH, basta digitar o seguinte comando no terminal:

sudo apt install zsh

E é isso! Agora já temos o Zsh instalado no seu PC. mas repare que nada mudou, pois o Z shell não foi ativado. Vamos instalar oh-my-zsh.

Como instalar o Oh My ZSH Linux

Como já disse anteriormente, o Oh My ZSH é um gestor de configurações do ZSH, com ele, poderemos instalar Temas e Plugins para o nosso ZSH, aumentando a beleza, produtividade e capacidade de personalização do ZSH

Caso queira mais informações sobre o oh-my-zsh, você pode acessar o projeto no github aqui .  A instalação do Oh My ZSH é simples também.

Para instalar o oh-my-zsh, vamos aos procedimentos a seguir:

Utilizando o wget e git, baixe o script de instalação do repositório Git e executá-lo em nossa máquina.  Para isso, execute o seguinte comando no seu terminal:

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

Repare o que no prompt, o instalador do pacote pergunta se você deseja alterar o Shell padrão para o ZSH responda com y para sim.

Veja que com a instalação do Oh My ZSH e ativação do ZSH, o prompt do terminal já mudou.

Podemos verificar o Shell padrão do Terminal com o comando:

zsh --version
echo $SHELL

Resultado

➜  ~ zsh --version
zsh 5.8.1 (x86_64-ubuntu-linux-gnu)
➜  ~ echo $SHELL
/usr/bin/zsh
➜  ~

Agora vamos personalizar ainda mais ZSH com temas e plug-ins.


Instalando temas no ZSH com o Oh My ZSH

A instalação de temas e plugins no ZSH, é bem simples, consiste no download destes recursos no PC e configuração dos mesmos no arquivo de configuração do Z Shell, o ~/.zshrc

Então vamos lá!

Instalando o tema Agnoster no ZSH com o Oh My ZSH

Para configurar o tema Agnoster, basta alterar o arquivo .zshrc

nano ~/.zshrc

Localize a variável ZSH_THEME e substitua pelo valor do tema escolhido.

ZSH_THEME="agnoster"

Depois é só recarregar o shell ou executar o comando abaixo:

source ~/.zshrc

E pronto! o tema Agnoster está instalado no ZSH !

Referencia : https://github.com/agnoster/agnoster-zsh-theme

Instalando o tema Spaceship no ZSH com o Oh My ZSH

Agora vamos instalar o tema o Spaceship usando o Oh My ZSH.

Primeiro para baixar ele no seu sistema, clone o repositório do Spaceship usando o Git, dessa maneira:

git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"

Agora crie um Link simbólico dele na pasta do seu Oh My ZSH:

ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"

Agora vamos configurar o tema no arquivo .zshrc

Agora entre dentro do arquivo ~/.zshrc que é o arquivo de configuração do seu zsh, vamos usando um editor de texto qualquer, no meu caso vou usar o nano, mas fique a vontade para usar o de sua preferencia. vou digitar:

nano ~/.zshrc

Agora n arquivo de configuração do zsh, vou editar a variável de ambiente ZSH_THEME,e mudar o valor corrente dela para spaceship

ZSH_THEME="spaceship"

Agora reinicie o terminal ou digite o comando:

source ~/.zshrc

E pronto! o tema Spaceship estará instalado no ZSH !

Instalando o tema Powerlevel10k no ZSH com o Oh My ZSH

Vamos personalizar do ZSH com a instalação de um tema muito popular, o Powerlevel10k e faremos tudo isso usando o Oh My ZSH.

Para baixar o tema no seu sistema, clone o repositório do Powerlevel10k usando o Git, digitando o comando:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git  ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

Agora vamos configurar o tema no arquivo .zshrc

Para isso, dentro do arquivo ~/.zshrc ,que é o arquivo de configuração do seu zsh, vamos alterar o conteúdo do arquivo indicando o novo tema que acabamos de baixar pelo git.

podemos fazer isso, usando um editor de texto qualquer, no meu caso vou usar o nano, mas fique a vontade para usar o de sua preferencia. vou digitar:

nano ~/.zshrc

No arquivo de configuração do zsh, vou editar a variável de ambiente ZSH_THEME,e mudar o valor corrente dela para powerlevel10k

ZSH_THEME=”powerlevel10k/powerlevel10k”

Agora reinicie o terminal ou digite o comando :

source ~/.zshrc

Após procedimento acima o tema começa a ser configurado e basta responder aos prompts conforme solicitado.

Você pode configurar o powerlevel10k usando o comando

p10k configure

Repare que a medida que você responde aos questionamentos do configurador do powerlevel, o instalador vai mostrando como ficará o seu shell com o tema.

Após configurar todas as opções ao final, as configurações são automaticamente gravadas no arquivo .zshrc

E pronto! Com isso o tema Powerlevel10k está instalado e configurado no seu ZSH Linux !


Como customizar o esquema de cores do terminal Linux

Além da instalação do tema Powerlevel podemos alterar o esquema de cores do terminal, para isso, clique no menu superior direito do terminal e escolha preferences e depois o profile unamed.

Neste item, selecione colors e desmarque a opção “Use Colors from System Theme”

Agora em Built-in Schemes, escolha o tema que mais lhe agrada.

Vou escolher o esquema de cores Solarized Dark.

E esta é a aparência final do terminal com o tema Powerlevel10k

Referencia

https://github.com/romkatv/powerlevel10k

Para exemplificar, pode-se habilitar o plugin colored-man-pages, que proporciona a exibição colorida de páginas de manuais de comandos no GNU/Linux.

1ª) Usando um editor de texto, por exemplo o nano ou o vi, abra o arquivo de configuração com o comando:

nano ~/.zshrc

2º) Localize a linha que tem “plugins=”. Já deve ter entre os parênteses o plugin git, vamos acrescentar o colored-man-pages, conforme abaixo:

plugins=(
  git
  colored-man-pages
)

3º) Salve e feche o arquivo. Feche a abra novamente o terminal para carregar as alterações ou execute o comando:

source ~/.zshrc

4º) Para visualizar o efeito que plugin proporciona, digite no terminal:

man git

Plugin zsh-autosuggestions

Outro plugin extremamente útil e necessário é o  zsh-autosuggestions. Ele sugere comandos baseados nos comandos que já foram digitados anteriormente. Ele funciona como uma ferramenta de auto completar o que está sendo digitado, poupando muito tempo.

Para instalar o plugin, digite o seguinte comando em seu terminal:

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

1ª) Usando um editor de texto, por exemplo o nano ou o vi, abra o arquivo de configuração com o comando:

nano ~/.zshrc

2º) Localize a linha que tem “plugins=”. Já deve existir entre os parênteses outros plugins, vamos acrescentar o zsh-autosuggestions, conforme abaixo:

plugins=( [plugins...] zsh-autosuggestions)

3º) Salve e feche o arquivo. Feche a abra novamente o terminal para carregar as alterações ou execute o comando:

source ~/.zshrc

E veja agora com este plugin ativado que conforme eu digito algum comando no prompt, o plugin sugere a linha de comando, com base no histórico de comandos, e para aceitar, basta pressionar seta para direita e enter para executa-lo.

Veja alguns exemplos com man, git, nano, etc…

Plugin zsh-syntax-highlighting

zsh-syntax-highlighting é utilizado para dar destaque aos comandos enquanto eles são digitados. Se o comando estiver correto, ele será exibido na cor verde, caso contrário, o comando ficará em vermelho.

Isso ajuda a revisar os comandos antes de executá-los, principalmente na detecção de erros de sintaxe.

Para instalar o plugin, execute o seguinte comando:

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

1ª) Usando um editor de texto, por exemplo o nano ou o vi, abra o arquivo de configuração com o comando:

nano ~/.zshrc

2º) Localize a linha que tem “plugins=”. Já deve existir entre os parênteses outros plugins, vamos acrescentar o zsh-syntax-highlighting, conforme abaixo:

plugins=( [plugins...] zsh-syntax-highlighting)

3º) Salve e feche o arquivo. Feche a abra novamente o terminal para carregar as alterações ou execute o comando:

source ~/.zshrc

Web Search

Imagine… você está no terminal e precisa pesquisar algo no Google, no bing ou diversos outros buscadores.

Com este plugin não há necessidade de alternar para o navegador e digitar o endereço, basta executar a pesquisa diretamente no seu terminal com o plug-in Web Search

Com os comandos a seguir

google webmundi.com
google oh-my-zsh

Para instalar o plugin, você já sabe.

Basta informa-lo na seção plugins do arquivo ~/.zshrc e depois salvar e fechar o arquivo. Abrir novamente o terminal para carregar as alterações ou executar o comando:

source ~/.zshrc

Como Desinstalar o ZSH e o Oh My ZSH

Testou o ZSH e não curtiu? Quer voltar para o bash padrão?

Não tem problema, basta executar esses passos, e pronto!!!

wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/uninstall.sh && sh uninstall.sh

rm -f uninstall.sh

Conclusão e Referências

O ZSH juntamente com o Oh My ZSH proporciona uma infinidade de recursos e temas .

Conheça mais temas e Plugins para tornar o seu terminal shell mais produtivo e elegante.

Referências:

Oh-My-Zsh! Wiki: https://github.com/robbyrussell/oh-my-zsh/wiki

Plugins: https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins

Fonte Powerline: https://github.com/powerline/powerline

Oh-My-Zsh! Temas: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes

https://github.com/ohmyzsh/ohmyzsh/wiki/External-themes

~/.zshrc : Arquivo final

Disponibilizamos aqui nosso arquivo final do ~/.zshrc para utiliza-lo como referencia em seus labs

# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi

# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"

# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See <https://github.com/ohmyzsh/ohmyzsh/wiki/Themes>
# ZSH_THEME="robbyrussell"
# ZSH_THEME="agnoster"
# ZSH_THEME="spaceship"
ZSH_THEME="powerlevel10k/powerlevel10k"

# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"

# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled  # disable automatic updates
# zstyle ':omz:update' mode auto      # update automatically without asking
# zstyle ':omz:update' mode reminder  # just remind me to update when it's time

# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13

# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"

# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git colored-man-pages zsh-autosuggestions zsh-syntax-highlighting web-search)

source $ZSH/oh-my-zsh.sh

# User configuration

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
# export LANG=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

O conteúdo foi útil ?

Se a esta aula lhe ajudou de alguma forma em seu desenvolvimento profissional, não esqueça de se inscrever no canal ou indicar este vídeo aos seus amigos.

Se você puder e quiser você pode nos apoiar doando qualquer valor através de nosso pix.

Doe qualquer valor pelo PIX e apoie o WebMundi.com
Doe qualquer valor pelo PIX e apoie o WebMundi.com

Chave pix: [email protected]

Essas doações ajudam a manter o canal e nosso site e também na criação de novos conteúdos.

E por falar em criação de conteúdo, em breve, em nossas futuras vídeo aulas aqui do canal..

Por isso não esqueça de se inscrever no canal e ativar as notificações para ser avisado sobre novos vídeos aqui do canal.


Materiais e leituras que recomendamos para você:


Loja WebMundi.com : Informática

+ Ofertas Informática, Computadores e Tecnologia


Obrigado

Esperamos que esta publicação tenha lhe ajudado a aprofundar seus conhecimentos em Linux.

Qual é sua experiência em Linux ?

Conte pra nós a sua experiência, adoraríamos saber.

Como entusiasta em desenvolvimento de software, queremos enriquecer sua experiência e conhecimento sobre este produto. 

Se você gostou deste post, compartilhe com seus amigos ou nos acompanhe pelas redes sociais.

Tem alguma dúvida ou observação a fazer ? 

Além disso, você pode nos ajudar a criar mais conteúdos como este. Como ?

Adquira produtos em nossa Loja Virtual, uma parceria do webmundi.com com as maiores plataformas de comércio eletrônico do Brasil.

Lembrando que comprando em nossa loja você apoia a criação de vídeos gratuitos aqui no site e em nosso canal do YouTube.

Prestigie também nossos apoiadores e anunciantes conhecendo seus produtos e serviços.

É simples e rápido e assim você ajuda a gente a crescer. 👍🏼

Obrigado e um grande abraço

Posts Similares