How to permanently change default shell from bash to zsh?

Hi guys,

When installing the 2018-12 release i selected bash as my shell. I should have went with your default zsh. Can you tell me how to permanently switch shells without reinstalling? The arch wiki on this was a bit confusing to me, and I’m not sure i should use their exact syntax with AL anyway. Thanks!

This ought to work for you:
sudo usermod -s /usr/bin/zsh userid

1 Like
$ chsh -l
$ chsh -s full-path-to-shell

where full-path-to-shell is the full path as given by chsh -l .

Logout and back in for effect.



1 Like

I think it might be worth explaining (although it may not make a difference in this case), when opting for zsh you see 2 listings (when running chsh -l).
One is /bin/zsh, the other /usr/bin/zsh

This really comes down to when the system goes into single user mode. If you notice, root’s shell is /bin/bash - in single user mode, /usr typically is not mounted so to insure that root can login, the shell resides in /bin.

I think I got that correct. I may have missed some finer points but I think that’s the jist of it.

1 Like

In Arch (therefore ArchLabs) /bin doesn’t exist, it’s just a symlink to /usr/bin

% ls -la /bin
lrwxrwxrwx 1 root root 7 Aug 21 07:21 /bin -> usr/bin/

Rats… Im incorrect again, lol


LOL, I wouldn’t feel bad it’s bloody confusing as is :stuck_out_tongue:


Quite honestly, didn’t know that either @Chris :blush:

If we didn’t care to learn, we wouldn’t be here… Right?