Bir dosyanın simgesini program aracılığıyla nasıl değiştirebilirim?


16

Nautilus'ta bir simge seçip Özellikler'i seçersem, orada sunulan simgeye tıklayabilirim. Bu bana yeni bir simge görüntüsü seçmem için bir dosya seçici iletişim kutusu veriyor.

Aynı simgeyi aynı anda birçok dosyaya atayabilmem için bir tür komut dosyasıyla yapmak istiyorum. Veya bir simge listesi ve bir dosya listesi alıp birbirlerine atayın.

Bunu başarabilmemin bir yolu var mı? Bash veya Python'da bir şey harika olurdu, ama alabileceğimi alacağım.

Lütfen aklınızda bulundurun:

  • Bir dosya türü için simgenin nasıl değiştirileceğini sormuyorum.
  • Başlatıcıdaki bir simgenin nasıl değiştirileceğini sormuyorum.

resim açıklamasını buraya girin

Yanıtlar:


25


Bu simgeleri komut satırından değiştirmek için aşağıdaki komutu kullanabilirsiniz:

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

Bu komutu ihtiyaçlarınıza göre bir bash betiğinde kullanabilirsiniz.

Komutu çalıştırırsanız ve simge hemen değişmezse, xautomation paketini aşağıdakilerle kurabilirsiniz :

sudo apt-get install xautomation

Ve son olarak, komutunu kullanın "xte" gibi bash "SendKey" içinyenilemek için "F5" "..
Küçük bir örnek olacaktır:

#!/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"  

Umarım bu sizin için yararlıdır.


3

Romanın cevabı ideal görünüyor. Daha az zarif bir yol daha var. Simgelerin sistemin geri kalanında nerede yaşadığından emin değilim, ancak Masaüstünüzdeki simgeler $ HOME / Desktop'ta sadece küçük düz metin dosyalarıdır. Genellikle .desktop uzantısına sahiptirler (ancak zorunlu değildir). Bu dosyalardaki alanlardan biri Icon = .... 'dir. Bu alanın seçtiği değeri istediğiniz değere değiştirmek için bir program kullanabilirsiniz. (Roma'nın önerdiği gibi bunu yaptıktan sonra bir yenileme yapmanız gerekebilir.)

Başka bir şey için veya başka bir sistemde bir simge kullanmak istediğimde, kullanılan simgenin ismini öğrenmek için bazen bu .desktop dosyalarına bakarım.

Bu dosyalara ilişkin özellikler şu adreste bulunmaktadır: http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec

Joe

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.