Desktop snaps do not appear in the dash/menu on gnome in 17.10 final beta

I have several snaps installed which are desktop applications with supporting .desktop files specified in the configuration or supplied by convention (in the snap/gui folder when building via snapcraft). None of these applications are present in the Gnome dash/menu after upgrading to Ubuntu 17.10 Final Beta. All the applications are still installed and are visible in /snap and can be executed from the command-line. I am running in the default Ubuntu Wayland session.

@jamesh @willcooke Any ideas here?

I think this is a Wayland specific bug. If you log out and choose the Xorg session, you should see them appear. And if you log back into the Wayland session they should still be visible.

If so, then I think this is fixed in 2.28:

If that’s not the case, please let me know. I’ve done some testing here and things are working as expected for me, but I’ll do a fresh install to double-check.

Cheers, Will

3 Likes

Just tested on a fresh VM and I’m confident that this is the case.

Let me know what happens if you log in to an Xorg session - you should find your snaps appear.

2 Likes

Just tried, and yes my icons are now present :slight_smile:

2 Likes

Cool, so should be fixed with the next snapd release.

2 Likes

Which version is this fixed in? I’m seeing similar behavior now on a freshly installed computer.

This was fixed in 2.28 I think. Please make sure your install is fully updated and rebooted.

That sucks, dpkg is reporting snapd=2.29.4.2+17.10 .

How is the desktop entries under /snap supposed to be linked into the desktop? I find the .desktop files, but not familiar enough with Snaps to know how it links into Gnome.

Anders,

dpkg versions are shallow, use:

snap version

instead …

Thx. Still should have been fixed though:

snap    2.30
snapd   2.30
series  16
ubuntu  17.10
kernel  4.13.0-32-generic

Anders,

Yup, looks like there is some bug somewhere in context with your setup …

The generated .desktop files for snaps live in /var/lib/snapd/desktop/applications and should be found there by your system (snapd enhances the search path for .desktop files with this dir, see /etc/profile.d/apps-bin-path.sh which should apply to every login by default)

Thx for the info and help. Everything looks normal here with the info you provided. Your mention of profile.d brought up something I read about earlier, so I did some testing…

And it doesn’t work because I have ZSH set as my default shell… I don’t really know the details of why the shell affects the Gnome session, but changing back to /bin/bash fixed it.

Is this a bug? If so, is Ubuntu, Snap or Wayland the right place to report it?

Should this kind of setup really be in /etc/environment.d ? https://www.freedesktop.org/software/systemd/man/environment.d.html (Seemed relevant, but I’m really not sure about these things)

For anyone looking for a fix that’ll only touch your user:

mkdir -p ~/.config/environment.d
echo "PATH=$PATH:/snap/bin\nXDG_DATA_DIRS=\"${XDG_DATA_DIRS:-/usr/local/share:/usr/share}:/var/lib/snapd/desktop\"" > ~/.config/environment.d/60-snap-icons-and-bin.conf

Oh, and reboot to be sure. Will probably also work if you logout too.

2 Likes

ah, you werent mentioning you are running zsh …

there is:

https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1640514

1 Like

Hello, im running Linux Mint 18.3 Cinnamon:

snap version
snap 2.30
snapd 2.30
series 16
linuxmint 18.3
kernel 4.13.0-32-generic

Installing snaps is no Problem but they only show up after I log out and in again.
Shouldn’t this be fixed in 2.28?

this is normal if you just installed snapd for the first time …

if it still happens after you did the first re-login after installing snapd, that would be a bug …

I forgot to mention that did a reboot after installing snapd.
I’ve got the problem on another Notebook with LM 18.3.

Ah, thanks. I saw that, but it had little activity and did not mention environment.d (don’t think it existed back in 2016). I’ve updated the bug and will let the maintainers flesh out the details. :wink:

Looks to me that most packages should really start using /etc/environment.d for setting variables though. :slight_smile: