ฉันจะเปลี่ยนไอคอนสำหรับไฟล์ประเภทใดประเภทหนึ่งได้อย่างไร


41

ฉันพยายามเปลี่ยนไอคอนสำหรับapplication/x-hwpไฟล์ ฉันได้เพิ่มไอคอนไปยังสถานที่ที่เหมาะสมและตรวจสอบด้วย assoGiate (หลังจากอ่านกระทู้นี้ ) แสดงว่าไอคอนที่ฉันต้องการเชื่อมโยงกับประเภทไฟล์ อย่างไรก็ตาม Nautilus ยังคงแสดงไอคอนเก่า ฉันจะทำให้ Nautilus แสดงไอคอนที่ถูกต้องได้อย่างไร



@ รินซ์วิน: ขอบคุณ น่าเสียดายที่ลิงค์นั้นแก้ปัญหาต่างกัน มันขึ้นอยู่กับการเปลี่ยนไอคอนของแต่ละไฟล์ ฉันต้องการเปลี่ยนไอคอนเริ่มต้นสำหรับไฟล์ทุกประเภทที่กำหนด
Scott Severance

คุณใช้ชุดไอคอนแบบกำหนดเองหรือไม่? ที่อาจรบกวนไอคอนที่ควรจะปรากฏขึ้น
RBurgundy

ฉันใช้ธีมหุ้น Ambiance อย่างไรก็ตามมันไม่สำคัญเพราะความรู้ของฉันไม่มีชุดรูปแบบไอคอนครอบคลุมไฟล์ประเภทนี้ ฉันเพิ่งได้รับไอคอนที่ปรากฏตามค่าเริ่มต้นเมื่อ Nautilus ไม่ทราบว่าจะแสดงไอคอนอื่นใด นอกจากนี้ชุดไอคอนจะเป็นแบบลำดับขั้นดังนั้นหากไม่พบไอคอนที่เหมาะสมในชุดรูปแบบปัจจุบันลำดับชั้นจะถูกค้นหาซึ่งจะปิดท้ายด้วยชุดรูปแบบ hicolor ในที่สุด ไอคอนของฉันได้รับการติดตั้งทั้งในธีม ubuntu0mono-dark และ hicolor
Scott Severance

คำตอบ:


22

นี่คือชุดของคำแนะนำที่ควรให้คุณได้รับไอคอนที่กำหนดเองสำหรับไฟล์ 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)

รับข้อมูลจากที่นี่


ขอบคุณสำหรับคำแนะนำ ฉันยังไม่มีโอกาสลองอย่างละเอียด (จนถึงตอนนี้ยังไม่สำเร็จ) แต่ฉันได้รับรางวัลเพราะคำแนะนำอื่น ๆ ใช้ไม่ได้และฉันจะไม่มีโอกาสได้ทำงานนี้อีกต่อไปก่อน เงินรางวัลจะหมดอายุ
Scott Severance

คุณควรตรวจสอบว่าชุดไอคอนของคุณสืบทอดมาจาก gnome หรือไม่ คุณจะพบข้อมูลใน index.theme ที่อยู่ในไดเรกทอรีของชุดไอคอนของคุณ
danjjl

~/.localนอกจากนี้คุณยังจะต้องตรวจสอบ ตัวอย่างซึ่งเลียนแบบโฟลเดอร์~/.local/share /usr/local/shareแอปพลิเคชันที่ติดตั้งในเครื่องของคุณ (เช่นแอปพลิเคชันสำหรับคุณเท่านั้นไม่ใช่การเข้าสู่ระบบอื่น ๆ ) อาจมีคุณสมบัติอยู่ แก้ไขไฟล์ที่คล้ายกันเช่น~/.local/share/icons/XXXX/XXXX
Robin Hsu

@danjjl: คุณหมายถึงอะไรด้วย (อย่าลืมแทนที่ PathToIcon)?
JoKalliauer

1
@JoKalliauer /usr/share/... ในคำสั่งเพื่อคัดลอกไอคอนเพื่อ PathToIconผมหมายถึง สิ่งนี้จะต้องถูกแทนที่ด้วยพา ธ ไปที่ไอคอนบนพีซีของคุณ (ถ้าคุณคิดว่าสิ่งนี้สามารถกำหนดได้ชัดเจนยิ่งขึ้นอย่าลังเลที่จะเสนอการแก้ไข)
danjjl

