मैं Nautilus को थंबनेल बनाने से पहले कैसे निर्देश दे सकता हूं?


33

मेरे पास पीडीएफ दस्तावेजों (कागजात, व्याख्यान, हैंडआउट) की एक बड़ी लाइब्रेरी है जिसे मैं जल्दी से नेविगेट करने में सक्षम होना चाहता हूं। उसके लिए मुझे थंबनेल चाहिए।

एक ही समय में, हालांकि, मैं देख रहा हूं कि ~/.thumbnailsफ़ोल्डर उन अंगूठे के साथ जमा हो रहा है जिनकी मुझे वास्तव में आवश्यकता नहीं है। महत्वपूर्ण अंगूठे को हटाए बिना थंबनेल जंक हटाना असंभव है। अगर मैं उन्हें हटाना चाहता हूं, तो मुझे प्रत्येक फ़ोल्डर को महत्वपूर्ण पीडीएफ दस्तावेजों के साथ जाना होगा और थंबनेल कैश को पुन: उत्पन्न करना होगा।

मैं इस प्रक्रिया को स्वचालित करने में सक्षम होना पसंद करूंगा। क्या कोई रास्ता है जो मैं दिए गए निर्देशिकाओं के एक सेट के लिए अंगूठे को पूर्व-कैश करने के लिए नॉटिलस बता सकता हूं?

नोट : मुझे बैश स्क्रिप्ट का एक सेट मिला जो चित्रों और वीडियो के लिए ऐसा करने के लिए दिखाई देता है, लेकिन किसी अन्य दस्तावेज़ के लिए नहीं। हो सकता है कि स्क्रिप्टिंग के साथ अनुभव करने वाला कोई व्यक्ति पीडीएफ दस्तावेजों के लिए इन्हें समायोजित कर सकता है या कम से कम मुझे सही दिशा में इंगित कर सकता है कि मुझे पीडीएफ दस्तावेजों के साथ काम करने के लिए इसके लिए क्या संशोधित करना होगा।


संपादित करें :

इस सवाल की प्रतिक्रिया काफी भारी रही है। मुझे पहले सभी को धन्यवाद देना चाहिए जिन्होंने इसे हल करने में भाग लिया। प्रश्न, इसके उत्तर और इसके आस-पास की सभी चर्चा इस बात का एक बड़ा उदाहरण है कि कई दलों के सहयोगात्मक प्रयास से इष्टतम समाधान कैसे हो सकता है। यह वही है जो लिनक्स और ओपन सोर्स को इतना महान बनाता है।

प्रदान किए गए सभी उत्तर इस प्रश्न के लिए मेरे द्वारा दिए गए इनाम के लायक होंगे। फिर भी, पुरस्कार देने के लिए केवल एक इनाम है। मैं सभी भविष्य के पाठकों के लिए यह जवाब देना चाहता हूं कि समस्या को सबसे कुशल तरीके से हल करें। यह निर्धारित करने के लिए कि कौन सा समाधान है, मैंने संगतता, गति और आउटपुट गुणवत्ता में तीन लिपियों की तुलना करते हुए एक अंतिम परीक्षण किया। यहाँ परिणाम हैं:


थंबनेल 1 , rosch द्वारा:

संगतता : फ़ाइल नाम में रिक्त स्थान; निर्देशिका के नाम में name रिक्त स्थान; ✘ फ्रीडेसटॉप कॉम्पटेंट

गति : 12,6 सेकंड में 95 पीडीएफ

गुणवत्ता : स्टॉक नॉटिलस गुणवत्ता

अतिरिक्त भत्तों : 1.) स्वचालित रूप से preexisting अंगूठे के साथ फ़ाइलों को छोड़ देता है; 2.) कोई अतिरिक्त पैकेज की जरूरत है

मार्टिन ओर्दा द्वारा थंबनेल 2 :

संगतता : फ़ाइल नाम में रिक्त स्थान; निर्देशिका के नाम में name रिक्त स्थान; ✘ फ्रीडेसटॉप कॉम्पटेंट

गति : 70,0 सेकंड में 95 पीडीएफ

गुणवत्ता : स्टॉक छवियों की तुलना में काफी बेहतर स्केलिंग।

