Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I want to change the default shell of Terminator to zsh. In /etc/passwd/ I've changed the default shell to /bin/zsh. This settings changes the default shell in LXTerminal (the default terminal on Lubuntu), but not in Terminator. So I tried chsh -s /bin/zsh, but that doesn't work either.

The Terminator documentation says:

How do I change my default shell?

Terminator will always start the shell specified by the SHELL environment variable. (It will fall back to /bin/sh if the SHELL environment variable isn't set.) You could simply influence Terminator's environment, but the best solution is to tell your operating system which shell you'd like, and it will ensure that SHELL is set correctly for all applications, not just Terminator. See the documentation for your operating system for details on how to change your default shell.

So I expected my attempts to work, but they don't. How can I change the default shell in Terminator.

share|improve this question
add comment

3 Answers

Use `chsh` to change shell

You can use chsh to change your default shell. Running this command will ask for complete path of the shell.

You can also run

chsh -s <path_to_shell>

to change the shell directly.

Change Terminator Preferences

You can also change the Terminator preferences directly.

  • Open Terminator.
  • Right Click on Terminator and select Preferences.
  • Go to Profiles > Command.
  • Check Run command as login shell, Run a custom command instead of my shell, and type in the address of the shell.

enter image description here - Close the dialog box.

share|improve this answer
add comment
up vote 3 down vote accepted

After a reboot Terminater used zsh. I filled in a bug report.

share|improve this answer
add comment

Ancient question, but after fighting with this for a bit:

tl;dr: Terminator reads off of the $SHELL environment variable. If you're in a graphical X sesson, this variable was set when you logged in, and won't get reset until you log in again, even after you run the chsh.

If you were to switch to a text terminal and log in there, you'd see that your chsh already took effect. Once you exit and log back in, $SHELL gets reset to whatever your shell is in /etc/passwd.

share|improve this answer
add comment

Your Answer

 
discard

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.