40

I am using Ubuntu 12.04 and started using zsh. The way I changed my shell is

$ sudo chsh -s /usr/bin/zsh

I changed my prompt theme etc and the changes kicked in. When I do a echo $SHELL I can see that zsh is my shell. But when I open a new terminal bash seems to be my shell. However when su to a different user and su back zsh seems to be the shell.

Please advise.

Thomas Ward
  • 78,878
mehant
  • 503

3 Answers3

81

Note: I use 12.04 so these instructions might not apply to later versions of Ubuntu / gnome-terminal

In gnome-terminal, the system will usually default to using Bash, because that's what gnome-terminal runs.

I overrode that "default" by changing the profile preferences. Open up gnome-terminal (the "Terminal" application), then go to 'Edit' and 'Profile Preferences'.

Make sure you're editing the 'default' profile, and go to the "Title and Command" tab.

Under "Command" there are three checkboxes: "Run command as a login shell", "Update login records when command is launched", and "Run a custom command instead of my shell".

I checked all three boxes, and under "Custom command:" I put zsh.

I also set "When command exits:" to "Exit the terminal" so it closes the terminal window.

Hit the "Close" button, then exit gnome-terminal and then reopen it. It should now start zsh instead of Bash.

Thomas Ward
  • 78,878
0

After installing zsh; I had to logout and login back again. After that, all new terminals are using zsh.

lordvcs
  • 186
-1

There is a workaround if you cannot get zsh running by default.

try editing the .bashrc file at the home directory.

add the command zsh in the end. This will start zsh as soon as you enter the shell.

But you have to exit the terminal twice to fully exit.