अतिरिक्त भत्तों : 1.) स्वचालित रूप से preexisting अंगूठे के साथ फ़ाइलों को छोड़ देता है।) पीडीएफ 3. के अलावा छवि प्रारूपों की एक विस्तृत श्रृंखला के साथ संगत) प्लेटफ़ॉर्म-स्वतंत्र, GNOME- घटकों पर निर्भर नहीं करता है

जेम्स हेनस्ट्रिज द्वारा थंबनेल 3 :

संगतता : फ़ाइल नाम में रिक्त स्थान; निर्देशिका के नाम में name रिक्त स्थान; ✔ फ्रीडेसटॉप कॉम्पटेंट

स्पीड : 10,8 सेकंड में 95 पीडीएफ

गुणवत्ता : स्टॉक नॉटिलस गुणवत्ता

अतिरिक्त भत्तों : 1.) स्वचालित रूप से preexisting अंगूठे के साथ फ़ाइलों को छोड़ देता है। 2) पूर्वस्थापित थंबनेलर्स द्वारा पहचाने जाने वाले सभी फ़ाइल स्वरूपों के साथ संगत है;


तीनों पटकथाएं बेहतरीन हैं। प्रत्येक के अपने अलग-अलग फायदे और नुकसान हैं। रोस का समाधान बॉक्स से बाहर काम करता है और न्यूनतम इंस्टॉलेशन वाले उपयोगकर्ताओं के लिए सही विकल्प हो सकता है।

मार्टिन ओर्दा ने एक बहुत ही बहुमुखी स्क्रिप्ट बनाई जो विभिन्न प्रकार के फ़ाइल स्वरूपों के साथ काम करती है और डीई-स्वतंत्र है। यह थंबनेल गुणवत्ता पर उत्कृष्ट है, लेकिन गति की कीमत पर ऐसा करता है।

अंत में यह जेम्स समाधान था जो मेरे उपयोग के मामले में सबसे उपयुक्त था। यह तेज़ है, बहुमुखी है और preexisting थंबनेल वाली फ़ाइलों को छोड़ने का विकल्प प्रदान करता है।


ओवरऑल विजेता: जेम्स हेनस्ट्रिज


अतिरिक्त जानकारी : सभी तीन स्क्रिप्ट नॉटिलस-स्क्रिप्ट के साथ पूरी तरह से संगत हैं । आप इस ट्यूटोरियल के बाद उन्हें आसानी से इंस्टॉल कर सकते हैं ।


संपादन 2 : rosch द्वारा बेहतर स्क्रिप्ट के साथ अद्यतित समीक्षा।


क्योंकि बहुत सारी छोटी फाइलें हमेशा बुरी तरह से खत्म हो जाती हैं। क्या आप अपने ~ / .thumbnails फ़ोल्डर का आकार जानते हैं?
एंटोनी रोड्रिगेज

आप का मतलब आकार यह अभी है? के बारे में 85 एमबी ~ 1 महीने के उपयोग के बाद।
Glutanimate

और आपके पुस्तकालय में कितनी फाइलें हैं? (यह तकनीकी कारण / सीमाओं के लिए है)
एंटोनी रोड्रिगेज

आह रुको, मैंने मिसकॉल किया; जिसमें कुछ डेटा फाइलें शामिल हैं। दस्तावेज़ केवल इसके बारे में 2000।
Glutanimate

बस आपको अपडेट करने के लिए: मेरे पास आपके लिए एक समाधान है। यह फिर से तैयार करने के लिए लंबा है इसलिए मुझे कुछ दिनों की अनुमति दें। सादर;)
एंटोनी रोड्रिग्ज

जवाबों:


35

Nautilus के थंबनेलिंग रूटीन वास्तव में libgnome-desktopलाइब्रेरी से आते हैं , इसलिए फ़ाइल मैनेजर के बाहर एक ही थंबनेल को चलाना संभव है।

एपीआई थोड़ा जटिल है, लेकिन निम्नलिखित पायथन स्क्रिप्ट को मदद करनी चाहिए:

#!/usr/bin/python
import os
import sys

from gi.repository import Gio, GnomeDesktop

