사용 가능한 추가 썸네일 러는 무엇이며 어떻게 설치합니까?


9

질문 :

Ubuntu의 파일 관리자 인 Nautilus에는 파일 미리보기가 광범위하게 지원됩니다. 이러한 썸네일은 썸네일 러라고하는 도우미 프로그램에 의해 처리됩니다.

Ubuntu와 함께 사전 설치된 썸네일 러의 수는 제한되어 있으므로 더 이국적인 파일 형식은 기본적으로 렌더링되지 않습니다.

이 경우 미리보기를 활성화하기 위해 어떤 추가 썸네일 러를 설치할 수 있습니까?


관련 Q & A :

노틸러스에 미리보기 이미지를 미리 생성하도록 지시하려면 어떻게해야합니까?


참고 :

커뮤니티 위키 답변을 편집하여이 목록에 자유롭게 참여하십시오. 그렇게 할 경우이 메타 토론 의 지침을 따르고 기존 패턴을 사용하여 답변의 일관성을 유지하십시오.

답변:


11

일반 설치 지침


리포지토리 및 PPA의 축소판

다수의 썸네일 러는 사전 패키지되어 있으며 소프트웨어 센터 또는 명령 행에서 쉽게 설치할 수 있습니다. 이 썸네일 러는 추가 구성이 필요하지 않으며 노틸러스를 다시 시작한 직후에 작동해야합니다. 당신은 그렇게 할 수 있습니다 :

nautilus -q 

PPA에서 무엇이든 설치하기 전에 다음 Q & A를 읽어보십시오.

PPA 란 무엇이며 어떻게 사용합니까?

PPA가 시스템에 안전하게 추가 할 수 있습니까? "적색 플래그"는 무엇입니까?

Ubuntu 11.04 이상에서 사용자 정의 썸네일 스크립트

리포지토리에서 사용할 수없는 사용자 지정 썸네일 러는 수동으로 설치해야합니다. 설치 단계는 다음과 같습니다.

스크립트에 종속성이 나열되어 있는지 확인하십시오. 그렇다면 먼저 설치하십시오.

스크립트를 다운로드하여 노틸러스 와 함께 chmod a+x filethumbnailer또는 노틸러스를 통해 실행 가능

향후 모든 썸네일 러를 위해 파일 시스템에 폴더를 지정하고 스크립트를 여기로 이동하십시오.

mkdir $HOME/.scripts/thumbnailers && mv filethumbnailer $HOME/.scripts/thumbnailers

다음으로 노틸러스에 스크립트를 등록해야합니다 . 이렇게하려면에 섬네일 러 항목을 만드십시오 /usr/share/thumbnailers. 항목은 이름 지정 방식을 따라야합니다 당신의 선택 (여기의 표현입니다 ) :foo.thumbnailerfoofile

gksudo gedit /usr/share/thumbnailers/file.thumbnailer

썸네일 러 사양은 다음 체계를 따릅니다.

