问题:显示带有 *.xyz 扩展名的文件的自定义图标(用于 deb 包)
采用的解决方案
0)在 VirtualBox 上安装全新的 Ubuntu 19.04
1)创建一个新图标(xyz.svg 和 xyz.png 48x48)
2)注册新的 mime 类型“text/vnd.xyz”:在 /usr/share/mime/packages 中创建一个 xyz.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/vnd.xyz">
<comment>XYZ file</comment>
<glob pattern="*.xyz"/>
<icon name="xyz"/>
</mime-type>
</mime-info>
3)使用 更新 mime 数据库sudo update-mime-database /usr/share/mime
;
4)创建一个非空文件test.xyz
5)检查新的 MIME 类型是否已注册mimetype test.xyz
结果:确定
6)将图标复制到/usr/share/icons/hicolor/48x48/mimetypes/xyz.png
和/usr/share/icons/hicolor/scalable/mimetypes/xyz.svg
sudo update-icon-caches /usr/share/icons/hicolor
7)使用或 sudo更新图标缓存gtk-update-icon-cache /usr/share/icons/hicolor
8)在 nautilus 中检查 test.xyz 文件是否有 xyz 图标。结果:无
进一步的实验
安装另一个应用程序后(KeePass 2)我尝试了以下方法:
a) 更改 xyz.xml 文件以便使用已注册的图标,如“image-svg+xml”。结果:成功了
b) 更改 xyz.xml 文件以便使用应用程序注册图标,如“application-x-keepassx”。结果:不起作用
c) 修改 keepassx.xml 文件以使用 xyz 图标。结果:它起作用了!.kdbx 文件有 xyz 图标!
“image-svg+xml”位于 Yaru 主题中,而“application-x-keepassx”位于 hicolor 中:我似乎在从 hicolor 获取图标时遇到了一些问题,但 keepass 使用它们却没有问题。
有什么建议吗?