def make_thumbnail(factory, filename):
    mtime = os.path.getmtime(filename)
    # Use Gio to determine the URI and mime type
    f = Gio.file_new_for_path(filename)
    uri = f.get_uri()
    info = f.query_info(
        'standard::content-type', Gio.FileQueryInfoFlags.NONE, None)
    mime_type = info.get_content_type()

    if factory.lookup(uri, mtime) is not None:
        print "FRESH       %s" % uri
        return False

    if not factory.can_thumbnail(uri, mime_type, mtime):
        print "UNSUPPORTED %s" % uri
        return False

    thumbnail = factory.generate_thumbnail(uri, mime_type)
    if thumbnail is None:
        print "ERROR       %s" % uri
        return False

    print "OK          %s" % uri
    factory.save_thumbnail(thumbnail, uri, mtime)
    return True

def thumbnail_folder(factory, folder):
    for dirpath, dirnames, filenames in os.walk(folder):
        for filename in filenames:
            make_thumbnail(factory, os.path.join(dirpath, filename))

def main(argv):
    factory = GnomeDesktop.DesktopThumbnailFactory()
    for filename in argv[1:]:
        if os.path.isdir(filename):
            thumbnail_folder(factory, filename)
        else:
            make_thumbnail(factory, filename)

if __name__ == '__main__':
    sys.exit(main(sys.argv))

इसे एक फ़ाइल में सहेजें और इसे निष्पादन योग्य चिह्नित करें। gir1.2-gnomedesktop-3.0यदि आपको यह पहले से स्थापित नहीं है, तो आपको पैकेज को स्थापित करने की आवश्यकता हो सकती है।

उसके बाद, केवल उन फ़ाइलों या फ़ोल्डरों के साथ स्क्रिप्ट का आह्वान करें जिन्हें आप तर्कों के रूप में थंबनेल करना चाहते हैं। थंबनेल को सहेजा जाएगा ~/.thumbnailsजहां Nautilus जैसे एप्लिकेशन उन्हें खोजने की उम्मीद करते हैं।


1
इस स्क्रिप्ट को लिखने के लिए समय निकालने के लिए धन्यवाद, जेम्स। यह एकल फ़ाइलों के लिए विज्ञापित के रूप में काम करता है। पोस्ट किए गए समाधानों में से यह एकमात्र ऐसा है जिसका आउटपुट सिस्टम द्वारा पहचाना जाता है (सही फ़ाइल नाम 48eebea785a185cdfc9d8f1a2ed34400.pngका उपयोग किया जाता है)। इस बिंदु पर, हालांकि, यह निर्देशिकाओं का समर्थन नहीं करता है। वहाँ किसी भी तरह से आप इसे निर्देशिका के माध्यम से पुनरावृत्ति कर सकता है?
१५:०२ पर ग्लूटेनेन्ट

किया हुआ। मैंने आउटपुट को थोड़ा सरल भी किया।
जेम्स हेन्स्ट्रिज

आपकी स्क्रिप्ट बिल्कुल शानदार काम करती है। यह वही है जो मैं ढूंढ रहा था, इसलिए मैंने आपको इनाम के साथ सम्मानित किया। मैंने अपना अंतिम परीक्षण चलाने के दौरान कुछ त्रुटि संदेशों का सामना किया , लेकिन उन्हें थंबनेल पीढ़ी में बाधा उत्पन्न नहीं हुई। त्रुटियां इस तथ्य से संबंधित हो सकती हैं कि कुछ फ़ाइल नामों में जर्मन उमलट्स ("ä, ü, ö") शामिल थे। धन्यवाद, फिर से, इस उत्कृष्ट समाधान प्रदान करने के लिए। यह अब से मेरे जीवन को बहुत आसान बना देगा।
ग्लूटामेट

1
वे त्रुटियां XML पार्सर से आ रही हैं जिनका उपयोग किसी एक थंबनेलर द्वारा किया जा रहा है, इसलिए यह उसके नाम के बजाय कुछ फ़ाइल की सामग्री से संबंधित होगा। उपरोक्त थंबनेलर स्क्रिप्ट निर्देशिका में सभी फ़ाइलों को संसाधित करेगी, इसलिए यह एक पीडीएफ नहीं हो सकती है जिससे इसे परेशानी हो रही है।
जेम्स हेनस्ट्रिज

