Setting fish shell as default shell in KDE plasma / Konsole

Hi all,

I’m having trouble setting up fish as default shell. I’m stuck with ZFH.

but i’m stuck at this command :

chsh -s /bin/fish                                        ✔ 
Changing shell for naga.
chsh: Shell not changed

I haven’t found a solution yet, maybe some have already encountered this issue too.
I’m french, I hope my english is good enough :slight_smile:
And its a fresh install of Manjaro.

I’ll try my best to document this issue here so that it could benefit others new manjaro users like myself.

Please can someone help me?
Kind regards.

The path to the binary should be /usr/bin/fish.

From the ArchWiki fish - ArchWiki


fish package installed ?
for find valid path, use

chsh -l

/bin or /usr change nothing

cat /etc/passwd | grep 'home'

/bin is a link to /usr/bin nowadays.

It seems I have installed it several times :

chsh -l                                                                 ✔ 

I tried 4 times. how can I undo that mess ? (>.<)
the path to it should be /bin/fish isn’t it ?

Unfortunately I dont fully understand what to do for the second set of commands you suggest. should I just use my user instead of patrick ?

Many thanks ! :grinning:

here is the output :

chsh -s /usr/bin/fish                                                   ✔ 
Changing shell for naga.
Shell changed.

but when I restart another shell prompt nothing changed.
I dont have the fish greeting message I see when i only input “fish”

Many thanks !

Do you have other sessions opened at the same time? I saw I post with the same problem and the solution was to close the other sessions.

I only have one user, myself “naga” (and root).
only one session running.


Hi, did you reboot after changing your shell?

Yes I did reboot my computer…
And the default shell is still ZFH.

for verif, run

cat /etc/passwd | grep 'home'

and in terminal echo $SHELL

sometime, with konsole, we have a command by default (as zsh or bash)
perso, j’ai dans konsole, profil par défaut, commande: “/usr/bin/fish”

ok, here is the output :

cat /etc/passwd | grep 'home'                            ✔ 


echo $SHELL                                              ✔  

A couple of days ago - we had a member with a similar issue - it turned out this member was running Plasma and the member found a setting in Plasma which in the members opinion did override the shell defined for the user.

Another possibility - depending on environment - you may have to logout and relogin for the change to have effect.

1 Like

I am using KDE, AND IT WORKS !
In Konsole, settings, configure Konsole,
then profile, Edit, Command : /usr/bin/fish

My default shell is now fish

Many thanks for the help everyone !

telling you to change the konsole profile in your language was not too useful :upside_down_face:

config is in ~/.local/share/konsole/


This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.