Instrucciones generales de instalación
Miniaturas en repositorios y PPA
Una serie de miniaturas están preempaquetadas y se pueden instalar fácilmente desde el centro de software o la línea de comandos. Estas miniaturas no requieren ninguna configuración adicional y deberían funcionar inmediatamente después de reiniciar nautilus. Puedes hacerlo con:
nautilus -q
Considere leer estas preguntas y respuestas antes de instalar cualquier cosa desde un PPA:
¿Qué son los PPA y cómo los uso?
¿Es seguro agregar PPA a mi sistema y cuáles son algunas de las "señales de alerta" a tener en cuenta?
Scripts de miniaturas personalizados en Ubuntu 11.04 y superior
Las miniaturas personalizadas que no están disponibles en los repositorios deben instalarse manualmente. Estos son los pasos que deberá seguir para instalarlos:
Compruebe si el script tiene alguna dependencia enumerada. Si es así, instálelos primero.
Descargue el script y hágalo ejecutable con chmod a+x filethumbnailer
o a través de Nautilus
Designe una carpeta en su sistema de archivos para todas las miniaturas futuras y mueva el script a ella, por ejemplo
mkdir $HOME/.scripts/thumbnailers && mv filethumbnailer $HOME/.scripts/thumbnailers
A continuación, deberá registrar su script con Nautilus . Para hacerlo, cree una entrada en miniatura en /usr/share/thumbnailers
. La entrada debe seguir el esquema de nomenclatura foo.thumbnailer
donde foo
es una expresión de su elección (aquí file
):
gksudo gedit /usr/share/thumbnailers/file.thumbnailer
Las especificaciones de la miniatura siguen este esquema:
[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/file.thumbnailer %i %o %s
MimeType=application/file;
La Exec
entrada apunta a la secuencia de comandos de su miniatura, mientras que el MimeType
campo designa los MimeTypes relacionados. Las posibles variables son:
%i Input file path
%u Input file URI
%o Output file path
%s Thumbnail size (vertical)
Las especificaciones y variables variarán con cada script. Simplemente copie y pegue el contenido del cuadro de texto respectivo en el archivo y guárdelo.
Las miniaturas deberían estar en funcionamiento después de reiniciar nautilus ( nautilus -q
).
Scripts de miniaturas personalizados en Ubuntu 11.04 y versiones inferiores
Las versiones anteriores de Ubuntu se basan en GConf para las asociaciones de miniaturas. Ver aquí para más información.
Fuentes :
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
Miniaturas por tipo de archivo
Archivos CHM
Visión general
Descripción : con este script obtendrá miniaturas de sus archivos chm en el administrador de archivos nautilus. El script usa la imagen más grande de la página de inicio del archivo chm para generar la miniatura, generalmente esta será una imagen de la portada.
Creador : monraaf ( http://ubuntuforums.org/showthread.php?t=1159569 )
Dependencias :sudo apt-get install python-beautifulsoup python-chm imagemagick
Entrada de miniaturas
[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/chmthumbnailer %i %o %s
MimeType=application/vnd.ms-htmlhelp;application/x-chm;
Guión
#!/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])
Archivos EPUB
Visión general
Descripción : epub-thumbnailer es un script simple que intenta encontrar una portada en un archivo epub y crea una miniatura para él.
Creador : Mariano Simone ( https://github.com/marianosimone/epub-thumbnailer )
Dependencias : ninguna lista, funcionó bien de inmediato
Entrada de Miniaturas
[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/epubthumbnailer %i %o %s
MimeType=application/epub+zip;
Guión
#!/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)
Archivos EXE
Visión general
Descripción : gnome-exe-thumbnailer es un thumbnailer para Gnome que le dará a los archivos .exe de Windows un ícono basado en su ícono incrustado y un ícono genérico de "programa Wine". Si el programa tiene permisos de ejecución normales, se mostrará el ícono incrustado estándar. Este thumbnailer también le dará un icono en miniatura para .jar, .py y programas ejecutables similares.
Disponibilidad : repositorios oficiales
Instalación
sudo apt-get install gnome-exe-thumbnailer
ODP / ODS / ODT y otros archivos de LibreOffice y Open Office
Visión general
Descripción: ooo-thumbnailer es un thumbnailer de documentos de LibreOffice, OpenOffice.org y Microsoft Office que Nautilus puede utilizar para crear miniaturas para sus documentos, hojas de cálculo, presentaciones y dibujos.
Disponibilidad : PPA del desarrollador (la versión más reciente que es compatible con LibreOffice en Ubuntu 12.04 y posteriores)
Instalación
sudo add-apt-repository ppa:flimm/ooo-thumbnailer && apt-get update && apt-get install ooo-thumbnailer
.xpm
imágenes? Asumí que eran tan "estándar" comopng
,jpg
ybmp
, pero Nautilus no genera vistas previas para ellos.