मैं सादे पाठ फ़ाइलों के लिए थंबनेल बनाने में असमर्थ हूँ। क्या इस काम को करने के लिए मुझे कुछ कॉन्फ़िगर करने की आवश्यकता है?
कृष्णाया

18

नीचे दी गई स्क्रिप्ट को काम करना चाहिए। यह उपयोग करता है evince-thumbnailer- जहां तक ​​मुझे पता है - हर सूक्ति स्थापना के साथ आता है और डिफ़ॉल्ट थंबनेलर है।
के रूप में सहेजें pdfthumbnailer.sh और इसे निष्पादन योग्य बनाएं।
उपयोग :pdfthumbnailer.sh dir1 [dir2, ...]

#!/bin/bash

F1=$HOME/.thumbnails/normal
F2=$HOME/.cache/thumbnails/normal
SAVE_FOLDER=$F1
[ -e $F2 ] && SAVE_FOLDER=$F2

# the thumbnailing function
evincethumb() {
    outname=$(echo -n "$(readlink -f "$0")" | \
    perl -MURI::file -MDigest::MD5=md5_hex -ne 'print md5_hex(URI::file->new($_));')
    # no work if thumbnail already present
    [ ! -e $SAVE_FOLDER/${outname}.png ] && {
        echo "$0"
        #uncomment only one of both thumbnailers
        #convert -thumbnail 128x128 "$0"[0] $SAVE_FOLDER/${outname}.png 2>/dev/null
        evince-thumbnailer -s 128 "$0" $SAVE_FOLDER/${outname}.png 2>/dev/null
    }
}

# make our function visible to the subshell in "find -exec" below
export -f evincethumb

# loop through all given folders
for folder in "$@" ; do
    find "$folder" -type f -exec bash -c evincethumb {} \;
done

प्रतिबंध :

  • जेम्स हेनस्ट्रिज द्वारा बताए अनुसार थंबनेल :: URI और Thumb :: MTime विशेषताओं को थंबनेल में नहीं जोड़ा गया है। अब तक मैंने कोई सबूत नहीं देखा है कि डिफ़ॉल्ट evince-thumbnailerऐसा कर रहा है। दूसरे शब्दों में..जब तक nautilus थंबनेल को पुन: उत्पन्न नहीं करता है, स्क्रिप्ट का उपयोग नौकरी के लिए किया जा सकता है।

नोट :

  • नया थम्बनेल जनरेट करते समय फ़ाइल का नाम प्रिंट करता है, यदि मौजूद है तो स्किप कर देता है
  • गति: दोनों के साथ परीक्षण की गई 37 पीडीएफ़ फाइलें evince-thumbnailerऔर convert(इमेजमाजिक से): 3 सेकंड्स के लिए evince-thumbnailerऔर 14 सेकंड्स के लिए convert
  • नॉटिलस द्वारा मान्यता प्राप्त थंबनेल उत्पन्न करता है
  • पथ के नाम perl URL द्वारा संभाले गए: फ़ाइल मॉड्यूल (रिक्त स्थान और अन्य वर्ण सही ढंग से फ़ाइल उरई में अनुवादित हैं)
  • आवश्यकताओं perl, एक डिफ़ॉल्ट स्थापना में मौजूद है
  • फ़ाइलों को अनहेल्दी करके evince-thumbnailerकेवल एक त्रुटि उत्पन्न करेगा - के साथ म्यूट किया गया2>/dev/null
  • /usr/share/thumbnailers/evince.thumbnailerफ़ाइल प्रकारों की सूची देखने के लिए MimeType लाइन देखें
  • अद्यतन: 12.04 से थंबनेल फ़ोल्डर शुरू होता है ~/.cache/thumbnails
    और अधिक मजबूत रास्तों का उपयोग कर readlink

प्रेरणा :
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683394


