I ran a fresh install of garuda dragonised,it comes with a fish shell by default. I had no experience with this so asked the installer to add zsh -which it did along with config files.

Upon booting into the system I was still running fish but zsh appeared to be installed and have config in place so I tried chsh and a reboot on my login account.

Upon logging back in echo "$SHELL" will return /usr/bin/zsh but the active shell is very clearly still fish

To be honest I kinda gave up and decided to roll with fish yesterday but I would like to try to understand what might have happened...

I was very clear not to get confused between my own account and sudo - in fact I set both to zsh and rebooted again for good measure with no change to the actual shell presented (still fish) for either but with both reporting /usr/zsh or /usr/bin/zsh

if i try to run source ~/.zshrc then I get errors about assignment using = in fish, I should use SET HISTFILE instead

UPDATE: changed title to reflect new understanding, I have also removed zsh, all config and re-installed

  • I can run zsh manually and it seems to work fine
  • i am launching the shell from konsole via the gui

I am now thinking the call to launch konsole is probably binding a particular shell - any tips where to look would be appreciated

  • what does which /bin/sh return
    – belkarx
    Mar 24 at 16:02
  • 2
  • @belkarx ẁhich /bin/sh returns /bin/sh
    – SwiftD
    Mar 24 at 16:30
  • @fuzzydrawings thanks, I'll have a read
    – SwiftD
    Mar 24 at 16:31
  • 1
    How did you use chsh? If you used it with sudo, you've changed root's login shell, not yours. Do you have a .zshrc, .zprofile or .zshenv file in your home directory? If so, does it say to start the fish shell? Can you start the zsh shell by typing zsh?
    – they
    Mar 24 at 16:38

2 Answers 2


Thank you all for your help in working through this.

It turned out to be a setting binding the shell to the Konsole terminal. There is a command line flag to pass this in when launching.

For the garuda KDE based desktop you can access this setting under settings->configure konsole-> edit profile from the konsole gui menus`


Right clicking in the fish terminal then under configure profile under command changing it to /usr/bin/zsh solve my problem. It was stuck with /usr/bin/fish

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.