zsh (Z shell) - Uma alternativa ao bash

Este artigo descreve alguns procedimentos para configuração do zsh (Z Shell), uma alternativa ao mais conhecido bash (Bourne-Again Shell).

[ Hits: 45.833 ]

Por: Alberto Federman Neto. em 09/09/2013 | Blog: https://ciencialivre.blog/


Instalação de zsh e seus complementos



A. Em outras distribuições, em geral.

Para a sua distribuição, procure pelos pacotes abaixo, com comandos ou com Synaptic e outras interfaces gráficas do gerenciador de pacotes padrão da sua distribuição.

Os pacotes do zsh e seus complementos, são:
  • zsh (o próprio shell);
  • oh-my-zsh (configurador);
  • zsh-completion (autocompletar comandos);
  • zsh-completions (adicionais de autocompletar);
  • git-flow-completion (suporte a Git);
  • auto-fu-zsh (autocompletar incremental);
  • command-not-found (indexador de comandos não achados);
  • set_prompt (prompt modificado);
  • zsh-pol-config (configurador alternativo);
  • zsh-lovers (documentação, dicas e exemplos);
  • zshrc-mv (arquivo de configuração alternativo).
Instale todos os que achar para sua distribuição.


B. Em Sabayon e Gentoo.

No exemplo prático, eu usei Sabayon.

Se você não usa Sabayon ou Gentoo, pule as linhas abaixo (de 1 a 5). Parecem complicadas, mas são específicas para Sabayon e Gentoo.

Vamos ver como se instala o zsh e seus complementos, no Sabayon.

Para Sabayon, alguns desses pacotes podem ser achados no Entropy padrão. Instale com os comandos, ou com a interface gráfica RIGO:

sudo equo i zsh zsh-completion
Ou:
rigo

Outros pacotes não existem no Entropy, precisam ser instalados como abaixo, mas eu já pedi ao time Sabayon que os compile e coloque nos servidores Entropy.

Se preferir, instale tudo com Portage (como o faria no Gentoo):

1. Leia este artigo e faça as modificações necessárias para usar Entropy junto com Portage:
2. Veja aqui os pacotes, todos, e os Overlays necessários:
Adicione (os comandos só funcionam um por um) todos os Overlays e sincronize o Portage e esses Overlays:

sudo layman -a mv
$ sudo layman -a plab
$ sudo layman -a rich0
$ sudo layman -a stuff
$ sudo emerge --sync
$ sudo emerge -av --oneshot portage
$ sudo layman -S


3. Remova as Máscaras, editando o arquivo "/etc/portage/package.keywords" e coloque nele as linhas abaixo, e salve o arquivo.

#removing Masks:
# These requirements were found using the command "emerge -pv git-flow-completion"
# required by git-flow-completion (argument)

=dev-vcs/git-flow-0.4.1 **
# required by git-flow-completion (argument)
=dev-vcs/git-flow-completion-0.4.1.0 **

4. Agora, execute o comando de instalação dos pacotes, com Portage:

sudo LINGUAS="pt_BR" emerge -av --autounmask --autounmask-write zsh oh-my-zsh git-flow-completion auto-fu-zsh command-not-found set_prompt zsh-pol-config zsh-lovers zshrc-mv

5. O pacote "zsh-completion", dependência normal do pacote "zsh", bloqueia o pacote "zsh-completions" e o pacote "man-db" (necessário em Sabayon) é removido.

Por isso, agora, instale ou reinstale esses pacotes faltantes, com opção sem dependências e sem colisões:

sudo LINGUAS="pt_BR" FEATURES="-collision-detect -collision-protect -protect-owned keepwork" emerge -av --nodeps zsh-completions man-db

6. Detalhes do zsh no Gentoo, veja:
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação de zsh e seus complementos
   3. Testando zsh
   4. oh-my-zsh
   5. Detalhes e conclusão
Outros artigos deste autor

Ultimate Boot CD - Um Fantástico "Canivete Suíço" para recuperar seu Linux

Experimento: Transformando openSUSE 12.3 Tumbleweed em 13.2 Factory Milestone 0

Editores e processadores de texto para GNU/Linux

Recuperação do arquivo sudoers - comandos su e sudo não funcionam mais [Resolvido]

Sabayon Linux remasterizado para placas de vídeo ATI

Leitura recomendada

Configuração de Servidor Web no FreeBSD 9

Dual boot no Fenix Extreme Linux

Montando um Servidor de FTP

Comandos para redes wifi

Clusters de alta disponibilidade (HA - High Availability)

  
Comentários
[1] Comentário enviado por px em 09/09/2013 - 10:54h

