Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Recently I've changed my default shell from bash to zsh like this:

chsh -s /bin/zsh myname 

But when I invoke a new terminal (e.g. using ctrl+alt+T) I still have bash loaded:

myname@machine:~$ cat /etc/passwd | grep myname
myname@machine:~$ echo $SHELL

zsh is installed and can be explicitly runned with zsh command.
How to deal with that?

share|improve this question
log out and log back in? – glenn jackman Apr 5 '12 at 16:40
btw.: A useless use of cat. Grep expects a filename, if you don't feed it from stdin: grep myname /etc/password would be the natural way to do it. – user unknown Apr 14 '12 at 22:44
up vote 3 down vote accepted

Edit /etc/passwd file. In terminal type

gksu gedit /etc/passwd

Find out line containing your user name. Change /bin/bash to /bin/zsh.

Logout and Login again. Now zsh will be default. See the below image


share|improve this answer
line with my name is already set to /bin/zsh as I showed in second listing – om-nom-nom Apr 5 '12 at 16:37
I just tested in my system. Its working after logout and login – Web-E Apr 5 '12 at 17:13
yes, I've logged out and in, and it's all works. I've got used to instant changes on new terminal window after my edits of .bashrc and forget that this is not working that way with user information. – om-nom-nom Apr 5 '12 at 18:49

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.