I've been using Bash for a long time on Fedora with Gnome, and recently switched to Arch Linux, Plasma and ZSH. I set up zsh, file, used chsh -s $(which zsh), and it works. However, every time I run Konsole bash runs automatically, and I have to manually call zsh. This is what I do know:

echo $SHELL returns /bin/bash

cat /etc/passwd | grep $LOGNAME shows my shells as /usr/bin/zsh

When I log in on a tty (no graphical), ZSH runs by default.

Update 1: The "Preferences/Configure/General" tab does not have a "Command" option, and there is no GUI option in User settings that has to do with my shell.

  • Did you restart KDE since changing your shell?
    – jordanm
    Mar 21, 2019 at 1:05
  • Just now, and now it worked perfectly.
    – Jordan
    Mar 22, 2019 at 23:50

2 Answers 2


See Settings>Configure Konsole>Profiles.

Edit the relevant profile and change the Command field.


The way I see, KDE and Konsole should respect the default option. To enforce that you can use this little script:

$ sudo vi /usr/local/bin/shell.sh


PSHELL=$(getent passwd $USER|cut -d: -f7)

eval "$PSHELL"

Allow it to run with:

$ sudo chmod +x /usr/local/bin/shell.sh

Then go to your Konsole profile

Settings>Configure Konsole>Profiles>Edit Profile>General Tab>Command

Change /bin/bash to /usr/local/bin/shell.sh

From now on, if you use chsh -s /bin/someshell, Konsole will respect your choice.

To see the shells available to you use:

cat /etc/shells

Sample output:

# /etc/shells: valid login shells

Note 1: it is not recommended to add shell.sh in /etc/shells. Let it be just for Konsole config.

Note 2: You can save it in a different folder if you prefer. For example, if you have only one user, a good place would be ~/bin/shell.sh and now you don't even need sudo.

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.