Bacana, já havia ouvido falar e até usei um tempo atrás no BSD (sh) e no slack o zsh e um outro que não me recordo agora, mas qual é a real diferença entre eles? tem algum ganho nos comandos e binários que executamos ou é só por gosto mesmo?

[2] Comentário enviado por lcavalheiro em 09/09/2013 - 12:41h

Em primeiro lugar, excelente artigo, Alberto!


[1] Comentário enviado por px em 09/09/2013 - 10:54h:

Bacana, já havia ouvido falar e até usei um tempo atrás no BSD (sh) e no slack o zsh e um outro que não me recordo agora, mas qual é a real diferença entre eles? tem algum ganho nos comandos e binários que executamos ou é só por gosto mesmo?


Tem diferenças sim. Cada shell permite uma certa gamas de recursos e possibilidades, como por exemplo o csh (que permite usar a sintaxe da linguagem C direto no terminal), o ash (eu acho que é esse, que é um bash mais pelado, com o objetivo de ser bem leve), o ksh (meu favorito, que dá pra fazer umas coisas do arco da velha neles). Hoje eu uso só o bash, mas é mais por preguiça do que por qualquer outra coisa.

[3] Comentário enviado por azk em 09/09/2013 - 15:22h

Belo artigo!
Irei fazer alguns testes com o zsh...

Favoritado!

[4] Comentário enviado por albfneto em 09/09/2013 - 21:22h

Tem diferenças sim, alguns comandos são diferentes (não os básicos de linux)
zsh demora um pouquinho mais para carregar a shell (pelo menos no Olhômetro) mas e execução do comando em sí é mais rápida.
eu acho ela prática, por causa das autocorreções e do auto-completar.

Binários. claro não há diferença, em qualquer interpretador de comandos, com os binários executáveis, ele só os executa.

[5] Comentário enviado por albfneto em 09/09/2013 - 22:19h

COMPLEMENTOS DO ARTIGO:

13 de Novembro de 2018.

Encontrei outra maneira fácil de mudar Temas do Zsh:

Abra o Zsh, execute o comando de função

$ prompt -l

Aparecem os Prompts disponíveis:

Currently available prompt themes:
adam1 adam2 bart bigfade clint elite2 elite fade fire gentoo off oliver pws redhat suse walters zefram

Escolha um, por exemplo o "fire" e faça setar esse prompt, com este comando:

$ prompt -s fire

a seguir, edite o arquivo ~/.zshrc e coloque nele estas linhas:

autoload -Uz promptinit
promptinit
prompt fire

Se usar outro Prompt, substitua "fire" pelo nome do Prompt.

Para ver como são os Temas de Prompt, gráficamente, eles estão aqui:

http://bneijt.nl/blog/post/zsh-themes-for-prompts-screenshots/

Sobre O Dash.

O shell Dash (Debian Almquist Shell) foi usado muito por Ubuntu, por anos, mas descobri recentemente que ele foi inventado para Debian, e nao para Ubuntu:

https://www.cyberciti.biz/faq/debian-ubuntu-linux-binbash-vs-bindash-vs-binshshell/
https://www.edivaldobrito.com.br/dash-to-dock-no-gnome-shell/

Mais um Artigo meu, sobre o assunto exposto aqui:

https://edpsblog.wordpress.com/2017/07/04/dica-variando-terminais-e-shell/

[6] Comentário enviado por xerxeslins em 10/09/2013 - 10:09h

Favoritado, É lógico.

[7] Comentário enviado por removido em 10/09/2013 - 21:31h

Ótimo artigo.Vou testar também.

[8] Comentário enviado por px em 10/09/2013 - 23:07h

Veleu pelas respostas ai colegas dos comentários supracitados.

[9] Comentário enviado por smarcell em 12/09/2013 - 11:47h

Vamos jogar Tetris no zsh?

autoload -U tetris
zle -N tetris
bindkey 'TECLA' tetris

Onde 'TECLA' é a tecla definida por você, e que irá chamar o jogo!

Feito isso, pressione a tecla que você definiu e pronto! Jogue a vontade. :)

zsh rules!!!

[10] Comentário enviado por Crux em 18/09/2013 - 13:44h

Cara é que distro posso encontrar

[11] Comentário enviado por albfneto em 06/02/2014 - 13:00h

Antigo, mas só agora ví.
Fish e Zsh estão presentes em quase todas as Distros.
procure pelo pacote Fish ou zsh,no seu gerenciador de pacotes.
em muitos linux, é mais fácil de instalar que no sabayon ou no gentoo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts