具有不同图标的相同可执行文件

Same executable with different icons

我想打开一个 pdf 查看器 (okular),其图标与 gnome-console 不同。

基本上我想区分 pdfs 我正在阅读。有些人会有默认的 okular 图标,但我想为我正在编辑的 LaTeX 文档生成的 pdf 设置一个 different/special 图标。

思考如何做到这一点,我意识到当我从控制台执行 /usr/bin/okular 时,我不确定 gnome 如何知道要使用什么图标。该 bin 与图标有何关联,不涉及 .desktop 文件?

应用程序在启动时将其图标设置为 compiled-in 值。大多数使用他们的图形工具包的 API 来实现(Gtk 提供了各种形式的 gtk_window_set_icon API 调用),但它的根源在于 X Windows window-manager 属性 和泥土一样古老 — 这就是为什么,例如,okular 在 Gnome Shell 中仍然有一个应用程序图标,即使它是一个 KDE 应用程序。

如果您在终端中键入 xprop,然后单击应用程序的 window,您可以看到应用程序正在导出的图标的灰度表示。 (您需要安装正确的实用程序包,在 Fedora 中称为 xorg-x11-utils。)

应用程序图标在任何情况下都不依赖于 Gnome 或 .desktop 文件。

(事实上,您 可以 创建自己的 $HOME/.local/share/applications/okular.desktop 文件,用不同的图标表示应用程序,然后通过单击该图标启动它,但它会被忽略以支持应用程序启动后编译到应用程序中的那个。我的收藏夹面板中有一些自定义启动器用于不同的 VNC 会话,每个会话使用不同的图标,但它们都显示为带有标准图标的 TigerVNC启动。)

AFAIK 做你想做的唯一方法是编译你自己的单独版本的 okular 并将图标更改为其他内容。抱歉,这不是应用程序图标的使用方式。