![通过 snap 安装的程序未显示在启动器中](https://linux22.com/image/893003/%E9%80%9A%E8%BF%87%20snap%20%E5%AE%89%E8%A3%85%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%9C%AA%E6%98%BE%E7%A4%BA%E5%9C%A8%E5%90%AF%E5%8A%A8%E5%99%A8%E4%B8%AD.png)
刚刚更新到 Ubuntu 16.04 并首次尝试 snap 包。
因此我需要 meshlab 来查看一些 stl 文件。遇到 pitn 登录问题。发现 snap 包的命令行安装不需要登录。执行:
sudo snap install meshlab
嘿,presto meshlap 安装好了,无需登录。从命令行运行良好。但是程序没有显示在启动器中。这是为什么?Snap 包没有显示在启动器中吗?我该如何解决这个问题?
答案1
如果您使用的是 zsh,则 snap 二进制文件和桌面目录不会自动添加到您的环境变量中。为了解决这个问题,我在 /etc/zsh/zprofile 中添加了以下行(取自 Arch):
emulate sh -c 'source /etc/profile'
这将使用 bash 模拟处理您的 /etc/profile 文件,进而获取 /etc/profile.d/* 并设置正确的 PATH 等。
仅将 snap 目录添加到路径中,而不包括所有其余的默认 bash 配置文件:
emulate sh -c 'source /etc/profile.d/apps-bin-path.sh'
答案2
将应用程序快捷方式从/var/lib/snapd/desktop/applications/
复制到/usr/share/applications/
例子:
sudo cp /var/lib/snapd/desktop/applications/brave_brave.desktop /usr/share/applications/
我必须在 GalliumOS 3.0(基于 Xubuntu)上执行此操作
答案3
对我来说,它似乎也与 Ubuntu 18.04 下的 Wayland/ZSH 组合有关——即使在变量/var/lib/snapd/desktop
中列出XDG_DATA_DIRS
(这是通过完成的/etc/profile.d/apps-bin-path.sh
),启动器也无法识别该文件夹中的应用程序。
一个快速的解决方法是符号链接所需的桌面文件,例如:
ln -s /var/lib/snapd/desktop/applications/rubymine_rubymine.desktop .local/share/applications
答案4
运行 Kubuntu 18.04 时,我的解决方案是添加
export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/snapd/desktop/"
snap-apps.sh
到像中的自定义文件~/.config/plasma-workspace/env
。但这仅适用于 Plasma 5,并且可能已在 Ubuntu 18.10 中修复。
作为dsager 的回答已经提到通常的方法/etc/profile.d/apps-bin-path.sh
似乎不起作用。