CentOS 8 snapd install of Authy doesn't show up in applications folder

On Fedora 31:

$ echo $PATH 
/home/<username>/.local/bin:/home/<username>/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin
$ 
$ systemctl --user show-environment | grep '^PATH'
PATH=/home/<username>/.local/bin:/home/<username>/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin
$ 
$ echo $XDG_DATA_DIRS 
/home/<username>/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
$ 
$ systemctl --user show-environment | grep '^XDG_DATA_DIRS'
XDG_DATA_DIRS=/home/<username>/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
$ 
$ flatpak list 
$ 
$ snap list 
Name               Version                     Rev   Tracking  Publisher     Notes
authy              1.8.0                       1     beta      authy-twilio  -
core18             20200311                    1705  stable    canonical✓    base
gnome-3-28-1804    3.28.0-16-g27c9498.27c9498  116   stable    canonical✓    -
gtk-common-themes  0.1-36-gc75f853             1506  stable    canonical✓    -
snapd              2.44.3                      7264  stable    canonical✓    snapd
$ 
$ /var/lib/snapd/snap/bin/authy 
WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement
Gtk-Message: 14:21:01.861: Failed to load module "pk-gtk-module"
Gtk-Message: 14:21:01.874: Failed to load module "pk-gtk-module"
TypeError: Cannot read property 'then' of undefined
    at Function.AutoUpdater.init (/snap/authy/1/resources/app.asar/js/background.js:63011:22)
    at Object.create (/snap/authy/1/resources/app.asar/js/background.js:56805:34)
    at App.WindowHelper.create (/snap/authy/1/resources/app.asar/js/background.js:13678:32)
    at App.emit (events.js:208:15)

authy

$ echo $PATH
/home/USERNAME/.local/bin:/home/USERNAME/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin
$
$ systemctl --user show-environment |grep ‘^PATH’
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
$
$ echo $XDG_DATA_DIRS
/home/USERNAME/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
$
$ systemctl --user show-environment |grep ‘^XDG_DATA_DIRS’
XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/var/lib/snapd/desktop

I am able to execute authy from command line now, and it shows in my applications, but this is after I manually created the .desktop symlink.

$ flatpak list
Ref Options
org.audacityteam.Audacity/x86_64/stable system,current
org.pulseaudio.pavucontrol/x86_64/stable system,current
org.audacityteam.Audacity.Codecs/x86_64/stable system,runtime
org.freedesktop.Platform.GL.default/x86_64/19.08 system,runtime
org.freedesktop.Platform.VAAPI.Intel/x86_64/18.08 system,runtime
org.freedesktop.Platform.VAAPI.Intel/x86_64/19.08 system,runtime
org.freedesktop.Platform.html5-codecs/x86_64/18.08 system,runtime
org.freedesktop.Platform.openh264/x86_64/2.0 system,runtime
org.freedesktop.Platform/x86_64/18.08 system,runtime
org.freedesktop.Platform/x86_64/19.08 system,runtime
org.gtk.Gtk3theme.Adwaita-dark/x86_64/3.22 system,runtime
org.kde.Platform/x86_64/5.14 system,runtime
$ snap list
Name Version Rev Tracking Publisher Notes
authy 1.8.0 1 beta authy-twilio -
core18 20200311 1705 stable canonical✓ base
gnome-3-28-1804 3.28.0-16-g27c9498.27c9498 116 stable canonical✓ -
gtk-common-themes 0.1-36-gc75f853 1506 stable canonical✓ -
picard 2.3.1 91 stable pachulo -
signal-desktop 1.33.1 310 stable snapcrafters -
snapd 2.44.3 7264 stable canonical✓ snapd
$

Thank you for this update.

  1. There are indeed differences between the values of $PATH in the shell and through systemd (command systemctl). I don’t see these differences in Ubuntu 20.04 and Fedora 31. I don’t know enough to tell whether this is expected or wrong. In any case these discrepancies may well account for the differences you experience between Fedora and CentOS 8.
  2. $PATH indeed lacks /var/lib/snapd/snap/bin outside the shell. That may explain the issues you experience. In any case it explains why you can launch authy from the command line only - but not why you need symlinks.
  3. On the other hand $XDG_DATA_DIRS looks fine now with /var/lib/snapd/desktop always appended. Wasn’t it missing at some point? Anyway, because /var/lib/snapd/desktop is in $XDG_DATA_DIRS you shouldn’t need the symlinks:
    $ ln -s /var/lib/snapd/desktop/applications/authy_authy.desktop ./authy_authy.desktop
    $ ln -s /var/lib/snapd/desktop/applications/signal-desktop_signal-desktop.desktop ./signal-desktop_signal-desktop.desktop
    
    I am at a loss why you would need these symlinks. What happens when you remove the symlinks and start authy from the command line?
  4. I cannot yet explain why $XDG_DATA_DIRS is appended /var/lib/snapd/desktop but $PATH is not appended var/lib/snapd/snap/bin since they both seem to be set by /usr/lib/environment.d/990-snapd.conf. Perhaps there are other files involved…

