答案1
笔记:这个答案适用于 Xubuntu 20.04 和 Ubuntu 20.04 中的 okular snap
okular
作为 snap 包安装后,我在 Whisker Menu 启动器中看到两个图标:一个似乎代表okular
,另一个是通用的,但都显示相同的工具提示(通用文档查看器)。
我跑去locate -i okular | grep -i desktop
识别相应的.desktop 文件。(Ubuntu 用户可能需要安装该mlocate
包才能访问该locate
命令。)有几次点击,但是
/var/lib/snapd/desktop/applications/okular_okular.desktop
/var/lib/snapd/desktop/applications/okular_org.kde.okular.desktop
是相关的。
我将这两个 .desktop 文件复制到了
~/.local/share/applications
。applications
子文件夹可能原本不存在,在这种情况下应该创建它。我编辑了这两个文件,删除了多余的名称、通用名称和注释,然后比较了这两个文件。
dkb@dkb-xubuFF:~/.local/share/applications$ ls
okular_okular.desktop okular_org.kde.okular.desktop
dkb@dkb-xubuFF:~/.local/share/applications$ diff *.desktop
7,8c7
< Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/okular_okular.desktop /snap/bin/okular %U
< Icon=/snap/okular/98/usr/share/icons/hicolor/64x64/apps/okular.png
---
> Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/okular_org.kde.okular.desktop /snap/bin/okular %U
12d10
<
dkb@dkb-xubuFF:~/.local/share/applications$
从输出中可以看出,
Exec=
两个 .desktop 文件的行都会启动/snap/bin/okular %U
- 一个 .desktop 文件,okular_org.kde.okular.desktop,缺少以 开头的行
Icon
,该行解释了应用程序菜单中的“通用”图标。 NoDisplay=true
由于两个 .desktop 文件似乎是等效的,我们可以通过在 .desktop 文件的最后一行中添加显示通用图标的文件来“隐藏”它。
oku
现在,在启动器的搜索栏中输入时只会显示一个“okular” :
笔记:
- 以上操作均不需要用户亲自
root
或调用sudo
- 对 .desktop 文件所做的修改
~/.local/share/applications
将会在父包的更新后保留。
一个错误已提交。
答案2
你们之所以看到 okular 的其他部分,是因为它与 Ubuntu 和所有派生发行版中已经存在的 Evince PDF 阅读器包相冲突。如果您在实用程序中保存该其他图标并删除 Okular,您将看到 Evince PDF 阅读器图标出现在该位置。
希望这能帮助 Scoop