Eu uso zsh como meu usuário regular, mas quando eu uso root meu shell é Bash. Como posso usar o Zsh para root também? [duplicado]

0

Minha pergunta original:

When I run sudo su my zsh prompt changes back to Bash. How can I make Zsh the default shell for the root user?

Minha resposta sobre duplicatas:

A questão sobre quando uma postagem é considerada duplicada está debatendo aqui: As perguntas devem ser fechadas como duplicadas apenas por causa da utilidade das respostas?

Cito o primeiro parágrafo da primeira resposta:

Most opinions I have seen about this say that questions are duplicates, not answers. Therefore, questions should only be closed as a duplicate when they are the same, not because the answer to one is also the answer to the other.

E depois as primeiras palavras depois:

I, however, disagree.

Você está livre para ver a postagem para ler os argumentos desse usuário.

Eu, pessoalmente, como "a maioria das opiniões" acho que as perguntas são duplicatas e não há respostas, porque eu nunca encontrei uma resposta para a minha pergunta em particular com o post: Como faço para definir peixes como o shell padrão?

E que coincidência o usuário que citei é um dos usuários que marca minha postagem como duplicada.

Eu tentei me defender, mas provavelmente de maneira ruim. Então, por favor, pare de votar no meu post e, por favor, entenda que talvez algumas pessoas só queiram estender o shell padrão para todos os usuários, e outros querem que um shell específico seja padrão. Esta não é a mesma pesquisa e acho que isso pode ajudar a comunidade.

    
por Gy0m 08.03.2018 / 16:18

2 respostas

7

Você precisa configurar o shell para sua conta root

usermod -s /bin/zsh root

Vai fazer o trabalho

isso altera a entrada no arquivo /etc/passwd . Eles parecem sth. assim

root:x:0:0:root:/root:/bin/bash

Onde a última entrada é o shell de login. Você também pode editar o arquivo manualmente.

Tenha cuidado para acertar. usermod não irá marcar (e você não poderá logar como root):

usermod -s /bin/blargh root
sudo -i
sudo: /bin/blargh: command not found

Para uma maneira mais segura, veja a resposta por @PerlDuck

    
por mbeyss 08.03.2018 / 16:59
3

Além de usermod , há também o chsh ( shell de alteração ) utilitário. Ele tem a vantagem de que um usuário pode alterar seu próprio shell sem incomodar o usuário root .

Lembro-me de mostrar um pequeno menu com os shells disponíveis e o usuário pode escolher um, mas a minha instalação atual não mostra esse menu. Talvez porque eu não tenho shells adicionais instalados (além do bash).

pduck@myhost:~> chsh
Password: 
Changing the login shell for pduck
Enter the new value, or press ENTER for the default
    Login Shell [/bin/bash]: 
    
por PerlDuck 08.03.2018 / 19:31