Недавно я установил 'stl-thumb' в качестве подключаемого модуля миниатюр для файловых менеджеров, но заметил, что он не конвертирует все файлы с расширением .stl. При ближайшем рассмотрении с использованием оболочки 'file --mime файлы, которые «работают», являются файлами STL с двоичной кодировкой, а те, которые не являются файлами STL с кодировкой ascii. Однако тестирование сценария из командной строки показывает, что он работает с обоими типами файлов.
Создавая оболочку вокруг архива бинарных сценариев 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
Опять же, скрипт thumbnailer работает с файлом в двоичной кодировке, но, похоже, вообще не работает с файлом в кодировке ascii. Поэтому я предполагаю, что это как-то связано с типами пантомимы или с разницей в содержании. Запуск сценария вручную в файле с кодировкой ascii работает нормально.
Я не знаю, что нужно настроить, чтобы все заработало правильно.
РЕДАКТИРОВАТЬ: Мне стало любопытно, и я попробовал другой файловый менеджер, и кажется, что nautilus работает, а nemo — нет. Если я просматриваю содержимое папки в nautilus, он заполняет недостающие значки, а затем обновление в nemo также показывает их там.
Используйте команду mimetype
; в идеале на известное имя файла.
Но mimetype *.stl
выглядит нормально и отвечает *.stl :модель/stl
Таким образом, единственным известным MIME-типом является 'model/stl'