在 xfce4 中,如何将图标与可执行文件关联

在 xfce4 中,如何将图标与可执行文件关联

Ubuntu 12.04,xfce4。我从命令行运行命令,而不是从启动器运行命令。(这应该没什么区别,但有些回复认为我想点击启动器,但这不是重点。)

我想要的是:当我运行程序 /usr/bin/zathura(PDF 查看器)时,我希望看到窗口菜单(由背景上的鼠标中键触发的菜单,或由 control-Tab 触发的菜单以循环浏览窗口)中的每个窗口都出现图标 zathura.png。

这不会发生!相反,我得到的是一个通用图标。

我做了什么:

  • 将图标放置zathura.png/usr/share/app-install/icons(其中已经包含图标okular.png,当我运行okular时可以正确显示)。

  • Icon=zathura向文件中 添加了该行/usr/share/applications/zathura.desktop (再次模仿类似文件 okular.png)。注意:按照 Tim 的建议,我Icon=zathura用完整路径名替换了模仿。完整文件如下:

    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=Zathura
    Comment=A minimalistic document viewer
    Exec=zathura %f
    Terminal=false
    Categories=Office;Viewer;
    Icon=/usr/share/app-install/icons/zathura.png
    Keywords=PDF;PS;PostScript;DjVU;document;presentation;
    
  • 重新启动窗口管理器(注销并重新登录)。

沒有什麼差異!

然后我开始尝试破坏 okular 图标,看看能否找到图标与可执行文件关联的位置。我破坏不了它!例如,如果我复制到/usr/bin/okular/usr/bin/fooooo调用该新可执行文件,这样创建的窗口仍然会获得 okular 图标,即使没有fooooo.pngfooooo.desktop,或者任何.desktop带有Name=fooooo或 的Exec=fooooo

可执行文件和图标之间的关联在哪里建立?


注意:重点不在于图标是否出现在桌面上。它是否出现在那里对我来说没有区别。
(我的桌面显示的是我的主目录的内容。)

答案1

这不会发生!相反,我得到的是一个通用图标。

我做了什么:

将图标放置zathura.png/usr/share/app-install/icons(其中已经包含图标okular.png,当我运行okular时可以正确显示)。

这是正确的做法。

  • Icon=zathura向文件中 添加了以下行/usr/share/applications/zathura.desktop (再次模仿类似文件 okular.png)。完整文件如下:

    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=Zathura
    Comment=A minimalistic document viewer
    Exec=zathura %f
    Terminal=false
    Categories=Office;Viewer;
    Icon=zathura
    Keywords=PDF;PS;PostScript;DjVU;document;presentation;

这就是问题所在。我认为它需要绝对路径 - 或者至少是文件扩展名。这是因为您不知道应用程序默认位于哪里。例如,cairo-dock位于/usr/share/cairo-dock。因此请像这样为其提供完整路径。

[Desktop Entry]
Version=1.0
Type=Application
Name=Zathura
Comment=A minimalistic document viewer
Exec=zathura %f
Terminal=false
Categories=Office;Viewer;
Icon=/usr/share/app-install/icons/zartha.png
Keywords=PDF;PS;PostScript;DjVU;document;presentation;

然后我开始尝试破坏 okular 图标,看看能否找到图标与可执行文件关联的位置。我破坏不了它!例如,如果我复制到/usr/bin/okular/usr/bin/fooooo调用该新可执行文件,这样创建的窗口仍然会获得 okular 图标,即使没有fooooo.pngfooooo.desktop,或者任何.desktop带有Name=fooooo或 的Exec=fooooo

这是因为链接不是在名称或可执行文件名称之间,而是在图标行之间。尝试删除它,它会中断。

相关内容