Como altero meu shell padrão em uma instância da AWS?

121

Quero alterar meu shell do shell bash padrão para zsh nas minhas instâncias do Amazon EC2. Como faço para fazer isso? Obrigado!

Shripad Krishna
fonte

Respostas:

159

Tente usar o chshcomando

por exemplo

chsh -s / bin / zsh

Você pode confirmar a localização do zsh executando whereis zshou, alternativamente, simplesmente executar

chsh -s $ (que zsh)

Se você deseja alterar o shell de uma conta de usuário diferente daquela em que está conectado, precisará executá-lo como root. Para alterar o shell de john, faça:

sudo chsh -s $ (que zsh) john

Observe que você precisará sair e fazer login novamente para que a alteração entre em vigor. Se você estiver usando o Gnome ou algum outro gerenciador de janelas, também será necessário sair completamente dessa sessão - simplesmente fechar e abrir o terminal é insuficiente.

John T
fonte
Eu tentei isso, mas com o usuário root !! Minha imagem AMI tem ubuntu ao invés de root. Tive que mudar para o usuário ubuntu para mudar o shell! Obrigado pela dica :)
Shripad Krishna
3
@ Paddy, se você é root, pode alterá-lo para outro usuário executando chsh -s /bin/zsh username.
John T
Impressionante :) Muito mais fácil. Obrigado por essa informação também.
Shripad Krishna
3
@We are the World: Você precisa adicionar / usr / local / bin / zsh como uma nova linha em / etc / shells
Nate Parsons
5
Eu uso uma versão ligeiramente diferentesudo chsh -s $(which zsh) $(whoami)
SergioAraujo
20

Abra / etc / passwd:

sudo vi /etc/passwd

Encontre a linha com seu nome de usuário:

username:x:1634231:100:Your Name:/home/username:/bin/bash

e substitua bash por zsh:

username:x:1634231:100:Your Name:/home/username:/bin/zsh

Saia e faça login novamente para que as alterações entrem em vigor.

Georgii Oleinikov
fonte
6
É melhor usar chsh, mas se você realmente deseja editar /etc/passwdmanualmente, pelo menos use o vipwcomando
Valmiky Arquissandas
Eu não tenho chsh na minha máquina. Além disso, por algum motivo estranho, meu arquivo / etc / passwd é regularmente substituído pelo padrão. Você sabe por que isso pode estar acontecendo?
Georgii Oleinikov 14/08/14
Não toque em / etc / passwd. Existem maneiras melhores de fazer isso que não exigem mexer com a ferramenta passwd!
Andrew Andrew
6

Eu vim aqui apenas para adicionar mais informações adicionais. Se você tiver problemas ao instalar o zsh no Amazon Linux AMI da Amazon, como quando você executa:

sudo chsh $(which zsh) : // chsh command not found

Então você deve instalar o util-linux-user :

sudo yum install util-linux-user

(por padrão, o Amazon Linux AMI possui apenas lchsh , mas não consigo entender como funciona).

Em seguida, execute o seguinte comando, ele deve funcionar:

sudo chsh -s $(which zsh) $(whoami)
chau giang
fonte
5

No Ubuntu, dentro do terminal GNOME, fazer alterações via chsh não terá o efeito esperado ...

Para superar esse problema, faça o seguinte:

  • Clique com o botão direito no terminal
  • Perfis -> Preferências do perfil
  • Na guia "Título e comando", marque "Executar um comando personalizado em vez do meu shell" e forneça o caminho para o zsh executável.
  • Reinicie o terminal.

Paz.

PS Não tem 10 reputação para postar imagens, portanto, todas as instruções são importantes. :)

Ben
fonte
Você tem o representante que precisa agora. : P
pradyunsg 21/03
0

uma linha

sudo chsh -s $(which zsh) $(whoami)

Informações extras: depois disso, você provavelmente vai querer fazer isso

git clone https://github.com/zdharma/fast-syntax-highlighting.git \
  ~/.oh-my-zsh/custom/plugins/fast-syntax-highlighting

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

nano ~/.zshrc 

find plugins = (git) Acrescente zsh-autosuggestions e zsh-syntax-realce a plugins () como este

plugins = (git zsh-autosuggestions fast-syntax-realce)

source ~/.zshrc
OWADVL
fonte