सबसे पहले आप अपने जवाब और आपके द्वारा डाले गए प्रयास के लिए धन्यवाद। मैंने कुछ टेस्ट रन किए और यहां मेरे परिणाम हैं: 1.) थंबनेल पीढ़ी उनके नाम के रिक्त स्थान वाली निर्देशिकाओं के लिए काम नहीं करती है; 2.) आपके स्क्रिप्ट और @ मर्टिन ओर्दा दोनों के साथ बनाए गए थंबनेल सिस्टम द्वारा मान्यता प्राप्त नहीं हैं; आपकी स्क्रिप्ट के साथ संसाधित की गई फ़ाइलों को संभाला जाता है जैसे कि कोई थंबनेल मौजूद नहीं है -> परिणाम: थंबनेल निर्देशिका में डुप्लिकेट अंगूठे
Glutanimate

हम्म, अच्छी तरह से मेरे परीक्षण अब तक सकारात्मक थे: नॉटिलस ने थंबनेल को पहचान लिया और उन्हें पुनर्जीवित नहीं किया। यूजी, फ़ोल्डर के नाम में रिक्त स्थान कुछ ऐसा है जो मुझे खराब अभ्यास लगता है..लेकिन मैं स्क्रिप्ट को संशोधित करूंगा। डुप्लिकेट थंबनेल? फिर किसी फ़ाइल के लिए नए tumbnail का नाम क्या है?
रोज़

ठीक है, इसे फिर से आज़माया और मुझे डर है कि यह पिछली बार के समान परिणाम है। यहां एक थंबनेल का फ़ाइल नाम आपकी स्क्रिप्ट जेनरेट किया गया है 2a43dc2774e3dfe45a4337e0304e5b0a.png:। यह वही है कि इसी थंबनेल को नॉटिलस द्वारा नाम दिया गया है 48eebea785a185cdfc9d8f1a2ed34400.png:। मैंने यह भी देखा है कि आपकी स्क्रिप्ट के साथ बनाए गए अंगूठे 128x171px हैं जबकि इनबिल्ट थंबनेलर केवल 96x128px पिक्सेल बनाता है।
Glutanimate


evince-thumbnailerPNG टैग नहीं जोड़ने के बारे में आपकी टिप्पणी के बारे में , यह सही है: कोड जो बाहरी थंबनेलर्स को कॉल करता है, वह वास्तव में टैग्स को शामिल करने के लिए छवियों को फिर से लिखता है। आपको strings -aNautilus द्वारा उत्पन्न किसी एक थंबनेल पर चलकर इसे सत्यापित करने में सक्षम होना चाहिए ।
जेम्स हेनस्ट्रिज

10

थोड़ी देर के लिए विचलित हो गया और रोश ने मुझे इसके लिए हरा दिया :) क्या पता नहीं था कि एंजेन्स-थ्रेसर अस्तित्व में है (मैं एक सूक्ति उपयोगकर्ता नहीं हूं) लेकिन फिर भी, क्योंकि मैंने पहले ही लिखा है, यहां यह हो जाता है। यदि इसके साथ नहीं है तो इमेजमागिक को स्थापित, जांचना और स्थापित करना आवश्यक है:

which convert || sudo apt-get install imagemagick

mkthumb.sh(उदाहरण के लिए) के रूप में सहेजें , chmod +x mkthumb.shइसे तर्क के रूप में निरपेक्ष पथों के साथ निष्पादित करें (आप पहले-से मौजूद थ्रेड उत्पन्न करने के लिए अपने पहले पैरामीटर के रूप में -s का उपयोग कर सकते हैं) अर्थात:

user@host $ ./mkthumb.sh -s /home/user/Downloads /home/user/blah
Processing directory /home/user/Downloads/pics/
OK   /home/user/Downloads/pics/FeO08.jpg
OK   /home/user/Downloads/pics/UrOCu.jpg
OK   /home/user/Downloads/pics/34ATZ.gif
OK   /home/user/Downloads/pics/WBRE3.jpg
OK   /home/user/Downloads/pics/LjLdH.jpg
OK   /home/user/Downloads/pics/xvvae (1).jpg
SKIP /home/user/Downloads/pics/itcrowd.jpg
OK   /home/user/Downloads/pics/76180344.jpg
OK   /home/user/Downloads/pics/fgk5N.jpg
....

स्क्रिप्ट (मैंने ज्यादातर छवियों का समर्थन करने के लिए इसे थोड़ा संशोधित किया है, यदि आपको उनकी आवश्यकता है तो आप अधिक एक्सटेंशन जोड़ सकते हैं):