[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/file.thumbnailer %i %o %s
MimeType=application/file;

Exec입력하여 thumbnailer 스크립트를 가리키는 동안 MimeType필드는 관련 MIME 형식을 지정합니다. 가능한 변수는 다음과 같습니다.

%i Input file path
%u Input file URI
%o Output file path
%s Thumbnail size (vertical)

사양과 변수는 각 스크립트에 따라 다릅니다. 각 텍스트 상자의 내용을 복사하여 파일에 붙여 넣기 만하면됩니다.

노틸러스 ( nautilus -q)를 다시 시작한 후 썸네일 러가 가동되어 실행 중이어야합니다 .

Ubuntu 11.04 이하의 사용자 정의 썸네일 스크립트

이전 버전의 Ubuntu는 썸네일 러 연결을 위해 GConf를 사용합니다. 자세한 내용은 여기 를 참조하십시오.


출처 :

https://live.gnome.org/ThumbnailerSpec

https://bugzilla.redhat.com/show_bug.cgi?id=636819#c29

https://bugs.launchpad.net/ubuntu/+source/gnome-exe-thumbnailer/+bug/752578

http://ubuntuforums.org/showthread.php?t=1881360



파일 유형별 썸네일 러


CHM 파일

개요

설명 :이 스크립트를 사용하면 노틸러스 파일 관리자에서 chm 파일의 썸네일을 얻을 수 있습니다. 이 스크립트는 chm 파일의 홈페이지에서 가장 큰 이미지를 사용하여 축소판을 생성합니다. 일반적으로이 이미지는 앞 표지의 이미지입니다.

제작자 : monraaf ( http://ubuntuforums.org/showthread.php?t=1159569 )

의존성 :sudo apt-get install python-beautifulsoup python-chm imagemagick

썸네일 항목

[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/chmthumbnailer %i %o %s
MimeType=application/vnd.ms-htmlhelp;application/x-chm;

스크립트

#!/usr/bin/env python

import sys, os
from chm import chm
from BeautifulSoup import BeautifulSoup

class ChmThumbNailer(object):
    def __init__(self):
        self.chm = chm.CHMFile()

    def thumbnail(self, ifile, ofile, sz):

        if self.chm.LoadCHM(ifile) == 0:
            return 1

        bestname    = None
        bestsize    = 0
        base        = self.chm.home.rpartition('/')[0] + '/'
        size, data  = self.getfile(self.chm.home)

        if size > 0:
            if self.chm.home.endswith(('jpg','gif','bmp')):
                self.write(ofile, sz, data)
            else:
                soup = BeautifulSoup(data)
                imgs = soup.findAll('img')
                for img in imgs:
                    name = base + img.get("src","")
                    size, data = self.getfile(name)
                    if size > bestsize:
                        bestsize = size
                        bestname = name
                if bestname != None:
                    size, data = self.getfile(bestname)
                    if size > 0:
                        self.write(ofile, sz, data)
        self.chm.CloseCHM()

    def write(self, ofile, sz, data):
        fd = os.popen('convert - -resize %sx%s "%s"' % (sz, sz, ofile), "w")
        fd.write(data)
        fd.close()

    def getfile(self,name):
        (ret, ui) = self.chm.ResolveObject(name)
        if ret == 1:
            return (0, '')
        return self.chm.RetrieveObject(ui)

if len(sys.argv) > 3:
    chm = ChmThumbNailer()
    chm.thumbnail(sys.argv[1], sys.argv[2], sys.argv[3])

EPUB 파일

개요

설명 : epub-thumbnailer는 epub 파일에서 표지를 찾고 축소판을 만드는 간단한 스크립트입니다.

제작자 : Mariano Simone ( https://github.com/marianosimone/epub-thumbnailer )

종속성 : 나열되지 않았으며 즉시 제대로 작동했습니다.

썸네일 항목

[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/epubthumbnailer %i %o %s
MimeType=application/epub+zip;

스크립트

#!/usr/bin/python

#  This program is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.

# Author: Mariano Simone (marianosimone@gmail.com)
# Version: 1.0
# Name: epub-thumbnailer
# Description: An implementation of a cover thumbnailer for epub files
# Installation: see README

import zipfile
import sys
import Image
import os
import re
from xml.dom import minidom
from StringIO import StringIO

def get_cover_from_manifest(epub):
    img_ext_regex = re.compile("^.*\.(jpg|jpeg|png)$")

    # open the main container
    container = epub.open("META-INF/container.xml")
    container_root = minidom.parseString(container.read())

    # locate the rootfile
    elem = container_root.getElementsByTagName("rootfile")[0]
    rootfile_path = elem.getAttribute("full-path")

    # open the rootfile
    rootfile = epub.open(rootfile_path)
    rootfile_root = minidom.parseString(rootfile.read())

    # find the manifest element
    manifest = rootfile_root.getElementsByTagName("manifest")[0]
    for item in manifest.getElementsByTagName("item"):
        item_id = item.getAttribute("id")
        item_href = item.getAttribute("href")
        if "cover" in item_id and img_ext_regex.match(item_href.lower()):
            cover_path = os.path.join(os.path.dirname(rootfile_path), 
                                      item_href)
            return cover_path

    return None

def get_cover_by_filename(epub):
    cover_regex = re.compile(".*cover.*\.(jpg|jpeg|png)")

    for fileinfo in epub.filelist:
        if cover_regex.match(os.path.basename(fileinfo.filename).lower()):
            return fileinfo.filename

    return None

def extract_cover(cover_path):
    if cover_path:
        cover = epub.open(cover_path)
        im = Image.open(StringIO(cover.read()))
        im.thumbnail((size, size), Image.ANTIALIAS)
        im.save(output_file, "PNG")
        return True
    return False

# Which file are we working with?
input_file = sys.argv[1]
# Where do does the file have to be saved?
output_file = sys.argv[2]
# Required size?
size = int(sys.argv[3])

# An epub is just a zip
epub = zipfile.ZipFile(input_file, "r")

extraction_strategies = [get_cover_from_manifest, get_cover_by_filename]

for strategy in extraction_strategies:
    try:
        cover_path = strategy(epub)
        if extract_cover(cover_path):
            exit(0)
    except Exception as ex:
        print "Error getting cover using %s: " % strategy.__name__, ex

exit(1)

EXE 파일

개요

설명 : gnome-exe-thumbnailer는 Gnome 용 썸네일 러로 Windows .exe 파일에 포함 된 아이콘과 일반 "와인 프로그램"아이콘을 기반으로 한 아이콘을 제공합니다. 프로그램에 정상적인 실행 권한이 있으면 표준 내장 아이콘이 표시됩니다. 이 썸네일 러는 .jar, .py 및 유사한 실행 프로그램에 대한 썸네일 아이콘도 제공합니다.

가용성 : 공식 저장소

설치

sudo apt-get install gnome-exe-thumbnailer

ODP / ODS / ODT 및 기타 LibreOffice 및 Open Office 파일

개요

설명 : ooo-thumbnailer는 노틸러스가 문서, 스프레드 시트, 프리젠 테이션 및 그림의 썸네일을 생성하는 데 사용할 수있는 LibreOffice, OpenOffice.org 및 Microsoft Office 문서 썸네일 러입니다.

가용성 : 개발자의 PPA (Ubuntu 12.04 이상에서 LibreOffice와 호환되는 최신 버전)

설치

sudo add-apt-repository ppa:flimm/ooo-thumbnailer && apt-get update && apt-get install ooo-thumbnailer

무엇에 대한 .xpm이미지? 나는 그들이 한 "표준"이었다 가정 png, jpg그리고 bmp있지만, 노틸러스 그들을 위해 미리보기를 생성하지 않습니다.
MestreLion

XPM 이미지 파일은 노틸러스 3.4에서 잘 표시됩니다. i.imgur.com/XYUZonV.png
Glutanimate

1
그것은 전에 의견 파일을 처리 할 수에서 신경 끄시 고, 내가 발견 한 /* XPM */헤더 경우에도 eog좋은 디스플레이를
MestreLion

다음을 사용하여 파일의 MIME 유형을 찾을 수 있다고 생각합니다.file -i FILE
Wilf

1

ICNS 파일 (Mac OSX 아이콘)

개요

노틸러스는 일부 버그 로 인해 Mac OSX 아이콘 썸네일을 생성하지 않지만 지원 기능이 내장되어 GdkPixbuf있습니다.

스크립트

.icns파일의 썸네일을 생성하는 기본 스크립트 입니다. 보다 강력한 버전은 https://github.com/MestreLion/icns-thumbnailer 에서 확인할 수 있습니다.

#!/usr/bin/env python
import sys
from gi.repository import GdkPixbuf
inputname, outputname, size = sys.argv[1:]
pixbuf = GdkPixbuf.Pixbuf.new_from_file(inputname)
scaled = GdkPixbuf.Pixbuf.scale_simple(pixbuf, int(size), int(size),
                                       GdkPixbuf.InterpType.BILINEAR)
scaled.savev(outputname, 'png', [], [])

설치

.thumbnailer노틸러스 용 파일 과 함께 설치 스크립트 는 icns-thumbnailer 프로젝트 저장소 에서 사용 가능 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.