如果我有 mime 类型,如何从当前外观图标主题中获取其关联的图标?

如果我有 mime 类型,如何从当前外观图标主题中获取其关联的图标?

如果我使用命令行有一个 mime 类型的文件file -bi

如何从当前外观图标主题中获取该 mime 类型的关联图标?

谢谢大家。

答案1

Freedesktop.org 共享 MIME 类型规范将是适用的标准。

简而言之,在/usr/share/mime/icons/usr/share/mime/generic-icons文件中搜索 MIME 类型。如果它在那里,该文件会告诉您图标文件的名称。第一个文件包含与特定 MIME 类型完全匹配的图标名称;第二个将 MIME 类型映射到通用图标,以防文件类型没有完全匹配的图标。如果仍然没有命中,则通用文件类型图标有 16 个左右的标准图标名称,定义于图标命名规范

现在您知道图标的基本名称了。实际的图标文件可以在该目录中找到/usr/share/icons/<theme name>/<icon size>/mimetypes/

如何知道该<theme name>部分?嗯,这仍然取决于您使用的桌面环境。

对于使用 gtk 工具包的环境,请使用:

gsettings get org.gnome.desktop.interface icon-theme

或者对于旧版本:

gconftool-2 --get "/desktop/gnome/interface/icon_theme"

对于 KDE5,请使用:

kreadconfig5 --group Icons --key Theme

对于旧版本的 KDE,请删除5.

特别对于 XFCE,这似乎是查询图标主题名称的命令:

xfconf-query -c xsettings -p /Net/IconThemeName

笔记:在撰写本文时,共享 MIME 类型规范仍然很新,并且可能有 Linux 发行版尚未遵循它。在这种情况下,这个网页可能会有帮助。

相关内容