#!/bin/bash

# USAGE: mkthumb.sh [-s] <abs_path> [abs_path]
# create nautilus thumbnails for images and PDFs in the directories (and their
# sub-directories) given as parameters.
# -s is used to skip generating thumbnails that already exist

skip_existing=0
if [[ "${1}" == "-s" ]]; then
  skip_existing=1
  shift
fi

mkthumb() {
  file="${1}"
  dest="${2}"
  convert -thumbnail 128x128 "${file}[0]" "${dest}" &>/dev/null
  if (( $? == 0 )); then
    echo "OK   ${file}"
  else
    echo "FAIL ${file}"
  fi
}

OLDIFS="${IFS}"
IFS=$'\n'
for dir in $@; do
  realdir=`realpath "${dir}"`
  echo "Processing directory ${realdir}"
  for file in $(find "${realdir}" -regextype posix-egrep -iregex \
  '.*\.(pdf|png|jpg|gif|jpeg)'); do
    md5=$(echo -n "${file}" | perl -MURI::file -MDigest::MD5=md5_hex -ne \
          'print md5_hex(URI::file->new($_));')
    dest="${HOME}/.thumbnails/normal/${md5}.png"
    if [[ -f "${dest}" ]]; then
      if [[ "${skip_existing}" == "0" ]]; then
        mkthumb "${file}" "${dest}"
      else
        echo "SKIP ${file}"
      fi
    else
      mkthumb "${file}" "${dest}"
    fi
  done
done
IFS="${OLDIFS}"

यह मुद्दों के बिना उनके नाम के रिक्त स्थान वाली फाइलों को संभालता है।

A bit of testing here:

user@host $ find .thumbnails/
.thumbnails/
.thumbnails/fail
.thumbnails/fail/gnome-thumbnail-factory
.thumbnails/normal

# ok - no thumbnails present.

user@host $ ./mkthumb.sh -s /home/user/Downloads/pdf/test/
Processing directory /home/user/Downloads/pdf/test/
OK   /home/user/Downloads/pdf/test/800pdf.pdf
OK   /home/user/Downloads/pdf/test/3_TO_pricelist.pdf
OK   /home/user/Downloads/pdf/test/111011-speisekarte-mit-desserts.pdf
OK   /home/user/Downloads/pdf/test/1186157_r4f3a355eb104a (1).pdf

user@host $ touch tstamp

user@host $ ./mkthumb.sh -s /home/user/Downloads/pdf/test/
Processing directory /home/user/Downloads/pdf/test/
SKIP /home/user/Downloads/pdf/test/800pdf.pdf
SKIP /home/user/Downloads/pdf/test/3_TO_pricelist.pdf
SKIP /home/user/Downloads/pdf/test/111011-speisekarte-mit-desserts.pdf
SKIP /home/user/Downloads/pdf/test/1186157_r4f3a355eb104a (1).pdf

# running nautilus once now to see if it generates new thumbnails

# checking for new thumbnails:

user@host $ find .thumbnails/ -newer tstamp

# None.

धन्यवाद, साथ ही, एक उत्कृष्ट स्क्रिप्ट प्रदान करने के लिए। मैंने कुछ टेस्ट रन किए और यहां मेरे परिणाम हैं: 1.) थंबनेल पीढ़ी अच्छी तरह से काम करती है और यह ईवीएन-थ्रेसर से तेज है; 2.) आपके स्क्रिप्ट और @ रोश के साथ बनाए गए थंबनेल सिस्टम द्वारा मान्यता प्राप्त नहीं हैं; आपकी स्क्रिप्ट के साथ संसाधित की गई फ़ाइलों को संभाला जाता है जैसे कि कोई थंबनेल मौजूद नहीं है। मैन्युअल रूप से निर्देशिकाओं तक पहुँचने पर नए अंगूठे बनाए जाते हैं -> परिणाम: थंबनेल निर्देशिका में डुप्लिकेट अंगूठे
Glutanimate

