How to change shell to zsh?

I have a debian minimal template that I’d like to change the default shell of. I’ve already ran chsh and selected /bin/zsh there but that doesn’t seem to launch zsh on startup. How can I go about this?

In your AppVM or in your debian-11-minimal-template?

I’ve run the chsh command in the template initially but when it didn’t work I’ve also done it on the AppVM which I suppose wouldn’t be persistent after all.

Is the debian-11-minimal-template delivered with zsh preinstalled?

No it isn’t. I’ve installed it myself

Could you describe the “didn’t work” part more specifically?

Can you start xterm or gnome-terminal in your TemplateVM and your AppVM?

The terminal you use might not use the shell from /etc/passwd, gnome-terminal uses bash as default.

Make sure you have configured the terminal to use the shell you want.

When I start up a terminal in the AppVM, it by default is still using bash. The $SHELL variable still points to /bin/bash.

I’m currently using st and I’ve configured its shell setting to be zsh but this setting is masked by the $SHELL variable and the value of shell in /etc/password.

EDIT: Also changing the shell in /etc/password did the trick. Thank you!

chsh is doing that.

But you have to shutdown the TemplateVM and restart the AppVM afterwards if you want that change to take effect in your AppVM.

1 Like