Bagaimana cara mengubah ikon untuk jenis file tertentu?

42

Saya mencoba mengubah ikon untuk application/x-hwpfile. Saya telah menambahkan ikon ke tempat yang tepat, dan memeriksanya dengan assoGiate (setelah membaca utas ini ). Ini menunjukkan bahwa ikon yang saya inginkan terkait dengan jenis file. Meski demikian, Nautilus masih menampilkan ikon lama. Bagaimana saya bisa membuat Nautilus menunjukkan ikon yang benar?

Scott Severance
sumber
@Rinzwind: Terima kasih. Sayangnya, tautan itu memecahkan masalah yang berbeda. Ini didasarkan pada perubahan ikon file individual. Saya ingin mengubah ikon default untuk semua file dari jenis yang diberikan.
Scott Severance
Apakah Anda menggunakan tema ikon kustom? Itu bisa mengganggu ikon yang seharusnya muncul.
RBurgundy
Saya menggunakan tema Suasana saham. Bagaimanapun, itu seharusnya tidak masalah, karena sepengetahuan saya tidak ada tema ikon yang menutupi jenis file ini. Saya baru saja mendapatkan ikon yang muncul secara default ketika Nautilus tidak tahu ikon apa yang ditampilkan. Selain itu, tema ikon bersifat hierarkis, jadi jika ikon yang sesuai tidak dapat ditemukan dalam tema saat ini, hierarki akan dicari, yang akhirnya memuncak dengan tema hicolor. Ikon saya dipasang di kedua tema ubuntu0mono-dark dan hicolor.
Scott Severance

Jawaban:

22

Berikut adalah serangkaian instruksi yang seharusnya memberi Anda ikon khusus untuk file hwp.

Buka terminal:

  • Periksa jenis MIME ada: grep 'hwp' /etc/mime.types

    jika Anda mendapatkan hasil yang menyerupai application/x-hwp hwplewati langkah berikutnya.

  • Buat tipe MIME sudo -H gedit /etc/mime.typesdan tambahkan barisapplication/x-hwp hwp

  • Tambahkan ikon (yang harus dipanggil application-x-hwp.svg) :

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

    (jangan lupa ganti PathToIcon)

Dapatkan informasinya dari sini

danjjl
sumber
Terima kasih untuk sarannya. Saya belum memiliki kesempatan untuk mencobanya secara menyeluruh (sejauh ini, tidak berhasil), tapi saya menghadiahkan hadiah karena saran lain tidak berhasil dan saya tidak akan memiliki kesempatan untuk mengerjakan ini lagi sebelum karunia berakhir.
Scott Severance
Anda mungkin harus memeriksa apakah tema ikon Anda mewarisi dari gnome (sebagian besar ikon ikon melakukannya). Anda akan menemukan informasi itu di index.theme yang terletak di direktori set ikon Anda
danjjl
Anda juga perlu memeriksa ~/.local. Misalnya ~/.local/share, yang meniru folder /usr/local/share. Aplikasi yang Anda instal secara lokal (yaitu aplikasi untuk Anda saja, bukan login lain), mungkin memiliki propertinya di sana. Edit file yang serupa, misalnya,~/.local/share/icons/XXXX/XXXX
Robin Hsu
@ Danjjl: Apa maksudmu (jangan lupa mengganti PathToIcon)?
JoKalliauer
1
@ JoKalliauer dalam perintah untuk menyalin ikon /usr/share/... . Saya merujuk PathToIcon. Ini perlu diganti dengan jalur ke ikon di PC Anda. (jika Anda pikir ini dapat dirumuskan dengan lebih jelas, jangan ragu untuk mengajukan suntingan)
danjjl
14

Trik utamanya adalah mencari tahu dengan benar di mana ikon yang sebenarnya berada.
Untuk menentukan itu mari kita menganalisis ikon HTML. Konvensi penamaan untuk ikon sama dengan untuk tipe MIME, hanya /diganti dengan -dan tidak ada huruf kapital yang diizinkan. Yaitu tipe MIME, katakanlah, text/x-changelogakan memiliki ikon bernama text-x-changelog.svg(atau png). Jenis MIME untuk HTML adalah text/html. Jadi ikonnya adalah text-html.*Jika kita menjalankan perintah

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

kita akan mendapatkan beberapa tempat di mana ikon-ikon ini ditempatkan:

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

Jika kita mengunjungi masing-masing dengan Nautilus kita akan melihat, Humanity/folder itu berisi ikon kita saat ini, gnome/- beberapa yang lebih tua. HighContrast/tidak menarik bagi kita. Jadi untuk mengubah beberapa ikon kita harus mengganti ikon yang terletak di Humanity/folder.
Perhatikan juga bahwa text-html.svgikon yang dapat diskalakan dan seharusnya ditempatkan ke dalam scalablesubfolder (yang seharusnya logis) ditempatkan ke folder untuk ukuran yang berbeda, dengan cara yang sama seperti file PNG raster.