आप सही हैं - मैंने इसे फिर से जाँच लिया है और पाया है कि नॉटिलस उन्हें फिर से उत्पन्न करता है (मुझे लगता है कि ऐसा नहीं था जब मैंने कल रात इसका परीक्षण किया था लेकिन मैं गलत हो सकता था, यह पहले ही देर हो चुकी थी)। यदि यह वास्तव में तेज है जैसा कि आपने लिखा था (मैंने अभी तक अन्य तरीकों का उपयोग नहीं किया है), मैं कुछ घंटों में इस पर काम करूंगा। केवल एक ही मुद्दा जो मुझे लगता है, वह है कि मेरी स्क्रिप्ट और नॉटिलस द्वारा बनाई गई दोनों फाइलें समान गुण प्रदर्शित करती हैं: "PNG 97x128 97x128 + 0 + 8-bit DirectClass 20.4KB 0.000u 0: 00.000 जब मैं पहचान का उपयोग करता हूं <थंबनेल>।
मार्सिन कमिन्स्की

नहीं, हम दोनों गलत थे :) मैं यह भूल गया था कि थंबनेल का फ़ाइल नाम 'फ़ाइल: //' का md5 हैश है: // + Abs_path और गलती से मेरी स्क्रिप्ट के रूप में भाग गया। / mkthumb.sh-s डाउनलोड / pdf / test /mkumbumb.sh -s / home / उपयोगकर्ता / डाउनलोड / pdf / परीक्षण। इसे फिर से देने का प्रयास करें।
मार्सिन कमिंसकी

ठीक है, मैंने एक और परीक्षण चलाया और अजीबोगरीब बात यह है कि आपके स्क्रिप्ट रोस के दोनों समान समस्या है: आपकी स्क्रिप्ट के साथ फ़ाइल नाम है 2a43dc2774e3dfe45a4337e0304e5b0a.pngजबकि नॉटिलस इसे नाम देता है 48eebea785a185cdfc9d8f1a2ed34400.png। हालाँकि, आयाम आपकी स्क्रिप्ट के साथ सही हैं। यहाँ एक तुलना है
Glutanimate

मैं जोड़ना चाहूंगा कि आपकी स्क्रिप्ट अभी भी यहां पोस्ट की गई सबसे तेज़ है। imagemagickयह भी लगता है कि स्केलिंग को बहुत बेहतर तरीके से संभालता है evince-thumbnailer(संदर्भ के लिए ऊपर की तुलना देखें)।
ग्लूटेनेन्ट

1

थंबनेल विनिर्देश में साझा थंबनेल रिपॉजिटरी शामिल हैं, जो पूर्व-उत्पन्न थंबनेल को संबंधित फ़ाइलों के साथ वितरित करने की अनुमति देता है, बजाय इसके कि प्रत्येक उपयोगकर्ता अपने स्वयं के थंबनेल उत्पन्न करता है। इसलिए सिद्धांत रूप में आप थंबनेल उत्पन्न कर सकते हैं और फिर उन्हें एक साझा भंडार में जोड़ सकते हैं ताकि भविष्य में उन्हें उत्पन्न करने की आवश्यकता को दूर किया जा सके यदि आपने अपनी थंबनेल निर्देशिका को मंजूरी दे दी है, या उन सभी को एक अलग मशीन या जो कुछ भी स्थानांतरित किया है।

http://specifications.freedesktop.org/thumbnail-spec/thumbnail-spec-latest.html#DIRECTORY

यह पूछें उबंटू पृष्ठ एक खोज के परिणामों में आता है, जब मैं यह पता लगाने की कोशिश कर रहा था कि क्या कोई एप्लिकेशन साझा किए गए थंबनेल रिपॉजिटरी का समर्थन करता है। अफसोस की बात यह है कि कोई भी आवेदन उनका समर्थन नहीं करता है।


1

मैंने एक पैकेज लिखा जिसमें मल्टीप्रोसेसिंग और पुनरावर्ती रूप से थंबनेल बनाने का विकल्प शामिल करने के लिए जेम्स स्क्रिप्ट को संशोधित किया। पैकेज pipस्थापना योग्य है। स्थापना निर्देशों के लिए यहां देखें ।

उपयोग का एक उदाहरण है:

thumbgen -w 4 -r -d your_directory
  • -r: पुनरावर्ती थंबनेल उत्पन्न करते हैं

  • -w: उपयोग करने के लिए कोर की संख्या

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.