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.

3 Answers 3


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.

  • This changing the profile custom command does not change the shell like a normal login shell would... use tmux or ssh to launch a login shell like ssh -t ::1 '/bin/sh -l'
    – Ray Foss
    Jun 10, 2021 at 17:07
  • Write /bin/zshat Custom Command text box Nov 24, 2021 at 19:52

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


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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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