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

Sco*_*nce 46 icons nautilus mime-type

我正在尝试更改application/x-hwp文件的图标。我已将图标添加到适当的位置,并使用 assoGiate(阅读此线程后)进行检查。它显示我想要的图标与文件类型相关联。尽管如此,Nautilus 仍然显示旧图标。如何让 Nautilus 显示正确的图标?

dan*_*jjl 28

这是一组说明,可以为您提供 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
    
    Run Code Online (Sandbox Code Playgroud)

    (不要忘记替换 PathToIcon)

这里得到信息


wht*_*ger 19

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

find /usr/share/icons/ -type f | grep 'text-html\.'
Run Code Online (Sandbox Code Playgroud)

我们会得到几个放置这些图标的地方:

/usr/share/icons/Humanity/mimes/
/usr/share/icons/gnome/NNxNN/mimetypes/
/usr/share/icons/HighContrast/scalable/mimetypes/
Run Code Online (Sandbox Code Playgroud)

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

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

sudo gtk-update-icon-cache /usr/share/icons/Humanity
Run Code Online (Sandbox Code Playgroud)

就是这样。

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

Inherits=gnome,hicolor
Run Code Online (Sandbox Code Playgroud)

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

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


Chr*_*ski 0

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

另请查看您的图标是否具有适当的大小(您用于在 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
Run Code Online (Sandbox Code Playgroud)

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