最近、ファイルマネージャに "stl-thumb"をサムネイルプラグインとしてインストールしましたが、拡張子が.stlのすべてのファイルが変換されるわけではありませんでした。 shell 'file --mimeを使用して注意深く調べると、「動作する」ファイルはバイナリでエンコードされたSTLファイルであり、機能しないファイルはASCIIでエンコードされたSTLファイルであることがわかります。しかし、コマンドラインでスクリプトをテストすると、両方の種類のファイルで動作することがわかりました。
ログを削除できるように、stl-thumbバイナリスクリプトアーカイブの周りにラッパーを構築すると、ASCIIでエンコードされたファイルで何もしようとしないことがわかります。だから私はこれらのファイルを別の方法で扱うことがOS /ファイル管理者レベルにあると仮定します。
サムネイル定義ファイルは次のとおりです。
[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でエンコードされたファイルからスクリプトを手動で実行すると、正常に動作します。
機能させるには、何を調整するのかわかりません。
編集:私は気になって別のファイルマネージャを使ってみましたが、Notilusはうまくいくようですが、nemoはうまくいきません。 Nautilusでフォルダの内容を見ると、欠落しているアイコンがいっぱいになり、nemoで更新するとそのアイコンも表示されます。
答え1
既知のファイル名に対してコマンドを使用することをお勧めしmimetype
ます。
しかし、mimetype *.stl
大丈夫に見え、*.stl:model / stlで応答します。
したがって、既知の唯一のMIMEタイプは「model / stl」です。