I suspect item 4 is the core issue. At this point installing a CentOS 8 virtual machine seems the only option to get to the bottom of this…

Is there some way I can just update these paths so this will work? The move of flatpak.env seems to have broken flatpak behavior as well, now. I can still launch apps from command line and they show under flatpak list as still installed. I’ve tried --reinstall and remove/reinstall from gui and still apps do not show in application launcher?

Removed (bye bye dependencies) and rolledback flatpak, this restored all the flatpak installs and put me back to state before I removed flatpak. Removed snapd and reinstalled, no change in behavior. Kind of at a loss here.

Of course this broke Flatpak:

sudo mv /usr/share/gdm/env.d/flatpak.env /

It was just for the sake of testing. You need to restore the file afterwards to repair Flatpak:

sudo mv /flatpak.env /usr/share/gdm/env.d/

I plan on installing a CentOS 8 virtual machine. I’m currently downloading the DVD.

I had replaced flatpak.env, functionality was there, but this removed the applications from the launcher. I restarted GDM but don’t recall if I rebooted. Attempted to reinstall the applications and recover the launchers but that didn’t work so I uninstalled/reinstalled. In any case, the flatpaks are working again.

If there is anything else I can try, let me know.

I also attempted to run

/usr/lib/systemd/system-environment-generators/snapd-env-generator

to see if that would update any of the missing paths but doesn’t seem to have made a difference. I’m spinning up a centos and fedora vm to test further so I can stop messing around with my primary machines.

Thanks for the help.

I have finished installing and updating a CentOS 8 virtual workstation + installing snapd:

$ cat /etc/centos-release
CentOS Linux release 8.1.1911 (Core)
$ 
$ sudo dnf install epel-release
[...]
$ sudo dnf install snapd
[...]
$ sudo systemctl enable snapd
$ 

After rebooting:

$ echo $PATH
/home/<username>/.local/bin:/home/<username>/bin:/home/<username>/.local/bin:/home/<username>/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bihttps://forum.snapcraft.io/t/9469n
$ 
$ systemctl --user show-environment | grep ‘^PATH’
PATH=/home/<username>/.local/bin:/home/<username>/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin
$ 
$ echo $XDG_DATA_DIRS
/home/<username>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
$ 
$ systemctl --user show-environment |grep ‘^XDG_DATA_DIRS’
XDG_DATA_DIRS=/home/<username>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
$ 

This is consistent with what I see on Fedora 31 and Ubuntu 20.04.

The truth is I do see this error message when installing the authy snap:

$ sudo snap install --beta authy
Warning: /var/lib/snapd/snap/bin was not found in your $PATH. If you've not restarted your session
         since you installed snapd, try doing that. Please see https://forum.snapcraft.io/t/9469
         for more details.

authy (beta) 1.8.0 from Authy (authy-twilio) installed
$ 

Yet the authy snap works as expected on CentOS 8 despite the above error message.
authy

My conclusions so far:

  1. There’s an issue with snap that prints the above error message on CentOS 8. Yet this error message seems to be innocuous in my case - not to mean it does not need to be investigated of course. I have opened a different issue for this one: CentOS 8: /var/lib/snapd/snap/bin was not found in your $PATH.
  2. I guess something’s messed up in the initialization process of your CentOS 8 machine because /var/lib/snapd/snap/bin is really missing from your $PATH. Not certain what to do about it, short of re-installing a clean machine. One more attempt though. On my Centos 8 and Fedora 31 virtual machines file /etc/environment is empty:
    $ ls -l /usr/lib/environment.d/
    total 4
    lrwxrwxrwx. 1 root root  24 Mar 26 16:19 99-environment.conf -> ../../../etc/environment
    -rw-r--r--. 1 root root 120 Feb 13 21:35 990-snapd.conf
    $ 
    $ realpath /usr/lib/environment.d/../../../etc/environment
    /etc/environment
    $ 
    $ ls -l /etc/environment
    -rw-r--r--. 1 root root 0 Oct  9  2019 /etc/environment
    $ 
    
    What does file /etc/environment look like on your CentOS 8 machine?

