Bagaimana cara mengubah ikon beberapa file dari terminal?

9

Saya ingin mengubah ikon beberapa file dari terminal.
Bukan ikon peluncur, tetapi ikon default untuk tipe file, berdasarkan akhiran file.
Bagaimana cara mencapai tugas ini?

karthick87
sumber
Maksud Anda seperti Anda dapat melalui klik kanan -> Properti di manajer file?
dv3500ea
Apakah itu ikon peluncur, atau ikon default untuk tipe file, berdasarkan akhir file?
Johanna Larsson
Ya saya ingin mengubah ikon beberapa file menjadi satu ikon.
karthick87
Bukan ikon peluncur, ikon default untuk jenis file.
karthick87

Jawaban:

10

"emblem" disimpan sebagai binari dalam direktori ~/.local/share/gvfs-metadata.

Jadi Anda perlu gvfs-bin Instal gvfs-bin agar ini dapat mengekstrak dan menyimpannya. Oh dan ada satu file per partisi / volume / direktori / file (untuk memperburuk keadaan).

Untuk mendapatkan info tentang lambang Anda dapat menggunakan:

gvfs-info -a metadata::emblems {filename|folder}

Untuk menetapkan {ikon} untuk {nama file} atau {folder} yang Anda gunakan:

gvfs-set-attribute -t stringv {filename|folder} metadata::emblems {icon}

Contoh:

Saya membuat folder 1, 2, 3, 4 di ~ / Musik.

im1

Perintah di dalam terminal gambar:

gvfs-set-attribute 1 metadata::custom-icon file:///usr/share/pixmaps/gnome-log.png

gvfs-set-attribute 2 metadata::custom-icon file:///usr/share/pixmaps/gnome-spider.png

Ubah 1 dan 2 ke file video yang ada atau file aktual lainnya dan itu harus berfungsi sama.

dan F5 memperbarui panel bawah.

Seperti yang dapat Anda tebak dari direktori 3 dan 4, Anda harus melakukan ini untuk setiap file yang Anda inginkan.

Berikut adalah skrip yang berjalan melalui direktori dan menetapkan PNG yang berada di folder sebagai lambang folder (pada dasarnya ini meniru metode Windows yang digunakan folder.pngsebagai lambang direktori di atasnya).

#! / usr / bin / python

impor os
dari os.path import gabung

cwdir = str (os.popen ('pwd'). readline ()) ganti ('\ n', '')

untuk root, dirs, file dalam os.walk (cwdir):
    untuk nama dalam file:
        jika name.lower (). find ('. png')! = -1:
            os.system ('gvfs-set-atribut "' + root + '" metadata :: ikon-kustom "' + name + '"')

Anda mungkin dapat mengubah ini menjadi versi Anda sendiri yang menyertakan file.

penggunaan skrip dengan risiko sendiri

Rinzwind
sumber