Como Mudar o Shell Padrão no Linux

Mudar Shell Padrão No Linux Imagem de Destaque

Um shell é a interface através da qual você pode se comunicar com seu sistema Linux. Ele permite que você digite comandos e controle seu computador. Todo usuário Linux tem um shell padrão, que é o bash na maioria dos casos. Também existem muitas outras opções disponíveis, incluindo Zsh, ksh, rc e fish. Aqui mostramos os vários métodos para mudar seu shell padrão no Linux.

Índice

  • Como Encontrar o Nome do Seu Shell Atual
  • Listar Todos os Shells Instalados
  • Mudar o Shell Padrão no Linux Usando Chsh
  • Mudando o Shell de Outro Usuário
  • Mudar o Shell Padrão no Linux Usando Usermod
  • Mudando Manualmente o Shell Padrão no Linux
  • Alternativa ao Seu Shell Padrão

Como Encontrar o Nome do Seu Shell Atual

Antes de mergulharmos na mudança do shell padrão, é bom saber qual shell você está usando atualmente. Você pode descobrir isso verificando a variável de ambiente do sistema usando o seguinte comando echo:

echo $SHELL

Este comando imprimirá o caminho do seu shell atual, como /bin/bash ou /bin/zsh.

O arquivo /etc/passwd contém informações importantes sobre a conta do usuário. Você também pode usar este arquivo para encontrar seu shell atual:

grep "^${USER}" /etc/passwd

Você também pode encontrar mais informações sobre o shell atual verificando o ID do processo (PID), usando o comando ps:

ps -p $$

Esta saída confirma que o shell atual é bash.

Listar Todos os Shells Instalados

Agora que você sabe qual é o seu shell atual, pode querer ver quais outras opções estão disponíveis em seu sistema. Para localizar todos os shells instalados em seu sistema, você precisa dar uma olhada no arquivo /etc/shells.

Vamos usar o comando cat para visualizar uma lista de todos os shells disponíveis em seu sistema:

cat /etc/shells

listando todos os shells instalados no sistema Linux Ubuntu

Isso lhe dará uma ideia de quais shells você pode alternar. Você também pode instalar qualquer novo shell usando seu gerenciador de pacotes e usá-lo como seu shell padrão.

Além disso, você pode experimentar esses shells listados temporariamente sem mudar seu shell padrão. Para iniciar uma nova sessão de shell, basta digitar o nome do shell no terminal.

Por exemplo, para experimentar o shell Zsh, digite:

zsh

Isso permite que você experimente diferentes shells antes de decidir fazer uma mudança permanente.

Mudar o Shell Padrão no Linux Usando Chsh

A maneira mais direta de mudar o shell padrão no Linux é usar o comando chsh. O comando chsh significa “mudar shell”, e é usado junto com a opção -s seguida pelo caminho do seu shell.

Se você não souber o caminho do seu shell, execute type zsh no terminal para obter o caminho desejado. Depois de obter o caminho do seu shell, você pode mudar seu shell padrão para seu shell específico.

Por exemplo, se você quiser mudar para Zsh, precisará usar chsh -s com o caminho do shell Zsh:

chsh -s /bin/zsh

Você será solicitado a inserir sua senha. Depois de fazer isso, você precisará sair e entrar novamente para confirmar as alterações.

O comando chsh mudará o shell de login padrão permanentemente. Você pode verificar as alterações executando este comando:

grep "^${USER}" /etc/passwd

Mudando o Shell de Outro Usuário

Se você tiver privilégios de root e a capacidade de usar o comando sudo, pode mudar o shell padrão para outras contas de usuário. Isso pode ser útil se você quiser fornecer um ambiente de shell diferente, como fish, para outro usuário.

Você pode usar a mesma sintaxe do comando chsh com um parâmetro adicional especificando o nome de usuário da conta que deseja modificar.

Por exemplo, para mudar o shell de outro usuário para Zsh, execute este comando no terminal:

sudo chsh -s /bin/zsh user

Este comando informa ao sistema para mudar o shell padrão para o usuário específico para o shell Zsh, que está localizado em /bin/zsh.

Mudar o Shell Padrão no Linux Usando Usermod

Outro método para mudar de shell é usando o comando usermod. Este comando é usado para modificar contas de usuário, e também pode ser usado para mudar o shell padrão.

Para mudar seu shell padrão usando usermod, abra um terminal com privilégios de root e digite este comando:

sudo usermod -s /path/to/new/shell seu_nome_de_usuario

Aqui, você precisa substituir /path/to/new/shell pelo caminho do shell desejado e seu_nome_de_usuario pelo seu nome de usuário real.

Por exemplo, vamos mudar o shell padrão bash para zsh:

sudo usermod -s /bin/zsh user

Assim como antes, saia e entre novamente em seu sistema Linux para que essas alterações tenham efeito.

Você pode verificar a mudança para o novo shell olhando os detalhes da conta do usuário com o seguinte comando:

getent passwd user

Mudando Manualmente o Shell Padrão no Linux

Você também pode mudar o shell padrão manualmente editando o arquivo /etc/passwd. Você pode fazer isso substituindo o caminho do shell padrão pelo novo shell. No entanto, tenha cuidado com esta técnica, pois pode levar a problemas se não for feita corretamente.

Para mudar seu shell manualmente, abra o arquivo /etc/passwd usando seu editor de texto favorito (como nano ou vim) com privilégios de root:

sudo nano /etc/passwd

Procure seu nome de usuário no arquivo. O último campo na entrada do seu usuário mostrará seu shell atual. Mude-o para o caminho do shell desejado.

Por exemplo, vamos mudar nosso caminho de shell padrão /bin/bash para /bin/zsh:

mudando o shell bash padrão para o shell zsh no editor de texto /etc/passwd.

Por fim, salve o arquivo pressionando Ctrl + S e saia do editor com Ctrl + X. Novamente, saia e entre novamente para aplicar as alterações.

Alternativa ao Seu Shell Padrão

Embora o Bash seja uma ferramenta de script ótima e poderosa, existem vários outros shells que podem melhorar sua experiência na linha de comando e fornecer melhores opções de personalização:

Fish

fish refere-se ao Friendly Interactive Shell. Este shell tem uma interface de linha de comando intuitiva, com destaque de sintaxe, sugestões automáticas e autocompletar que tornam a digitação de comandos muito fácil.

fish também inclui uma ferramenta de configuração baseada na web. Isso significa que você pode ajustar configurações e criar funções sem precisar mexer em arquivos de configuração.

Zsh

Zsh, ou Z shell, é altamente personalizável e possui muitos recursos úteis. Alguns de seus melhores recursos incluem globbing, autocorreção, configurações personalizadas e autocompletar avançado.

Zsh também suporta plugins e temas, facilitando a personalização da sua experiência no shell. Com Zsh, você também pode mostrar seu branch do Git e realizar manipulações complexas de arquivos com padrões simples.

Ksh

ksh, ou KornShell, pega os melhores recursos do C shell e do Bourne shell, tornando-o um shell poderoso e fácil de usar com capacidades avançadas de script. Alguns recursos do ksh incluem funções matemáticas embutidas, edição de linha de comando, scripting de shell e extensibilidade.

Conclusão

Mudar seu shell padrão no Linux é um processo simples que pode melhorar sua experiência na linha de comando. Se você é um usuário avançado, definitivamente deve experimentar outros shells alternativos do Linux.

Crédito da imagem: Lukas via Unsplash. Todas as capturas de tela por Haroon Javed.