By the way, CentOS 8 is running Wayland by default here:

$ loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type
Type=wayland

Type=wayland
$ 

It’s the same with X11 though.

This file is blank on my system.

Also, running X11. although doesn’t seem that matters from your testing.
$ loginctl show-session $(awk ‘/tty/ {print $1}’ <(loginctl)) -p Type
Type=x11

Type=x11
$

I’m at a loss, I have 2 workstations with the same issue and the VM I installed earlier to test behaved the same way. I did install each from 8.0.1905 and then upgraded from there. Suppose I’ll give a shot to the 8.1 build in a vm and if that works I’ll rebuild my main workstation again.

Seems the only problem is the apps not getting dropped in the launcher. I can link them, annoying but definitely better than executing from command line and once it’s done then it’s done.

Anyway, thanks for all your time looking at this.

This is a know problem caused by using secure_path in sudo configuration in Fedora and RHEL. See
https://bugzilla.redhat.com/show_bug.cgi?id=1691996 for more details. Unfortunately, there’s no known way for packages to drop-in configuration files to tweak that setting. Using sudo -E does the trick but IIRC it preserves too much of the environment and is thus not recommended.

1 Like

With item 1 out of the way (use sudo --preserve-env=PATH instead of a mere sudo), there’s only item 2 left but I cannot reproduce it. The Authy icon is visible in Activities and clicking on it launches the application, then the icon appears in the panel and can be added to the Favorites.

CentOS 8

Fedora 31

The main difference you have noticed is that I installed the CentOS virtual machine from the CentOS 8.1.1911 DVD, while you installed 8.0.1905. However I would be surprised if that were the cause of the discrepancy. Any other peculiarities in your setup? My own setup is pretty simple: English (US) to be on the safe side, single Ethernet network interface, root account and single “sudoer” user, “dnf update” right after installation, then snapd installation from EPEL.

I really don’t know what else would be any different but I now have 4 different installs (2 physical and 2 virtual) with the same behavior. I pulled the latest iso last night, created a new VM on one of my centos servers, default options through the install, set a single user as admin during install. Post-install updated, installed EPEL, installed snapd and restarted my system. From there I followed snapstore’s page for signal-desktop and the app installed, but no icon in Activities.

The only thing that is coming to mind is at one point in testing last night I saw a message about snapd not being ready “device not seeded” or something, don’t recall the exact text, but I waited a couple minutes and attempted the app install again and it worked fine.

I really don’t know then. One very last attempt: I have been installing CentOS with the following Software Selection:

  • Workstation
  • Development Tools (to be able to install the VirtualBox guest additions)

You should be able install these after the fact with:

sudo dnf groupinstall "Workstation"
sudo dnf groupinstall "Development Tools"

Finally I assume there’s nothing relevant in the system logs? You may look at the output of journalctl -f while installing snapd and or snaps.

As a workaround you may add a file in the location used by Flatpak since it seems to be working:
/usr/share/gdm/env.d/snapd.env

The contents would look like:

PATH=${PATH}:/var/lib/snapd/snap/bin

But again that’s a workaround, not a real fix.

I logged into my test VM and installed the 2 groups you noted to make sure I had all the same packages, restarted the machine and tried to install authy. The install completed, with the warning at the end about /var/lib/snapd/snap/bin not found in $PATH as you already addressed. After install, nothing in activities to launch, but does launch via cmd. I’ve attached txt from journalctl during the install process and another showing the application launch, in case it’s useful. I really was expecting my VM to work fine at this point. This is frustrating, I have a workaround but I hate not being able to figure it out and fix it. Hopefully something in the attached files jumps out to you.

(Attachment AuthyInstall.txt is missing)

(Attachment AuthyStart.txt is missing)

well, I tried to attach txt via email response. I guess I’ll just post it here, long and ugly.

