เคล็ดลับหลักคือการค้นหาอย่างถูกต้องในตำแหน่งที่ไอคอนจริง
เพื่อที่จะพิจารณาว่ามาวิเคราะห์ไอคอน HTML กันดีกว่า ระเบียบการตั้งชื่อสำหรับไอคอนนั้นเหมือนกับ MIME-type เท่านั้น/
จะถูกแทนที่ด้วย-
และไม่อนุญาตให้ใช้ตัวพิมพ์ใหญ่ เช่นประเภท MIME พูดtext/x-changelog
จะมีไอคอนชื่อtext-x-changelog.svg
(หรือpng
) ไมม์ชนิดสำหรับ HTML 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/
โฟลเดอร์
นอกจากนี้โปรดสังเกตว่าtext-html.svg
ไอคอนที่สามารถปรับขนาดได้และควรวางไว้ในscalable
โฟลเดอร์ย่อย (ที่ควรเป็นแบบลอจิคัล) จะถูกวางลงในโฟลเดอร์ที่มีขนาดแตกต่างกันแทนในลักษณะเดียวกับไฟล์ PNG แรสเตอร์
หลังจากแทนที่ไอคอน (ในโฟลเดอร์ย่อยทั้งหมดตามขนาด) ด้วยแคชไอคอนที่ต้องการควรได้รับการอัปเดต:
sudo gtk-update-icon-cache /usr/share/icons/Humanity
แค่นั้นแหละ.
มีวิธีอื่นในการกำหนดลำดับความสำคัญของชุดไอคอน - เพื่อตรวจสอบindex.theme
ไฟล์ของพวกเขา หากเรามองเข้าไปข้างใน/usr/share/icons/Humanity/index.theme
เราจะเห็น:
Inherits=gnome,hicolor
ซึ่งหมายความว่าไอคอนจากgnome
และโฟลเดอร์จะมีความสำคัญน้อยกว่าคนจากhicolor
Humanity
นี่คือคำอธิบายที่นี่
น่าแปลกที่ Nautilus ไม่เชื่อฟังกฎเหล่านี้ เมื่อฉันเพิ่มใหม่ชนิด MIME ผมพยายามวางไอคอนของมันเข้าไป/usr/share/icons/gnome/
, /usr/share/icons/hicolor
, ~/.local/share/icons/hicolor
, ปรับปรุงฐานข้อมูลไอคอนบนแต่ละขั้นตอน - ทั้งหมดในไร้สาระ ไอคอนเหล่านี้แสดงอย่างถูกต้องในassogiate
แท็บแรก แต่ไม่มีใน Nautilus แต่เมื่อฉันวางมันลงในHumanity
โฟลเดอร์และอัปเดตฐานข้อมูลไอคอนมันจะปรากฏขึ้นพร้อมกัน
NBทั้งหมดนี้นำไปใช้กับชุดไอคอนเริ่มต้น หากคุณใช้ชุดไอคอนแบบกำหนดเองคุณควรตรวจสอบว่ามีไอคอนตัวจริงอยู่ที่ใดและเพิ่ม / เปลี่ยนไอคอนที่นั่นแทน กฎการสืบทอดเหล่านี้อาจเปลี่ยนแปลงได้เช่นกัน จากนั้นคุณควรค้นหาโฟลเดอร์ใหม่ที่จัดเก็บไอคอนจริง (หากไม่ใช่Humanity
อีกต่อไป) ตามที่อธิบายไว้ก่อนหน้า