Quais miniaturas adicionais estão disponíveis e como instalá-las?

9

Pergunta :

O gerenciador de arquivos do Ubuntu, Nautilus , vem com um amplo suporte para visualizações de arquivos. Essas miniaturas são tratadas por programas auxiliares chamados miniaturizadores.

O número de miniaturizadores que vem pré-instalado com o Ubuntu é limitado e, portanto, alguns tipos de arquivos mais exóticos não são renderizados por padrão.

Quais miniaturizadores adicionais posso instalar para ativar as visualizações nesses casos?

Perguntas e respostas relacionadas :

Como posso instruir o Nautilus a gerar previamente miniaturas?

Nota :

Sinta-se à vontade para contribuir com essa lista editando a resposta do wiki da comunidade. Se você fizer isso, siga as orientações em esta discussão Meta e use o padrão preexistente para manter a resposta consistente.

    
por Glutanimate 10.03.2013 / 21:57

2 respostas

11

Instruções gerais de instalação

Thumbnailers em repositórios e APPs

Um número de miniaturizadores é pré-empacotado e pode ser facilmente instalado a partir do centro de software ou da linha de comando. Esses thumbnailers não exigem nenhuma configuração adicional e devem funcionar logo após a reinicialização do nautilus. Você pode fazer isso com:

nautilus -q 

Por favor, considere a leitura destes Q & Como antes de instalar qualquer coisa de um PPA:

O que são os PPAs e como usá-los?

PPA é seguro para adicionar ao meu sistema e quais são algumas" bandeiras vermelhas "a serem observadas?

Scripts de miniaturas personalizados no Ubuntu 11.04 e posteriores

Os miniaturizadores personalizados que não estão disponíveis nos repositórios devem ser instalados manualmente. Estes são os passos que você deve seguir para instalá-los:

Verifique se o script tem alguma dependência listada. Em caso afirmativo, instale-os primeiro.

Faça o download do script e torne-o executável com chmod a+x filethumbnailer ou via Nautilus

Designe uma pasta em seu sistema de arquivos para todos os futuros miniaturistas e mova o script para ela, por exemplo,

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

Em seguida, você terá que registrar seu script com o Nautilus . Para isso, crie uma entrada de miniaturas em /usr/share/thumbnailers . A entrada deve seguir o esquema de nomenclatura foo.thumbnailer onde foo é uma expressão de sua escolha (aqui file ):

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

As especificações do thumbnailer seguem este esquema:

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

A entrada Exec aponta para o script do thumbnailer enquanto o campo MimeType designa os MimeTypes relacionados. As possíveis variáveis são:

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

As especificações e variáveis variam de acordo com cada script. Basta copiar e colar o conteúdo da respectiva caixa de texto no arquivo e salvá-lo.

Os thumbnailers devem estar ativos e em execução após a reinicialização do nautilus ( nautilus -q ).

Scripts de miniaturas personalizados no Ubuntu 11.04 e abaixo

Versões anteriores do Ubuntu contam com o GConf para associações de miniaturas. Consulte aqui para obter mais informações.

Fontes :

link

link

link

link

Thumbnailers por tipo de arquivo

arquivos CHM

Visão geral

Description: With this script you'll get thumbnails of your chm files in the nautilus file manager. The script uses the largest image from the homepage of the chm file to generate the thumbnail, usually this will be an image of the front cover.

Creator: monraaf (http://ubuntuforums.org/showthread.php?t=1159569)

Dependencies: sudo apt-get install python-beautifulsoup python-chm imagemagick

Entrada do Thumbnailer

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

Script

#!/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])

arquivos EPUB

Visão geral

Description: epub-thumbnailer is a simple script that tries to find a cover in an epub file and creates a thumbnail for it.

Creator: Mariano Simone (https://github.com/marianosimone/epub-thumbnailer)

Dependencies: none listed, worked fine right away

Entrada do Thumbnailer

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

Script

#!/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 ([email protected])
# 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)

Arquivos EXE

Visão geral

Description: gnome-exe-thumbnailer is a thumbnailer for Gnome that will give Windows .exe files an icon based on their embedded icon and a generic "Wine program" icon. If the program has normal execute permissions, then the standard embedded icon will be shown. This thumbnailer will also give a thumbnail icon for .jar, .py, and similar executable programs.

Availability: official repositories

Instalação

sudo apt-get install gnome-exe-thumbnailer

ODP / ODS / ODT e outros arquivos do LibreOffice e Open Office

Visão geral

Description: ooo-thumbnailer is a LibreOffice, OpenOffice.org and Microsoft Office document thumbnailer that can be used by Nautilus to create thumbnails for your documents, spreadsheets, presentations and drawings.

Availability: developer's PPA (most recent version that's compatible with LibreOffice in Ubuntu 12.04 and up)

Instalação

sudo add-apt-repository ppa:flimm/ooo-thumbnailer && apt-get update && apt-get install ooo-thumbnailer
    
por Glutanimate 13.04.2017 / 14:24
1

Arquivos ICNS (ícones do Mac OSX)

Visão geral

O Nautilus não gera miniaturas para ícones do Mac OSX devido a alguns bugs , mas o suporte é incorporado GdkPixbuf .

Script

Este é um script básico para gerar miniaturas para .icns arquivos. Uma versão mais robusta pode ser encontrada no link

#!/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', [], [])

Instalar

Um script de instalação, junto com o arquivo .thumbnailer do Nautilus, está disponível no repositório do projeto icns-thumbnailer

    
por MestreLion 14.08.2014 / 21:36