Apr 24 16:53:57 cent systemd[1]: Stopped Snappy daemon.
Apr 24 16:53:57 cent systemd[1]: Starting Snappy daemon…
Apr 24 16:53:57 cent snapd[3531]: AppArmor status: apparmor not enabled
Apr 24 16:53:57 cent snapd[3531]: daemon.go:346: started snapd/2.43.3-1.el8 (series 16; classic; devmode) centos/8 (amd64) linux/4.18.0-147.8.1.el8_1.x86_.
Apr 24 16:53:57 cent snapd[3531]: daemon.go:439: adjusting startup timeout by 35s (pessimistic estimate of 30s plus 5s per snap)
Apr 24 16:53:57 cent snapd[3531]: helpers.go:842: cannot retrieve info for snap “core18”: cannot find installed snap “core18” at revision 1705: missing file /var/lib/snapd/snap/core18/1705/meta/snap.yaml
Apr 24 16:53:57 cent snapd[3531]: helpers.go:842: cannot retrieve info for snap “authy”: cannot find installed snap “authy” at revision 1: missing file /var/lib/snapd/snap/authy/1/meta/snap.yaml
Apr 24 16:53:57 cent snapd[3531]: helpers.go:842: cannot retrieve info for snap “gnome-3-28-1804”: cannot find installed snap “gnome-3-28-1804” at revision 116: missing file /var/lib/snapd/snap/gnome-3-28-1804/116/meta/snap.yaml
Apr 24 16:53:57 cent snapd[3531]: helpers.go:842: cannot retrieve info for snap “gtk-common-themes”: cannot find installed snap “gtk-common-themes” at revision 1506: missing file /var/lib/snapd/snap/gtk-common-themes/1506/meta/snap.yaml
Apr 24 16:53:57 cent systemd[1]: Started Snappy daemon.
Apr 24 16:54:06 cent systemd[1]: Reloading.
Apr 24 16:54:06 cent systemd[1]: Mounting Mount unit for core18, revision 1705…
Apr 24 16:54:06 cent systemd[1]: Mounted Mount unit for core18, revision 1705.
Apr 24 16:54:16 cent systemd[1]: Reloading.
Apr 24 16:54:16 cent systemd[1]: Mounting Mount unit for authy, revision 1…
Apr 24 16:54:16 cent systemd[1]: Mounted Mount unit for authy, revision 1.
Apr 24 16:54:26 cent systemd[1]: Reloading.
Apr 24 16:54:27 cent systemd[1]: Mounting Mount unit for gnome-3-28-1804, revision 116…
Apr 24 16:54:27 cent systemd[1]: Mounted Mount unit for gnome-3-28-1804, revision 116.
Apr 24 16:54:30 cent systemd[1]: Reloading.
Apr 24 16:54:30 cent systemd[1]: Mounting Mount unit for gtk-common-themes, revision 1506…
Apr 24 16:54:30 cent systemd[1]: Mounted Mount unit for gtk-common-themes, revision 1506.
Apr 24 16:54:49 cent libvirtd[1202]: 2020-04-24 20:54:49.460+0000: 1202: info : libvirt version: 4.5.0, package: 35.3.module_el8.1.0+297+df420408 (CentOS Buildsys bugs@centos.org, 2020-04-10-11:06:38, )
Apr 24 16:54:49 cent libvirtd[1202]: 2020-04-24 20:54:49.460+0000: 1202: info : hostname: cent
Apr 24 16:54:49 cent libvirtd[1202]: 2020-04-24 20:54:49.460+0000: 1202: error : virNetlinkEventCallback:784 : nl_recv returned with error: No buffer space available
Apr 24 16:54:49 cent upowerd[2261]: treating change event as add on /sys/devices/pci0000:00/0000:00:02.1/0000:02:00.0/usb2
Apr 24 16:54:49 cent upowerd[2261]: treating change event as add on /sys/devices/pci0000:00/0000:00:02.1/0000:02:00.0/usb1
Apr 24 16:54:49 cent upowerd[2261]: treating change event as add on /sys/devices/pci0000:00/0000:00:02.1/0000:02:00.0/usb1/1-0:1.0
Apr 24 16:54:49 cent [3977]: failed to execute ‘/usr/lib/snapd/snap-device-helper’ ‘/usr/lib/snapd/snap-device-helper change snap_authy_authy /devices/pci0000:00/0000:00:01.0/drm/card0 226:0’: No such file or directory
Apr 24 16:54:49 cent systemd-udevd[3964]: Process ‘/usr/lib/snapd/snap-device-helper change snap_authy_authy /devices/pci0000:00/0000:00:01.0/drm/card0 226:0’ failed with exit code 2.
Apr 24 16:54:49 cent upowerd[2261]: treating change event as add on /sys/devices/pci0000:00/0000:00:02.1/0000:02:00.0/usb1/1-1
Apr 24 16:54:49 cent [3981]: failed to execute ‘/usr/lib/snapd/snap-device-helper’ ‘/usr/lib/snapd/snap-device-helper change snap_authy_authy /devices/pci0000:00/0000:00:01.0/drm/card0/card0-Virtual-1 0:0’: No such file or directory
Apr 24 16:54:49 cent systemd-udevd[3965]: Process ‘/usr/lib/snapd/snap-device-helper change snap_authy_authy /devices/pci0000:00/0000:00:01.0/drm/card0/card0-Virtual-1 0:0’ failed with exit code 2.
Apr 24 16:54:49 cent upowerd[2261]: treating change event as add on /sys/devices/pci0000:00/0000:00:02.1/0000:02:00.0/usb2/2-0:1.0
Apr 24 16:54:49 cent [3984]: failed to execute ‘/usr/lib/snapd/snap-device-helper’ ‘/usr/lib/snapd/snap-device-helper change snap_authy_authy /devices/pci0000:00/0000:00:01.0/drm/card0/card0-Virtual-3 0:0’: No such file or directory
Apr 24 16:54:49 cent upowerd[2261]: treating change event as add on /sys/devices/pci0000:00/0000:00:02.1/0000:02:00.0/usb1/1-1/1-1:1.0
Apr 24 16:54:49 cent [3983]: failed to execute ‘/usr/lib/snapd/snap-device-helper’ ‘/usr/lib/snapd/snap-device-helper change snap_authy_authy /devices/pci0000:00/0000:00:01.0/drm/card0/card0-Virtual-4 0:0’: No such file or directory
Apr 24 16:54:49 cent systemd-udevd[3964]: Process ‘/usr/lib/snapd/snap-device-helper change snap_authy_authy /devices/pci0000:00/0000:00:01.0/drm/card0/card0-Virtual-4 0:0’ failed with exit code 2.
Apr 24 16:54:49 cent systemd-udevd[3962]: Process ‘/usr/lib/snapd/snap-device-helper change snap_authy_authy /devices/pci0000:00/0000:00:01.0/drm/card0/card0-Virtual-3 0:0’ failed with exit code 2.
Apr 24 16:54:49 cent [3986]: failed to execute ‘/usr/lib/snapd/snap-device-helper’ ‘/usr/lib/snapd/snap-device-helper change snap_authy_authy /devices/pci0000:00/0000:00:01.0/drm/card0/card0-Virtual-2 0:0’: No such file or directory
Apr 24 16:54:49 cent upowerd[2261]: treating change event as add on /sys/devices/pci0000:00/0000:00:02.1/0000:02:00.0/usb1/1-1/1-1:1.0/0003:0627:0001.0001
Apr 24 16:54:49 cent systemd-udevd[3963]: Process ‘/usr/lib/snapd/snap-device-helper change snap_authy_authy /devices/pci0000:00/0000:00:01.0/drm/card0/card0-Virtual-2 0:0’ failed with exit code 2.
Apr 24 16:54:50 cent sudo[3261]: pam_unix(sudo:session): session closed for user root
Apr 24 16:54:52 cent ModemManager[1054]: Couldn’t check support for device ‘/sys/devices/pci0000:00/0000:00:02.0/0000:01:00.0’: not supported by any plugin
Apr 24 16:55:08 cent PackageKit[2281]: daemon quit

