Como você "desativa" oh-my-zsh (e zsh) sem desinstalá-lo?

Como você "desativa" oh-my-zsh (e zsh) sem desinstalá-lo?

Eu estava testando novos ambientes de desenvolvimento, incluindo zsh e oh-my-zsh. Agora que instalei o oh-my-zsh, ele inicia por padrão em meus terminais (iTerm2 e terminal) sempre iniciando com zsh e com as configurações ativadas em oh-my-zsh. Eu queria saber se era possível "desabilitar" ou parar de usar o zsh e sua configuração com oh-my-zsh sem ter que desinstalar o oh-my-zsh? Também seria bom saber como ativá-los novamente.

Atualmente, meus terminais entram no zsh automaticamente (eu acho) e usam oh-my-zsh automaticamente. Quero ter mais controle sobre isso e ser capaz de controlar ambos, quando o zsh está sendo usado e quando os recursos oh-my-zsh estão sendo usados.

Uma coisa que também estou interessado em saber é como os aplicativos de terminal sabem qual shell iniciar a execução na inicialização. Seria bom poder controlar também!

Se você explicar o máximo que puder sobre o "porquê" de cada comando que me der, isso seria útil! :)


Estou no OS X. Não tenho certeza se isso importa, mas tendo a gostar mais de respostas que sejam mais aplicáveis ​​a ambientes Unix mais gerais do que aos meus.

Responder1

O texto da sua pergunta é ambíguo, então não sei dizer se você quer parar de usar zshou quer parar de usar oh-my-zsh. Vou cobrir ambos.

Desativandozsh

Basta executar chshe selecionar qualquer shell que você estava usando antes. Se você não sabe qual shell estava usando antes, é quase certo que é bash. Este comando altera o "shell de login" associado ao seu usuário. Essencialmente, ele altera seu shell padrão.

Você precisará abrir uma nova janela de terminal para que as alterações tenham efeito. Se isso não funcionar, você precisará sair e fazer login novamente para reinicializar seu ambiente.

Desativando apenasoh-my-zsh

  1. Verifique se ~/.zshrc.pre-oh-my-zshexiste. Provavelmente sim. (Este arquivo terá sido criado quando o oh-my-zshscript de instalação tirou o anterior .zshrcdo caminho. .zshrcé um arquivo de inicialização de zsh, semelhante a .bashrcfor bash.)
  2. Se isso acontecer, faça mv ~/.zshrc ~/.zshrc.oh-my-zsh. Isso colocará o oh-my-zsh-created .zshrcfora do caminho, para que possamos restaurar o original, fazendo mv ~/.zshrc.pre-oh-my-zsh ~/.zshrc.
  3. Caso não exista, abra ~/.zshrcem um editor de texto. Encontre a linha que diz source $ZSH/.oh-my-zshe comente ou remova-a. Isso desativará a inicialização do oh-my-zsh.

Você precisará reiniciar seu shell para que as alterações tenham efeito.

Responder2

chsh -s /bin/bash

Para definir manualmente um novo shell padrão, faça chsh -s /my/new/shell, por exemplo, chsh -s /bin/bash. Em seguida, basta reabrir seus shells.

Responder3

Como está um pouco escondido no @Gilles, responda a maneira rápida de carregar o zsh sem nenhuma configuração, por exemplo, .zshrc .zshenv etc.

zsh -f

Isso é útil quando você deseja testar se algo em sua configuração está impedindo o funcionamento de algum recurso do zsh.

Responder4

Você pode dizer ao zsh para carregar seus arquivos de configuração por usuário de um diretório diferente definindo a variável de ambienteZDOTDIRantes de iniciar o zsh.

Se você deseja iniciar o zsh sem carregar seus arquivos de configuração, defina ZDOTDIRum diretório inexistente. Se quiser pular os arquivos de configuração do sistema (além de /etc/zshenv), você pode executar zsh -f. Se você quiser ignorar os arquivos de configuração do sistema, mas executar os arquivos por usuário, execute zsh -d.

Por exemplo, se você quiser testar oh-my-zsh sem torná-lo o padrão, não coloque from .zshrcoh-my-zsh em seu diretório inicial. Em vez disso, coloque-o em outro lugar, por exemplo. in ~/.oh-my-zshe execute ZDOTDIR=~/.oh-my-zsh zshquando quiser usar oh-my-zsh.


Os aplicativos de terminal executam o shell indicado pela SHELLvariável de ambiente. Se esta variável não estiver definida, eles executam o shell de login indicado no banco de dados do usuário ( /etc/passwd). Você pode solicitar um aplicativo diferente ao iniciar um emulador de terminal, por exemplo xterm -e fish.

informação relacionada