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?
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 :
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