安装 GNOME 软件后,已安装的 snap 应用程序(包括 Ubuntu 软件)的启动器消失了

Vin*_*ent 3 software-center gnome-software snap flatpak gnome-shell

我安装了常规gnome-software以便也能够安装 Flatpaks。在我这样做之后,一切都很好:我可以在启动器概述中看到“软件”和“Ubuntu 软件”并启动它们中的任何一个。

然而,重新启动后,我再也看不到 Ubuntu 软件,并且已安装的 Snap 也不再出现在菜单中。此后,我卸载了 gnome 软件,卸载并重新安装了 Ubuntu 软件(snap remove snap-storesnap install snap-store)以及我正在测试的 Snap 应用程序,然后重新启动,但我仍然看不到它们。

为什么会发生这种事?

根据 pomsky 的要求:

$ ls /var/lib/snapd/desktop/applications/
chromium_chromium.desktop
gnome-system-monitor_gnome-system-monitor.desktop
keepassxc_keepassxc.desktop
mimeinfo.cache
signal-desktop_signal-desktop.desktop
skype_skypeforlinux.desktop
snap-store_snap-store.desktop
spotify_spotify.desktop
ubports-installer_ubports-installer.desktop
Run Code Online (Sandbox Code Playgroud)

$ echo $XDG_DATA_DIRS
/home/vincent/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/
Run Code Online (Sandbox Code Playgroud)

pom*_*sky 5

与 Snap Store 和其他 Snap 应用程序关联的启动.desktop器存在于您的/var/lib/snapd/desktop/applications/目录中。正常情况下 GNOME Shell 应该能够检测到它们并将它们显示在应用程序列表中。但输出显示echo $XDG_DATA_DIRS该目录不是您的XDG_DATA_DIRS. 因此,将该/var/lib/snapd/desktop/目录添加到您的XDG_DATA_DIRS.

另外,作为解决方法,您可以将所需的.desktop启动器复制/var/lib/snapd/desktop/applications/到您的~/.local/share/applications/目录中。例如,对于 Snap Store 应用程序,您可以通过运行

cp /var/lib/snapd/desktop/applications/snap-store_snap-store.desktop ~/.local/share/applications/
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!我将“/var/lib/snapd/desktop/”添加到“$XDG_DATA_DIRS”中,现在我可以再次看到我的应用程序。与之前相比唯一的变化是“Ubuntu Software”现在称为“Snap Store”,所以我不确定是否仍然可以使用它来安装 Debian 软件包。 (2认同)