为什么有两个“Okular”实例,我该如何摆脱另一个?

为什么有两个“Okular”实例,我该如何摆脱另一个?

我注意到,当我在 Ubuntu 20.04 中进行程序搜索时,有两个 Okular 程序实例。一个带有图标,另一个带有通用应用程序图标(齿轮)。我从 Ubuntu Software 安装了 Okular。这似乎不会发生在我从 Ubuntu Software 安装的其他应用程序中。我会自己在 Google 上搜索这个问题,但我不太清楚如何描述这个问题。任何帮助都将不胜感激。谢谢。

我应该指出,这是一个全新安装。

相关截图的链接...(我的声望值还未达到 10,因此无法嵌入图片)

搜索中有两个图标

搜索中有两个图标

输出snap list

<code>snap list</code> 的输出

输出apt policy okular

<code>apt policy okular</code> 的输出

答案1

笔记:这个答案适用于 Xubuntu 20.04 和 Ubuntu 20.04 中的 okular snap

okular作为 snap 包安装后,我在 Whisker Menu 启动器中看到两个图标:一个似乎代表okular,另一个是通用的,但都显示相同的工具提示(通用文档查看器)。

两个 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/applicationsapplications子文件夹可能原本不存在,在这种情况下应该创建它。

  • 我编辑了这两个文件,删除了多余的名称、通用名称和注释,然后比较了这两个文件。

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” :

只有一个 okular

笔记

  • 以上操作均不需要用户亲自root或调用sudo
  • 对 .desktop 文件所做的修改~/.local/share/applications将会在父包的更新后保留。

一个错误已提交。

答案2

你们之所以看到 okular 的其他部分,是因为它与 Ubuntu 和所有派生发行版中已经存在的 Evince PDF 阅读器包相冲突。如果您在实用程序中保存该其他图标并删除 Okular,您将看到 Evince PDF 阅读器图标出现在该位置。

希望这能帮助 Scoop

相关内容