web-dev-qa-db-ja.com

特定のファイルタイプのアイコンを変更するにはどうすればよいですか?

application/x-hwpファイルのアイコンを変更しようとしています。適切な場所にアイコンを追加し、assoGiateでチェックしました( this thread を読んだ後)。目的のアイコンがファイルの種類に関連付けられていることを示しています。それにもかかわらず、ノーチラスはまだ古いアイコンを表示しています。 Nautilusに正しいアイコンを表示させるにはどうすればよいですか?

40
Scott Severance

以下に、hwpファイルのカスタムアイコンを取得する一連の手順を示します。

ターミナルを開きます。

  • MIMEタイプが存在することを確認してください:grep 'hwp' /etc/mime.types

    application/x-hwp hwpに似た出力が表示される場合は、次の手順をスキップしてください。

  • MIMEタイプSudo -H gedit /etc/mime.typesを作成し、application/x-hwp hwp行を追加します

  • アイコンを追加します(application-x-hwp.svgと呼ばれる必要があります)

    Sudo cp PathToIcon/application-x-hwp.svg /usr/share/icons/gnome/scalable/mimetypes
    

    (PathToIconを置き換えることを忘れないでください)

こちらから情報を入手

21
danjjl

主なトリックは、実際のアイコンがどこにあるかを正しく見つけることです。
HTMLアイコンを分析してみましょう。アイコンの命名規則はMIMEタイプの命名規則と同じです。/のみが-に置き換えられ、大文字は使用できません。つまりMIMEタイプ、たとえば、text/x-changelogにはtext-x-changelog.svg(またはpng)という名前のアイコンが付きます。 HTMLのMIMEタイプはtext/htmlです。そのため、そのアイコンはtext-html.*になります。コマンドを実行すると

find /usr/share/icons/ -type f | grep 'text-html\.'

これらのアイコンが配置されるいくつかの場所を取得します。

/usr/share/icons/Humanity/mimes/
/usr/share/icons/gnome/NNxNN/mimetypes/
/usr/share/icons/HighContrast/scalable/mimetypes/

Nautilusを使用してそれぞれにアクセスすると、Humanity/フォルダーには現在のアイコンgnome/-古いアイコンが含まれています。 HighContrast/は興味がありません。そのため、アイコンを変更するには、Humanity/フォルダーにあるアイコンを置き換える必要があります。
スケーラブルで、scalableサブフォルダー(論理的である必要があります)に配置する必要があるtext-html.svgアイコンは、ラスターPNGファイルと同様に、異なるサイズのフォルダーに配置されることにも注意してください。

アイコンを(サイズに応じてすべてのサブフォルダーで)目的のアイコンに置き換えた後、アイコンキャッシュを更新する必要があります。

Sudo gtk-update-icon-cache /usr/share/icons/Humanity

それでおしまい。

アイコンスキームの優先順位を決定する別の方法があります-index.themeファイルをチェックすることです。 /usr/share/icons/Humanity/index.themeの中を見ると、以下が表示されます:

Inherits=gnome,hicolor

つまり、gnomeおよびhicolorフォルダーのアイコンは、Humanityのアイコンよりも優先順位が低くなります。これは here で説明されています。
奇妙なことに、Nautilusはこれらの継承ルールに従っていません。新しいMIMEタイプを追加したとき、そのアイコンを/usr/share/icons/gnome//usr/share/icons/hicolor~/.local/share/icons/hicolorに配置して、各ステップでアイコンデータベースを更新しようとしましたが、すべて無駄でした。これらのアイコンは、最初のタブのassogiateに正しく表示されていましたが、Nautilusでは表示されませんでした。しかし、それらをHumanityフォルダーに配置し、アイコンデータベースを更新すると、すぐに表示されました。

N.B。これはすべて、デフォルトのアイコンテーマに適用されます。カスタムアイコンテーマを使用する場合は、実際のアイコンの場所を確認し、代わりにアイコンを追加/変更する必要があります。また、新しいディストリビューションでは、これらの継承ルールが変更される場合があります。次に、前に説明したように、実際のアイコンを保管する新しいフォルダーを見つけます(それがHumanityでない場合)。

12
whtyger

ログアウトしてログインしてアイコンキャッシュを更新してみてください。

アイコンが適切なサイズ(nautilusでファイルタイプを表示するために使用しているアイコン)で使用できるかどうかも確認してください。

また、gtk-update-icon-cacheの実行に失敗する場合があります。

このチュートリアルを試してください: http://swik.net/Ubuntu/Only+Ubuntu/How+To+Change+File-Type+(mimetype)+ Icons + in + Ubuntu/chcrf

Icon.themeを手動で作成してみてください。ここに私が持っている例があります:

[Icon Theme]
Name=awn-theme

Directories=scalable

[scalable]
Size=48
MaxSize=256
Context=Apps
Type=Scalable

マニュアルはこちら: http://live.gnome.org/GnomeArt/Tutorials/IconThemes

0
Chris Hasiński