Programs installed via snap not showing up in Launcher

If you are using zsh, the snap binary and desktop directories will not automatically be added to your environment variables. In order to solve this, I added the following line to /etc/zsh/zprofile (taken from Arch):

emulate sh -c 'source /etc/profile'

This will process your /etc/profile file with bash emulation, which in turn sources /etc/profile.d/* and sets the proper PATHs, etc.

To add only the snap directories to your path, without including all the rest of the default bash profile:

emulate sh -c 'source /etc/profile.d/apps-bin-path.sh'

It's built into the snap system, but you have to add the link to your dash. To start the program type

snap run meshlab

once it's up and running, right click on the icon and click on "add to dash".


For me, it also seems to be related to the combination of Wayland/ZSH under Ubuntu 18.04 - even though /var/lib/snapd/desktop is listed in the XDG_DATA_DIRS variable (this is done by /etc/profile.d/apps-bin-path.sh), the launcher doesn't recognize apps from that folder.

A quick workaround is to sym-link the desired desktop files, for example:

ln -s /var/lib/snapd/desktop/applications/rubymine_rubymine.desktop .local/share/applications

Copy applications shortcut from /var/lib/snapd/desktop/applications/ to /usr/share/applications/

Example: sudo cp /var/lib/snapd/desktop/applications/brave_brave.desktop /usr/share/applications/

I had to do this on GalliumOS 3.0 (Xubuntu-based)