and the logging from cmd launch of authy, the part that looks odd to me here is the “Started flatpak…” line when launching a snap, but other than this is the timestamp I executed, I’m not sure it’s related or just coincidental.

Apr 24 17:09:30 cent dbus-daemon[2494]: [session uid=1000 pid=2494] Activating via systemd: service name=‘org.freedesktop.portal.Documents’ unit=‘xdg-document-portal.service’ requested by ‘:1.76’ (uid=1000 pid=4235 comm=“authy " label=“unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023”)
Apr 24 17:09:30 cent systemd[2464]: Starting flatpak document portal service…
Apr 24 17:09:30 cent dbus-daemon[2494]: [session uid=1000 pid=2494] Successfully activated service ‘org.freedesktop.portal.Documents’
Apr 24 17:09:30 cent systemd[2464]: Started flatpak document portal service.
Apr 24 17:09:38 cent dbus-daemon[1046]: [system] Activating via systemd: service name=‘org.bluez’ unit=‘dbus-org.bluez.service’ requested by ‘:1.474’ (uid=1000 pid=4235 comm=”/snap/authy/1/authy --no-sandbox " label=“unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023”)
Apr 24 17:10:03 cent dbus-daemon[1046]: [system] Failed to activate service ‘org.bluez’: timed out (service_start_timeout=25000ms)

This is actually expected. The document and desktop portals are gateways to locations on the outside of the sandbox for flatpaks and snaps.