Flatpak icon are not showing up in menu

I’m currently using Fedora 35 KDE, I installed Spotify and some other apps through flatpak and these apps are not showing up in the default kse menu.
Though they are opening up when went through the Plasma Discover (KDE APP Store) it’s not a very convenient way.
Help me to fix this.

1 Like

Have you tried logging out and logging back in since you installed them?

You can try running kbuildsycoca5 as your normal user account. That command rebuilds the menu.

If neither of those work, there is something wrong with your flatpak setup we will need to investigate.

As a short-term workaround, an easier way is probably to use krunner. I think the default binding for that is alt+space.

Yes, but nothing changed. I installed them few days ago and I even updated the app once.

Ran it, but no progress.

Not worked. App is not still visible.

I have enabled flathub after the fresh install and haven’t altered anything in flatpak.
This is the problem that existed since Fedora 34.

1 Like

Are you using a non-POSIX shell like fish?

1 Like

Yes I’m using “fish”

This is likely the issue. flatpak uses a script in /etc/profile.d to add the flatpak applications to the appropriate xdg paths. If your default shell is fish, that script probably isn’t being run.

An easy workaround for this is to change your shell back to bash and then set your terminal to open fish. That way when your session initializes, it will work but you still will be able to use fish for your interactive terminal session.

In general, changing your default shell to fish can cause a variety problems.

1 Like

I just unistalled fish but it caused another problem. How to restore the default shell?

chsh -s /bin/bash
sh-5.1$ chsh -s /bin/bash
chsh: your shell is not in /etc/shells, shell change denied: Permission denied

I ran it with root privillages

Don’t run it as root

chsh -s /usr/bin/bash

My /etc/shells config is


Without root also same reply

/bin/bash is in your list of shells.

Try using usermod as root instead

sudo usermod -s /bin/bash username

Replace username with your username.

yes it’s there

sh-5.1$ sudo su
su: failed to execute /usr/bin: Permission denied
sh-5.1$ sudo -i
sudo: /usr/bin: command not found
sh-5.1$ sudo usermod -s /bin/bash username
usermod: user 'username' does not exist
sh-5.1$ sudo usermod -s /bin/bash hemanth
sh-5.1$ sudo chsh -s /usr/bin
Changing shell for root.
chsh: Warning: "/usr/bin" is not listed in /etc/shells.
chsh: Shell not changed.

sudo lchsh <username>

entering the path to your shell when prompted.

Try logging into a TTY as root and then run:

usermod -s /bin/bash username


The shell for your user was changed.

The shell for root was not because you did not copy the command used for your user.
sudo usermod -s /bin/bash root would work

1 Like