【问题标题】:Snap applications not showing in "show applications", Ubuntu 20.04快照应用程序未显示在“显示应用程序”中,Ubuntu 20.04
【发布时间】:2022-07-19 15:52:26
【问题描述】:

昨天,在 Ubuntu(或者可能是戴尔)安装了一些更新并重新启动后,我的 snap 应用程序没有显示在我的侧边栏上,它们也没有出现在“显示应用程序”或正常搜索中。

它们仍然安装,snap list 仍然显示它们,它们仍将通过 snap run <application> 运行。

我尝试将它们全部卸载(虽然我在运行 snap remove <application> 时没有使用 --purge),然后卸载 snap 本身,然后重新安装所有内容。它们仍然存在,但没有出现。

更多搜索将我带到引用XDG_DATA_DIRS 环境变量的站点(解释为HERE)。如果我理解正确,这应该链接存储应用程序的所有文件夹,并且其中的路径应该用冒号分隔,而不是空格。于是我跑了echo $XDG_DATA_DIRS,得到了奖励:

/usr/local/share/:/usr/share/:/var/lib/snapd/desktop /var/lib/snapd/desktop /var/lib/snapd/desktop

所以我怀疑我的问题是 snapd 目录被列出 3 次,并且 它是用空格分隔的。。 p>

有没有人知道我该如何解决这个问题?我怀疑,但不确定这是问题所在。

我在 Ubuntu 20.04 上,使用 fish shell。

我发现THIS 帖子显示了一个可能的解决方案,并且在运行sudo ag "XDG_DATA_DIRS=" / 2>/dev/null | grep -v snap(并等待一段时间)后,我得到了以下输出(减去了一些我已删除的 auth.log 引用)为大的、可能不敬的“数据转储”道歉

/etc/profile.d/xdg_dirs_desktop_session.sh:4:DEFAULT_XDG_DATA_DIRS='/usr/local/share/:/usr/share/'
/etc/profile.d/xdg_dirs_desktop_session.sh:18:       XDG_DATA_DIRS="$DEFAULT_XDG_DATA_DIRS"
/etc/profile.d/xdg_dirs_desktop_session.sh:21:       XDG_DATA_DIRS=/usr/share/"$DESKTOP_SESSION":"$XDG_DATA_DIRS"
/etc/profile.d/apps-bin-path.sh:12:    export XDG_DATA_DIRS="/usr/local/share:/usr/share"
/etc/X11/Xsession.d/55gnome-session_gnomerc:17:      XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
/etc/X11/Xsession.d/55gnome-session_gnomerc:19:      XDG_DATA_DIRS=/usr/share/gnome:"$XDG_DATA_DIRS"
/etc/X11/Xsession.d/60x11-common_xdg_path:5:DEFAULT_XDG_DATA_DIRS='/usr/local/share/:/usr/share/'
/etc/X11/Xsession.d/60x11-common_xdg_path:17:       XDG_DATA_DIRS="$DEFAULT_XDG_DATA_DIRS"
/etc/X11/Xsession.d/60x11-common_xdg_path:20:       XDG_DATA_DIRS=/usr/share/"$DESKTOP_SESSION":"$XDG_DATA_DIRS"
/usr/share/doc/gnome-software/README.md:24:$ XDG_DATA_DIRS=install/share:$XDG_DATA_DIRS ./install/bin/gnome-software

我不确定我是否找到了考虑更新环境变量的正确位置,因为这些都没有引用/var/lib/snaped/desktop...而且这可能根本不是导致问题的问题!欢迎任何帮助!

【问题讨论】:

    标签: operating-system ubuntu-20.04 fish snap


    【解决方案1】:

    您遇到了https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1957948,这需要在 snapd 中进行修复。

    使用不同的 shell 作为登录 shell,然后在 fish 启动后执行它是正确的解决方法。

    【讨论】:

    • 非常感谢您链接这个 - 跟随它让我知道如何解决这个问题!
    【解决方案2】:

    在关注 Zanchy 的链接并阅读该问题后,我找到了解决方案 here!!!

    我需要更换 set XDG_DATA_DIRS $XDG_DATA_DIRS $snap_xdg_pathset XDG_DATA_DIRS $XDG_DATA_DIRS:$snap_xdg_path/usr/share/fish/vendor_conf.d/snapd.fish

    更新:在另一次更新后,我发现我的 snaped.fish 文件已恢复,我需要再次对其进行编辑 - 因此可能需要重新应用此解决方案,直到 fish 更新成功?

    【讨论】:

    • 太棒了!我一直在寻找这个解决方案好几天了。我认为这解决了使用 fish 作为我的默认 shell 时 Ubuntu 中缺少的桌面应用程序
    • 嘘!请注意我的编辑,。我的修复需要重新应用!
    【解决方案3】:

    我也遇到了同样的问题(Firefox 突然在 Gnome Shell 中消失了),我正在使用带有鱼壳的 Ubuntu 21.10。就像你一样,我无法弄清楚是什么导致了这个 XDG_DATA_DIRS 修改与空格分隔。因为您显然也使用 fish 我尝试切换回 bash 作为登录 shell (chsh -s /bin/bash),重新启动并瞧,桌面文件再次加载。之后,我将 fish 设置为在 gnome-terminal 中启动的命令。

    TLDR:我的快速修复/解决方法是 chsh -s /bin/bash 切换到 bash 作为登录 shell(而不是 fish)并重新启动。

    【讨论】:

    • 您好,请查看我分享的链接,了解让您继续使用 fish 的解决方法!
    【解决方案4】:

    我在 Linux Lite 6.0(与 Ubuntu 22.04 基本相同)上遇到了同样的问题。 Snap 应用程序(Spotify、Prospect Mail)不会显示我们在搜索时甚至找不到。只需注销并重新登录,将应用程序快捷方式放在菜单中,一切正常。

    【讨论】:

      猜你喜欢
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 2020-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多