Como Mudar a Shell Padrão no Ubuntu com o Comando chsh

Visão Geral

Dominar o interpretador de linha de comando padrão define a produtividade diária em distribuições Linux. Neste tutorial, exploramos em detalhes como o utilitário chsh opera nos bastidores, interagindo diretamente com os arquivos /etc/shells e /etc/passwd. Acompanhe cada etapa com exemplos práticos no terminal para personalizar seu ambiente de login com total segurança e clareza técnica.

Identificando a Shell Ativa e os Interpretadores Registrados

Para descobrir qual terminal interpretador está atribuído à sessão atual, executamos a leitura da variável de ambiente com echo $SHELL.
A resposta obtida no terminal confirma que a conta em uso está vinculada ao /bin/bash como shell predefinida de login.

echo $SHELL

Por diretrizes de segurança, o sistema operacional restringe as opções disponíveis apenas àquelas homologadas em arquivo próprio. Inspecionamos essa listagem oficial rodando cat /etc/shells.
O retorno no console exibe caminhos válidos como /bin/sh e /bin/bash, permitindo validar previamente se uma shell pode ser escolhida sem restrições.

cat /etc/shells

Instalação do Zsh e Validação do Caminho no Sistema

Para demonstrar a troca de ambiente, providenciamos um novo interpretador executando a sincronização dos repositórios e a instalação do pacote com sudo apt-get update -qq && sudo apt-get install -y zsh.

sudo apt-get update -qq && sudo apt-get install -y zsh

Com o processo finalizado, localizamos o caminho absoluto do executável por meio da instrução which zsh.
O terminal aponta que o binário recém-instalado reside no diretório /usr/bin/zsh.

which zsh

Antes de aplicar a alteração, certificamo-nos de que o novo software foi registrado adequadamente na base de shells seguras utilizando grep -E 'bash|zsh' /etc/shells.
As linhas resultantes confirmam a presença das referências /bin/zsh e /usr/bin/zsh, atestando que o utilitário chsh aceitará a transição sem gerar recusas de privilégio.

grep -E ‘bash|zsh’ /etc/shells

Alterando o Interpretador de Login com o Utilitário chsh

Para confirmar o identificador do usuário que receberá a alteração, consultamos a sessão com id -un.
O resultado atesta que os comandos estão sendo emitidos sob a conta administrativa root.

id -un

Em seguida, redefinimos a shell padrão do perfil atual apontando para o binário do Zsh via chsh -s $(which zsh).
O término imediato da instrução, sem alertas ou erros, indica que o apontamento para /usr/bin/zsh foi aplicado com sucesso pelo sistema.

chsh -s $(which zsh)

Para validar a persistência da nova configuração no banco de dados de contas locais, consultamos a entrada correspondente rodando grep "^$(whoami):" /etc/passwd.
O último campo delimitado por dois-pontos agora exibe /usr/bin/zsh, comprovando que a alteração foi gravada com precisão no perfil do usuário.

grep “^$(whoami):” /etc/passwd

Reversão da Configuração e Funcionamento do Sistema

Concluída a validação prática, retornamos o perfil à sua configuração original de fábrica rodando chsh -s /bin/bash.
A ausência de mensagens de falha assegura que o apontamento para /bin/bash foi restabelecido de maneira limpa e ordenada.

chsh -s /bin/bash

Fazemos uma checagem final no registro central de credenciais através do comando grep "^$(whoami):" /etc/passwd.
A confirmação no terminal mostra que o campo final retornou a /bin/bash, assegurando que a conta recuperou sua shell nativa com total integridade.

grep “^$(whoami):” /etc/passwd

Com estes procedimentos, vimos como o chsh simplifica a troca do interpretador no Ubuntu manipulando diretamente as definições do /etc/passwd com suporte do /etc/shells.
Explore diferentes shells para moldar seu ambiente de terminal com mais agilidade e aderência às suas preferências de trabalho no Linux.