Setelah mengganti ikon (dalam semua subfolder sesuai dengan ukurannya) dengan ikon cache yang diinginkan harus diperbarui:

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

Itu dia.

Ada cara lain untuk menentukan prioritas skema ikon - untuk memeriksa index.themefile mereka . Jika kita melihat ke dalam /usr/share/icons/Humanity/index.theme, kita akan melihat:

Inherits=gnome,hicolor

Ini berarti bahwa ikon dari gnomedan hicolorfolder akan memiliki prioritas lebih sedikit daripada yang dari Humanity. Ini dijelaskan di sini .
Anehnya, Nautilus tidak mematuhi aturan warisan ini. Ketika saya menambahkan baru tipe MIME, saya mencoba menempatkan ikon ke dalam /usr/share/icons/gnome/, /usr/share/icons/hicolor, ~/.local/share/icons/hicolor, ikon memperbarui database pada setiap langkah - semua sia-sia. Ikon-ikon ini ditampilkan dengan benar di assogiatetab pertama, tetapi tidak pernah di Nautilus. Tetapi ketika saya menempatkannya di Humanityfolder dan memperbarui ikon database, mereka muncul sekaligus.

NB Semua ini berlaku untuk tema ikon default. Jika Anda menggunakan tema ikon khusus, Anda harus memeriksa di mana ikon sebenarnya berada dan menambahkan / mengubah ikon di sana. Juga dalam distribusi yang lebih baru, aturan pewarisan ini dapat berubah. Maka Anda harus menemukan folder baru yang menyimpan ikon yang sebenarnya (jika tidak Humanitylagi) seperti yang dijelaskan sebelumnya.

whtyger
sumber
Anda juga perlu memeriksa ~/.local. Misalnya ~/.local/share, yang meniru folder /usr/local/share. Aplikasi yang Anda instal secara lokal (yaitu aplikasi untuk Anda saja, bukan login lain), mungkin memiliki propertinya di sana. Edit file yang serupa, misalnya,~/.local/share/icons/XXXX/XXXX
Robin Hsu
0

Saya harap Anda mencoba logout dan masuk untuk menyegarkan ikon cache.

Lihat juga apakah ikon Anda tersedia dalam ukuran yang sesuai (ikon yang Anda gunakan untuk menampilkan jenis file di nautilus).

Anda mungkin juga ketinggalan berlari gtk-update-icon-cache.

Coba tutorial ini: http://swik.net/Ubuntu/Only+Ubuntu/How+To+Change+File-Type+(mimetype)+Icons+in+Ubuntu/chcrf

Cobalah untuk membuat ikon secara manual. Ini adalah contoh yang saya miliki dari awn:

[Icon Theme]
Name=awn-theme

Directories=scalable

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

Manual ada di sini: http://live.gnome.org/GnomeArt/Tutorials/IconThemes

Chris Hasiński
sumber
Saya telah menginstal ikon 48x48 dan mengatur Nautilus ke 100%, yang menggunakan 48x48. Tidak ada dadu. Masuk kembali tidak ada bedanya. Berlari gtk-update-icon-cachetidak berpengaruh.
Scott Severance
Saya memperbarui jawaban saya, apakah itu membantu?
Chris Hasiński
Saya belum secara manual membuat tema ikon, karena saya tidak ingin tema baru. Saya hanya ingin ikon masuk ke tema hicolor, karena itulah dasar dari semua tema ikon. Membuat tema baru akan mengalahkan tujuan saya.
Scott Severance
-2

1)

 sudo apt-get install assogiate

ikuti tutorial yang bagus ini dengan gambar-gambar yang bagus

http://lordamit.blogspot.com/2010/07/change-file-type-icons-mime-type-icons.html


2)

Jika tipe file tidak terdeteksi dengan benar, atau menunjukkan tipe file yang salah, temukan tipe file Anda yang mengidentifikasi karakter

EX: rar pergi ke http://filext.com/file-extension/rar

pengidentifikasi "Hex: 52 61 72 21 1A 07 00, ASCII: Rar!"

buka file dalam berkah atau editor heksa dan temukan pengenal dan offset (tempat kata kunci Anda dimulai)

dalam kasus kami bit pertama jadi offsetnya adalah "0".

Lalu pergi "Edit Jenis File" edit atau buat item baru, lalu pilih edit dan di bawah konten file

pilih "string" dari drop down, masukan "Rar!" dan atur offset "0".

Selesai

sodam
sumber
3
Seperti yang saya catat dalam pertanyaan awal saya, assogiate tidak berfungsi.
Scott Severance