14

เคล็ดลับหลักคือการค้นหาอย่างถูกต้องในตำแหน่งที่ไอคอนจริง
เพื่อที่จะพิจารณาว่ามาวิเคราะห์ไอคอน 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อีกต่อไป) ตามที่อธิบายไว้ก่อนหน้า


~/.localนอกจากนี้คุณยังจะต้องตรวจสอบ ตัวอย่างซึ่งเลียนแบบโฟลเดอร์~/.local/share /usr/local/shareแอปพลิเคชันที่ติดตั้งในเครื่องของคุณ (เช่นแอปพลิเคชันสำหรับคุณเท่านั้นไม่ใช่การเข้าสู่ระบบอื่น ๆ ) อาจมีคุณสมบัติอยู่ แก้ไขไฟล์ที่คล้ายกันเช่น~/.local/share/icons/XXXX/XXXX
Robin Hsu

0

ฉันหวังว่าคุณพยายามออกจากระบบและเข้าสู่ระบบเพื่อรีเฟรชแคชไอคอน

ดูว่าไอคอนของคุณมีขนาดที่เหมาะสมหรือไม่ (ไอคอนที่คุณใช้แสดงประเภทไฟล์ในรูปหอยโข่ง)

gtk-update-icon-cacheนอกจากนี้คุณอาจพลาดการทำงาน

ลองแบบฝึกหัดนี้: http://swik.net/Ubuntu/Only+Ubuntu/How+To+Change+File-Type+(mimetype)+Icons+in+Ubuntu/chcrf

ลองสร้างไอคอนด้วยตนเองธีมนี่คือตัวอย่างที่ฉันมีจาก awn:

[Icon Theme]
Name=awn-theme

Directories=scalable

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

คู่มืออยู่ที่นี่: http://live.gnome.org/GnomeArt/Tutorials/IconThemes


ฉันติดตั้งไอคอน 48x48 และตั้ง Nautilus เป็น 100% ซึ่งใช้ 48x48 ไม่มีลูกเต๋า การลงชื่อเข้าใช้ใหม่ไม่ได้แตกต่างกัน การวิ่งgtk-update-icon-cacheไม่มีผลใด ๆ
Scott Severance

ฉันอัพเดตคำตอบแล้วมันช่วยได้ไหม
Chris Hasiński

ฉันไม่ได้สร้างชุดไอคอนด้วยตนเองเพราะฉันไม่ต้องการชุดรูปแบบใหม่ ฉันแค่อยากให้ไอคอนเข้าไปในธีม hicolor เพราะนั่นคือพื้นฐานของชุดไอคอนทั้งหมด การสร้างชุดรูปแบบใหม่จะเอาชนะวัตถุประสงค์ของฉัน
Scott Severance

-2

1)

 sudo apt-get install assogiate

ทำตามกวดวิชาที่ดีนี้ด้วยรูปภาพที่ดี

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


2)

หากตรวจไม่พบประเภทไฟล์อย่างถูกต้องหรือแสดงประเภทไฟล์ที่ไม่ถูกต้องให้ค้นหาประเภทไฟล์ของคุณเพื่อระบุตัวอักษร

EX: rar ไปที่http://filext.com/file-extension/rar

ตัวระบุ "Hex: 52 61 72 21 1A 07 00, ASCII: Rar!"

เปิดไฟล์ในอวยพรหรือโปรแกรมแก้ไข hex ใด ๆ และค้นหาตัวระบุและออฟเซ็ต (ที่คำหลักของคุณเริ่มต้น)

ในกรณีของเราบิต firs จึงชดเชยคือ "0"

จากนั้นไปที่ "แก้ไขประเภทไฟล์" แก้ไขหรือสร้างรายการใหม่จากนั้นเลือกแก้ไขและภายใต้เนื้อหาไฟล์

เลือก "string" จากดร็อปดาวน์, ป้อน "Rar!" และตั้งค่าออฟเซ็ต "0"

เสร็จสิ้น


3
ดังที่ฉันได้กล่าวไว้ในคำถามเดิมของฉันผู้หางานไม่ทำงาน
Scott Severance
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.