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: 47.200 ]

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

Otimizando o Sabayon Linux (inclusive o Firefox)

Symbaloo para uso em Química e Pesquisa Científica

Sabayon Linux remasterizado para placas de vídeo ATI

Recuperando e/ou adaptando o GRUB do Sabayon Linux

Atualizando Compiz Fusion em Sabayon Linux

Leitura recomendada

DNS no Slackware

Atualização do Clamav 0.95.3 para 0.96

Servidor Internet (parte 1)

Atributos de arquivos no Linux

Turbinando o Bodhi Linux

  
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