ฉันจะเปลี่ยนไอคอนไฟล์โดยทางโปรแกรมได้อย่างไร


16

หากฉันเลือกไอคอนใน Nautilus และเลือกคุณสมบัติฉันสามารถคลิกที่ไอคอนที่แสดงไว้ได้ สิ่งนี้ทำให้ฉันมีตัวเลือกไฟล์โต้ตอบเพื่อเลือกภาพไอคอนใหม่

ฉันต้องการทำสิ่งนี้ผ่านสคริปต์บางประเภทเพื่อให้ฉันสามารถกำหนดไอคอนเดียวกันให้กับไฟล์จำนวนมากในคราวเดียว หรือนำรายการไอคอนและรายการไฟล์และกำหนดให้กัน

มีวิธีที่ฉันสามารถทำได้หรือไม่ บางอย่างใน bash หรือ Python จะยอดเยี่ยม แต่ฉันจะทำตามที่ฉันจะได้รับ

โปรดทราบ:

  • ฉันไม่ได้ถามวิธีเปลี่ยนไอคอนสำหรับประเภทไฟล์
  • ฉันไม่ได้ถามวิธีเปลี่ยนไอคอนบนตัวเรียกใช้งาน

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


25


ในการเปลี่ยนไอคอนเหล่านั้นจากบรรทัดคำสั่งคุณสามารถใช้คำสั่งต่อไปนี้:

gvfs-set-attribute -t string /path/to/your/file metadata::custom-icon file:///path/to/your/icon.png

คุณสามารถใช้คำสั่งนี้ในสคริปต์ทุบตีตามความต้องการของคุณ

หากคุณรันคำสั่งและไอคอนไม่เปลี่ยนแปลงทันทีคุณสามารถติดตั้งแพ็คเกจxautomationด้วย:

sudo apt-get install xautomation

และสุดท้ายใช้คำสั่ง"xte"เพื่อ "sendkey" ใน bash เช่น"F5"เพื่อรีเฟรช ..
ตัวอย่างเล็ก ๆ น้อย ๆ จะเป็น:

#!/bin/bash
gvfs-set-attribute -t string /home/hermes/testicon metadata::custom-icon file:///home/hermes/Desktop/applet_blank.png
sleep 3
xte "key F5"  

ฉันหวังว่านี่จะเป็นประโยชน์สำหรับคุณ


3

คำตอบของโรมันดูดีมาก มีอีกวิธีที่สง่างามน้อยลง ฉันไม่แน่ใจว่าไอคอนอยู่ที่ไหนในระบบส่วนที่เหลือ แต่ไอคอนที่อยู่บนเดสก์ท็อปของคุณเป็นเพียงไฟล์ข้อความธรรมดาใน $ HOME / Desktop พวกเขามักจะ (แต่ไม่จำเป็นต้อง) มีส่วนขยายของ .desktop หนึ่งในฟิลด์ในไฟล์เหล่านี้คือ Icon = .... คุณสามารถใช้โปรแกรมเพื่อเปลี่ยนฟิลด์ใดก็ตามที่ถูกตั้งค่าเป็นค่าที่คุณเลือก (คุณอาจต้องรีเฟรชหลังจากทำสิ่งนี้ตามที่โรมันแนะนำ)

เมื่อฉันต้องการใช้ไอคอนเพื่อสิ่งอื่นหรือในระบบอื่นบางครั้งฉันมองไปที่ไฟล์ .desktop เหล่านี้เพื่อค้นหาไอคอนที่ใช้งานอยู่

รายละเอียดสำหรับไฟล์เหล่านี้มีอยู่ที่: http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec

โจ

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