Mimetypeを作成し、そのアイコンを追加したいです。 mimetypeはTo-doリスト用で、TODO
パターンと一致し、タイプはtext/todo
です。
TODO
という名前のファイルを作成すると、mimetype text/todo
であることがわかります。
したがって、SVGファイルを~/.local/share/icons/hicolor/48x48/mimetypes/text-todo.svg
にリンクし、そのようなファイルがmimetypeのアイコンとして使用されることを期待しています。しかし、そうではありません。
Sudo update-icon-caches ~/.local/share/icons/hicolor
を実行します。これは静かに実行されますが、何も変更しません。
次にSudo gtk-update-icon-cache ~/.local/share/icons/hicolor
を実行しますが、次のメッセージが表示されます。
gtk-update-icon-cache:テーマインデックスファイルがありません。
または
gtk-update-icon-cache:生成されたキャッシュは無効でした。
Sudo gtk-update-icon-cache -tf ~/.local/share/icons/hicolor
を実行すると。これも、ご想像のとおり、何も変わりません。
したがって、ホームディレクトリにmimetypeのアイコンを追加するにはどうすればよいですか
私はこれを正しくするためにかなり長い時間を費やしてきましたが、ついにできました。
まず、mimetypeファイルを作成し、ローカル~/.local/share/mime/packages/
ディレクトリに保存する必要があります。ファイルは、次のような構造を持つことができます。
<?xml version="1.0" encoding="utf-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="text/todo">
<comment>To-do list</comment>
<glob case-sensitive="true" pattern="TODO" />
<glob case-sensitive="true" pattern="TODO *"/>
</mime-type>
</mime-info>
mime-type
要素タグのtype
などのフィールドが目的のmimetypeに一致し、glob
要素タグにpattern
属性の値がパターンに一致することを確認してくださいご希望のMIMEタイプ。ご覧のとおり、MIMEタイプは複数のglob
要素を介して複数のファイル名パターンをカバーできます。
My[〜#〜] todo [〜#〜]mimetypeの場合、大文字と小文字を区別するパターンが必要だったため、 case-sensitive="true"
属性と値のペア。大文字と小文字を区別する必要がない場合、この属性と値のペアは不要です。
Mimetypeファイルが完成したら、todo.xml
などの便利な名前で保存します。 (注: XML拡張が重要な場合があります。)
ここでコマンドupdate-mime-database ~/.local/share/mime/
を実行すると、これで完了です。このコマンドは、~/.local/share/mime
の下の正しいカテゴリディレクトリにmimetypeを配置します。
~/.local/share/mime/glob
ファイルを読み取り、次のようなコマンドで特定のファイルをテストすることにより、MIMEタイプが正しく解析されたかどうかをテストできます。
mimetype FILENAME
xdg-mime query filetype FILENAME
これらは、MIMEデータベースを更新した後にのみ機能します。
多くのLinuxディストリビューションでは、サードパーティ/アドオンのアイコンは「hicolor」アイコンテーマの下にファイルされています。これは、他のアイコンテーマが依存するフォールバックアイコンテーマです。
~/.local/share/icons/hicolor/
の下の正しいディレクトリに(有効なサブディレクトリをリストする/usr/share/icons/hicolor/index.theme
記述子ファイルに従って)アイコンを追加し、update-icon-caches ~/.local/share/icons/hicolor
を実行すると、すべて設定できます!
デスクトップマネージャーでは、新しいMIMEタイプを新しいアイコンに関連付けるために再起動が必要になる場合があります。
ファイルに設定したmimetype/iconが取得されない場合は、mimetype XMLファイルのパターンをよく確認してください。明らかなパターンをテストすると、これを確認するのに役立つ場合があります。
私が見つけることができるすべてのメソッドをテストします(多くのディレクトリをテストします)。システムバージョンは16.04です。
Mimetypeはfreecad docでは問題ないため、アイコンのみを設定します。
application/x-extension-fcstd:などのMIMEタイプ名が見つかりました
▶mimetype '/ home/eexp /文档/freecad/cigar1.fcstd'/home/eexp /文档/freecad/cigar1.fcstd:application/x-extension-fcstd
ここに適切なsvgファイルとcpを見つけました/ usr/share/icons/hicolor/scalable/mimetypes、ファイル名はapplication-x-extension-fcstdでなければなりませんmimetype名のように:
▶Sudo cp〜/ FreeCAD-logo.svg /usr/share/icons/hicolor/scalable/mimetypes/application-x-extension-fcstd.svg
-fでアイコンキャッシュを更新します(ここにはindex.themeファイルがあります):
▶sudo gtk-update-icon-cache/usr/share/icons/hicolor/-f
nautilusファイルの変更アイコン即時。