Saya memiliki perpustakaan besar dokumen PDF (makalah, ceramah, handout) yang saya ingin dapat dengan cepat menavigasi. Untuk itu saya butuh thumbnail.
Namun pada saat yang sama, saya melihat bahwa ~/.thumbnails
folder tersebut menumpuk dengan jempol yang tidak saya butuhkan. Menghapus junk thumbnail tanpa menghapus jempol penting adalah mustahil. Jika saya menghapusnya, saya harus pergi ke setiap folder dengan dokumen PDF yang penting dan membiarkan cache thumbnail dibuat kembali.
Saya ingin sekali dapat mengotomatiskan proses ini. Apakah ada cara saya dapat memberitahu nautilus untuk melakukan pra-cache jempol untuk satu set direktori yang diberikan?
Catatan : Saya memang menemukan serangkaian skrip bash yang tampaknya melakukan ini untuk gambar dan video, tetapi tidak untuk dokumen lainnya. Mungkin seseorang yang lebih berpengalaman dengan skrip mungkin dapat menyesuaikan ini untuk dokumen PDF atau setidaknya mengarahkan saya ke arah yang benar tentang apa yang harus saya modifikasi agar dapat bekerja dengan dokumen PDF juga.
Edit :
Tanggapan atas pertanyaan ini sangat luar biasa. Pertama-tama saya ucapkan terima kasih kepada semua yang berpartisipasi dalam memecahkan masalah ini. Pertanyaan, jawabannya, dan semua diskusi di sekitarnya adalah contoh yang bagus tentang bagaimana upaya kolaboratif banyak pihak dapat menghasilkan solusi optimal. Inilah yang membuat Linux dan Open Source begitu hebat.
Semua jawaban yang diberikan pantas mendapatkan hadiah yang semula saya ajukan untuk pertanyaan ini. Meski begitu, hanya ada satu hadiah untuk penghargaan. Saya berutang kepada semua pembaca masa depan untuk memilih jawaban yang memecahkan masalah dengan cara yang paling efisien. Untuk menentukan solusi yang mana, saya melakukan uji coba terakhir, membandingkan tiga skrip dalam kompatibilitas, kecepatan dan kualitas output. Inilah hasilnya:
Thumbnailer 1 , oleh rosch:
Kompatibilitas : ✔ spasi dalam nama file; ✔ spasi dalam nama direktori; ✘ compliant freedesktop
Kecepatan : 95 PDF dalam 12,6 detik
Kualitas : kualitas stok nautilus
Perks Tambahan : 1.) secara otomatis melewatkan file dengan ibu jari yang sudah ada; 2.) Tidak perlu paket tambahan
Thumbnailer 2 , oleh Martin Orda:
Kompatibilitas : ✔ spasi dalam nama file; ✔ spasi dalam nama direktori; ✘ compliant freedesktop
Kecepatan : 95 PDF dalam 70,0 dtk
Kualitas : penskalaan secara signifikan lebih baik daripada gambar stok.
Perks Tambahan : 1.) secara otomatis melompati file dengan ibu jari yang sudah ada sebelumnya 2.) kompatibel dengan berbagai format gambar selain PDF 3.) platform-independen, tidak bergantung pada komponen-komponen GNOME
Thumbnailer 3 , oleh James Henstridge:
Kompatibilitas : ✔ spasi dalam nama file; ✔ spasi dalam nama direktori; ✔ memenuhi persyaratan freedesktop
Kecepatan : 95 PDF dalam 10,8 detik
Kualitas : kualitas stok nautilus
Perks Tambahan : 1.) secara otomatis melompati file dengan ibu jari yang sudah ada 2.) kompatibel dengan semua format file yang diidentifikasi oleh thumbnail yang sudah diinstal sebelumnya
Ketiga skrip sangat bagus. Masing-masing memiliki serangkaian kelebihan dan kekurangan. Solusi Rosch bekerja di luar kotak dan mungkin menjadi pilihan yang tepat untuk pengguna dengan instalasi minimal.
Martin Orda membuat skrip yang sangat serbaguna yang berfungsi dengan berbagai format file dan DE-independen. Ini unggul pada kualitas gambar kecil tetapi melakukannya dengan mengorbankan kecepatan.
Pada akhirnya itu adalah solusi James yang paling cocok untuk saya gunakan. Ini cepat, serbaguna dan menawarkan opsi untuk melompati file dengan thumbnail yang sudah ada sebelumnya.
Pemenang keseluruhan: James Henstridge
Informasi tambahan : Ketiga skrip sepenuhnya kompatibel dengan skrip nautilus . Anda dapat menginstalnya dengan mudah mengikuti tutorial ini .
Sunting 2 : Ulasan terbaru dengan skrip ditingkatkan oleh rosch.
sumber
Jawaban:
Rutin thumbnail thumbnail Nautilus sebenarnya berasal dari
libgnome-desktop
perpustakaan, jadi dimungkinkan untuk menjalankan thumbnailer yang sama di luar manajer file.APInya sedikit rumit, tetapi skrip Python berikut akan membantu:
Simpan ini ke file dan tandai itu dapat dieksekusi. Anda mungkin juga perlu menginstal
gir1.2-gnomedesktop-3.0
paket jika belum diinstal.Setelah itu, aktifkan skrip dengan file atau folder yang ingin Anda thumbnail sebagai argumen. Thumbnail akan disimpan ke
~/.thumbnails
tempat aplikasi seperti Nautilus berharap menemukannya.sumber
48eebea785a185cdfc9d8f1a2ed34400.png
digunakan). Pada titik ini, bagaimanapun, sepertinya tidak mendukung direktori. Apakah ada cara Anda bisa membuatnya melalui direktori secara rekursif?Script di bawah ini harus melakukan pekerjaan. Menggunakan
evince-thumbnailer
yang - sejauh yang saya tahu - datang dengan setiap instalasi gnome dan merupakan thumbnailer default.Simpan sebagai
pdfthumbnailer.sh
dan buat itu bisa dieksekusi.Penggunaan :
pdfthumbnailer.sh dir1 [dir2, ...]
Pembatasan :
evince-thumbnailer
melakukannya. Dengan kata lain..selama nautilus tidak membuat ulang thumbnail, skrip dapat digunakan untuk pekerjaan itu.Catatan :
evince-thumbnailer
danconvert
(dari imagemagick): 3seconds forevince-thumbnailer
dan 14seconds forconvert
.perl
, hadir dalam instalasi defaultevince-thumbnailer
hanya akan menghasilkan kesalahan - dimatikan dengan2>/dev/null
/usr/share/thumbnailers/evince.thumbnailer
untuk melihat daftar jenis file yang ditangani~/.cache/thumbnails
.Jalur yang lebih kuat menggunakan
readlink
.Inspirasi :
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683394
sumber
2a43dc2774e3dfe45a4337e0304e5b0a.png
. Ini adalah bagaimana thumbnail yang sama bernama oleh nautilus:48eebea785a185cdfc9d8f1a2ed34400.png
. Saya juga memperhatikan bahwa ibu jari yang dibuat dengan skrip Anda adalah 128x171px sedangkan thumbnailer bawaan hanya membuat thumbnail 96x128px.evince-thumbnailer
tidak menambahkan tag PNG, itu benar: kode yang memanggil thumbnail eksternal sebenarnya menulis ulang gambar untuk menyertakan tag. Anda harus dapat memverifikasi ini dengan menjalankanstrings -a
pada salah satu thumbnail yang dihasilkan oleh Nautilus.Mengalihkan perhatian untuk beberapa saat dan Rosch mengalahkan saya untuk itu :) Tidak tahu kalau ada thumbnailer (saya bukan pengguna Gnome) tapi, karena saya sudah menulisnya, ini dia. Membutuhkan imagemagick diinstal, periksa dan instal jika tidak ada dengan:
Simpan sebagai
mkthumb.sh
(misalnya),chmod +x mkthumb.sh
dan jalankan dengan jalur absolut sebagai argumen (Anda dapat menggunakan -s sebagai parameter pertama untuk melewati pembuatan thumbnail yang sudah ada) yaitu:Script (Saya telah sedikit memodifikasinya untuk mendukung sebagian besar gambar, Anda dapat menambahkan lebih banyak ekstensi jika Anda membutuhkannya):
Ini menangani file dengan spasi di namanya tanpa masalah.
sumber
2a43dc2774e3dfe45a4337e0304e5b0a.png
sementara nautilus menamakannya sebagai48eebea785a185cdfc9d8f1a2ed34400.png
. Dimensi, bagaimanapun, benar dengan skrip Anda. Berikut ini perbandingannyaimagemagick
juga tampaknya menangani penskalaan jauh lebih baik daripadaevince-thumbnailer
(lihat perbandingan di atas untuk referensi).Spesifikasi thumbnail termasuk repositori thumbnail bersama, yang memungkinkan thumbnail pre-generate untuk didistribusikan bersama dengan file terkait daripada setiap pengguna membuat thumbnail mereka sendiri. Jadi secara teori Anda bisa membuat thumbnail dan kemudian menambahkannya ke repositori bersama sehingga menghilangkan kebutuhan untuk membuatnya di masa depan jika Anda menghapus direktori thumbnail Anda, atau memindahkan semuanya ke mesin yang berbeda atau apa pun.
http://specifications.freedesktop.org/thumbnail-spec/thumbnail-spec-latest.html#DIRECTORY
Halaman Tanya Ubuntu ini muncul dalam hasil pencarian ketika saya mencoba mencari tahu apakah ada aplikasi yang mendukung penyimpanan thumbnail bersama. Sayangnya tampaknya tidak ada aplikasi yang mendukung mereka.
sumber
Saya menulis sebuah paket yang memodifikasi skrip James untuk memasukkan multiprocessing dan opsi untuk menghasilkan thumbnail secara rekursif. Paket ini
pip
-Instalable. Periksa di sini untuk petunjuk pemasangan.Contoh penggunaannya adalah:
-r
: menghasilkan thumbnail secara rekursif-w
: jumlah core yang akan digunakansumber