如何更改特定文件类型的图标?

如何更改特定文件类型的图标?

我正在尝试更改文件的图标application/x-hwp。我已将图标添加到正确的位置,并使用 assoGiate 进行了检查(阅读后此主题)。它显示我想要的图标与文件类型相关联。然而,Nautilus 仍然显示旧图标。我怎样才能让 Nautilus 显示正确的图标?

答案1

这里有一组说明,可以帮助您获得 hwp 文件的自定义图标。

打开终端:

  • 检查 MIME 类型是否存在:grep 'hwp' /etc/mime.types

    如果您获得类似的输出,application/x-hwp hwp请跳过下一步。

  • 创建 MIME 类型sudo -H gedit /etc/mime.types并添加行application/x-hwp hwp

  • 添加图标(必须称为application-x-hwp.svg

    sudo cp PathToIcon/application-x-hwp.svg /usr/share/icons/gnome/scalable/mimetypes
    

    (不要忘记替换 PathToIcon)

信息来自这里

答案2

主要的技巧是正确找出实际图标的位置。
为了确定这一点,让我们分析一下 HTML 图标。图标的命名约定与 MIME 类型相同,只是/被替换-,并且不允许使用大写字母。例如,MIME 类型将具有名为(或)text/x-changelog的图标。HTML 的 MIME 类型是。因此它的图标将是如果我们运行命令text-x-changelog.svgpngtext/htmltext-html.*

find /usr/share/icons/ -type f | grep 'text-html\.'

我们将得到这些图标的几个放置位置:

/usr/share/icons/Humanity/mimes/
/usr/share/icons/gnome/NNxNN/mimetypes/
/usr/share/icons/HighContrast/scalable/mimetypes/

如果我们使用 Nautilus 访问每个图标,我们会看到,该Humanity/文件夹包含我们当前的图标,gnome/一些较旧的图标。HighContrast/我们不感兴趣。因此,为了更改某些图标,我们应该替换Humanity/文件夹中的图标。
还请注意,text-html.svg可缩放且应放置在scalable子文件夹中(这应该是合乎逻辑的)的图标被放置在不同大小的文件夹中,就像光栅 PNG 文件一样。

将图标(根据其大小在所有子文件夹中)替换为所需的图标后,应该更新图标缓存:

sudo gtk-update-icon-cache /usr/share/icons/Humanity

就是这样。

还有另一种方法可以确定图标方案的优先级 - 检查其index.theme文件。如果我们查看内部/usr/share/icons/Humanity/index.theme,我们会看到:

Inherits=gnome,hicolor

这意味着来自gnomehicolor文件夹的图标优先级将低于来自 的图标Humanity。解释如下这里
奇怪的是,Nautilus 不遵守这些继承规则。当我添加新的 MIME 类型时,我尝试将其图标放入/usr/share/icons/gnome/、、,/usr/share/icons/hicolor~/.local/share/icons/hicolor在每个步骤中更新图标数据库 - 一切都徒劳无功。这些图标在第一个选项卡上正确显示assogiate,但在 Nautilus 中从未显示。但当我将它们放入Humanity文件夹并更新图标数据库时,它们立即出现。

注意:所有这些都适用于默认图标主题。如果你使用一些自定义图标主题,你应该检查实际的图标所在的位置,然后在那里添加/更改图标。在较新的发行版中,这些继承规则也可能会改变。然后,您应该找到存储实际图标的新文件夹(如果不再存储Humanity),如前所述。

答案3

我希望您尝试注销并登录以刷新图标缓存。

另请查看您的图标是否具有合适的尺寸(您用来在 nautilus 中显示文件类型的图标)。

您或许还错过了跑步gtk-update-icon-cache

尝试一下本教程:http://swik.net/Ubuntu/Only+Ubuntu/How+To+Change+File-Type+(mimetype)+Icons+in+Ubuntu/chcrf

尝试手动创建 icon.theme,这是我从 awn 获得的一个示例:

[Icon Theme]
Name=awn-theme

Directories=scalable

[scalable]
Size=48
MaxSize=256
Context=Apps
Type=Scalable

手册在这里:http://live.gnome.org/GnomeArt/Tutorials/IconThemes

相关内容