我最近将“stl-thumb”作为缩略图插件安装到文件管理器中,但我注意到它并没有转换所有带有 .stl 扩展名的文件。使用 shell 'file --mime 进行仔细检查后,会发现“工作”的文件是二进制编码的 STL 文件,而不能工作的文件是 ascii 编码的 STL 文件。然而,从命令行测试脚本表明它适用于两种类型的文件。
围绕 stl-thumb 二进制脚本存档构建一个包装器,以便我可以删除日志,我可以看到它甚至没有尝试对 ascii 编码文件执行任何操作。所以我假设这是操作系统/文件管理器级别的某些东西将这些文件视为不同的。
缩略图定义文件是:
[Thumbnailer Entry]
TryExec=stlthumbnailer
Exec=stlthumbnailer -f png -s %s %i %o
MimeType=model/stl;model/x.stl-ascii;model/x.stl-binary;application/sla;
当我在文件管理器中提取两种类型文件的属性时,两者列出的 mime 类型显示为:
Unknown (model/x.stl-binary)
然而,从命令行检查文件显示:
$ file --mime *.stl
binary_test.stl: application/octet-stream; charset=binary
ascii_test.stl: text/plain; charset=us-ascii
$ file -b --mime *.stl
application/octet-stream; charset=binary
text/plain; charset=us-ascii
同样,缩略图脚本在二进制编码文件上运行,但似乎根本不在 ascii 编码文件上运行。所以我假设它要么与哑剧类型有关,要么与内容的差异有关。在 ascii 编码文件上手动运行脚本确实可以正常工作。
我不确定要调整什么才能使其正常工作。
编辑:我很好奇并尝试了不同的文件管理器,看起来 nautilus 可以工作,但 nemo 不行。如果我在 nautilus 中查看文件夹的内容,它会填充缺少的图标,然后在 nemo 中刷新也会将它们显示在那里。
答案1
使用mimetype
命令;最好是在已知的文件名上。
但mimetype *.stl
看起来不错并以 *.stl 响应: model/stl
所以唯一已知的 mimetype 是“model/stl”