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
which /bin/sh
return – belkarx Mar 24 '22 at 16:02ẁhich /bin/sh
returns /bin/sh – SwiftD Mar 24 '22 at 16:30chsh
? If you used it withsudo
, 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 thefish
shell? Can you start thezsh
shell by typingzsh
? – Kusalananda Mar 24 '22 at 16:38getent passwd yourusername
print? – Kusalananda Mar 24 '22 at 16:42$SHELL
is the variable that determines your prefered shell. Applications such as xterm or vi that start or may start a shell for you will use that. That's all there is to that variable. It is set bylogin
or other login managers to your login shell as defined in thepasswd
database. Iffish
is started in whatever terminal you're using, you need to determine how. In what context are we here. Is that in a terminal emulator, is that over ssh? – Stéphane Chazelas Mar 24 '22 at 17:39SHELL
environment variable thatkonsole
itself returned on startup? What's the output (from a zsh shell) ofgrep -z '^SHELL=' /proc/${^$(pidof konsole)}/environ | tr '\0' '\n'
? – Stéphane Chazelas Mar 24 '22 at 18:00konsole
started? What's the output ofps -wo args -C konsole
? – Stéphane Chazelas Mar 24 '22 at 18:01