Impossibile rendere ZSH la shell predefinita

81

Sto cercando di impostare ZSH come shell predefinita, tuttavia continua a tornare a bash.

Ho provato questo codice:

sudo chsh -s $(which zsh)

Ho anche provato:

sudo chsh -s /bin/zsh 

Ho anche provato questi comandi senza sudo. Qualche idea su cos'altro ho bisogno di fare. Quando si esegue ZSH da bash si carica e funziona bene, ma mi piacerebbe impostarlo come shell predefinita.

    
posta Tom 05.05.2012 - 04:42

6 risposte

148

Se usi sudo , cambierà la shell non per il tuo utente funzionante ma per root . Semplicemente usando

chsh -s $(which zsh)

senza sudo dovrebbe funzionare.

Infine, esci dal tuo computer e accedi di nuovo.

    
risposta data Florian Diesch 05.05.2012 - 05:55
32

L'ho trovato su superutente forum

Apri / etc / passwd:

sudo vi /etc/passwd

Trova la linea con il tuo nome utente:

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

e sostituisci bash con zsh:

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

Esci e accedi per rendere effettive le modifiche.

    
risposta data Shailesh Kalamkar 11.08.2015 - 07:29
3

Se zsh non è / bin / zsh allora chsh non funzionerà. Su Ubuntu è / usr / bin / zsh. così facendo chsh -s /usr/bin/zsh o chsh -s 'which zsh' dovrebbe funzionare. Inoltre, è necessario accedere nuovamente alla sessione desktop.

    
risposta data jbp 27.01.2014 - 01:58
3

Puoi anche fare questo:

apri il tuo file bashrc nel tuo editor preferito

sudo nano ~/.bashrc

quindi aggiungi la riga sotto la parte superiore del file

exec zsh

Eseguirà il comando ogni volta che caricerai il terminale ed esegui la tua shell zsh.

    
risposta data Saddam H 11.03.2016 - 16:10
0

Strano, la risposta "accettata" non ha funzionato per me come ho ottenuto

chsh: PAM: Authentication failure

Per risolvere questo problema, modifica il tuo / etc / passwd e assicurati che punti alla posizione zsh. (Puoi trovarlo eseguendo "which zsh") Nel mio caso il mio utente chiamato "webmaster" assomigliava a questo:

webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh
    
risposta data John Crawford 19.12.2014 - 14:59
0

Ho avuto un problema con le autorizzazioni per cambiare shell sotto l'utente corrente, ma successivamente mi aiuta (devi impostare la corretta cartella "zsh" per il tuo computer):

sudo chsh -s /bin/zsh <myUserName>
    
risposta data Rib47 13.07.2018 - 16:01

Leggi altre domande sui tag