Eu quero mudar meu shell do bash para o zsh.
Tentei executar o seguinte enquanto estava logado como usuário zol:
$ chsh -s /bin/zsh
$ sudo chsh -s /bin/zsh zol
$ su -c 'chsh -s /bin/zsh zol'
# The above all results with:
$ password:
$ chsh: Shell not changed.
# zsh exists in /etc/shells..
chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh
O que pode estar errado? Como posso corrigir isso?
chsh
, o que significa que você terá que efetuar login novamente.Respostas:
As modificações na conta do usuário não serão salvas se você tiver aberto o arquivo / etc / passwd (vim / etc / passwd) ao tentar alterar as informações.
Alternativa: tente com usermod (como zol):
ou
Se isso também não funcionar, edite
/etc/passwd
manualmente.fonte
vipw
vez devim
definir os bloqueios de arquivo apropriados.Quando executar "chsh -l" se você vir:
Então use:
Aviso: Os comandos foram executados no Fedora 25. No ubuntun, a opção "-l" está desativada .
fonte
-l
é uma opção inválida para mim. Estou no Ubuntu 16.04chsh -s
funcionou perfeitamente. Obrigado.Se você vir
chsh: Shell not changed.
, isso pode significar que o shell já foi alterado.Verifique qual shell está listado:
Se estiver correto, efetue logout e logon novamente para que a alteração entre em vigor.
fonte
Apenas me deparei com isso. Não importa o que eu fiz, o login e o logoff não mudariam meu shell, mas ele estava listado em / etc / shells e em / etc / passwd.
finalmente me ocorreu: talvez eu esteja logado com outra sessão?
Então eu fiz
e validou que eu tinha de fato outras sessões abertas de outras máquinas:
Eu então fiz:
Eu fui desconectado imediatamente e após o login novamente: Voila! Shell foi alterado
fonte