Istruzioni generali di installazione
Miniatura in repository e PPA
Numerosi thumbnailer sono preconfezionati e possono essere facilmente installati dal centro software o dalla riga di comando. Questi thumbnailer non richiedono alcuna configurazione aggiuntiva e dovrebbero funzionare subito dopo il riavvio di nautilus. Puoi farlo con:
nautilus -q
Si prega di considerare di leggere queste domande e risposte prima di installare qualsiasi cosa da un PPA:
Cosa sono i PPA e come li uso?
PPA è sicuro da aggiungere al mio sistema e quali sono alcune "bandiere rosse" a cui prestare attenzione?
Script di miniature personalizzati su Ubuntu 11.04 e versioni successive
I thumbnailer personalizzati che non sono disponibili nei repository devono essere installati manualmente. Questi sono i passaggi che dovrai eseguire per installarli:
Controlla se lo script ha delle dipendenze elencate. In tal caso, installarli prima.
Scarica lo script e rendilo eseguibile con chmod a+x filethumbnailer
o tramite Nautilus
Designare una cartella nel proprio file system per tutti i futuri thumbnailer e spostare lo script su di esso, ad es
mkdir $HOME/.scripts/thumbnailers && mv filethumbnailer $HOME/.scripts/thumbnailers
Successivamente dovrai registrare la tua sceneggiatura con Nautilus . Per fare ciò, crea una voce in anteprima /usr/share/thumbnailers
. La voce deve seguire lo schema di denominazione in foo.thumbnailer
cui foo
è un'espressione di tua scelta (qui file
):
gksudo gedit /usr/share/thumbnailers/file.thumbnailer
Le specifiche del thumbnailer seguono questo schema:
[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/file.thumbnailer %i %o %s
MimeType=application/file;
La Exec
voce punta allo script del tuo thumbnailer mentre il MimeType
campo indica i MimeTypes correlati. Le variabili possibili sono:
%i Input file path
%u Input file URI
%o Output file path
%s Thumbnail size (vertical)
Le specifiche e le variabili varieranno con ogni script. Basta copiare e incollare il contenuto della rispettiva casella di testo nel file e salvarlo.
I thumbnailer dovrebbero essere attivi dopo aver riavviato nautilus ( nautilus -q
).
Script di anteprima personalizzati su Ubuntu 11.04 e versioni precedenti
Le versioni precedenti di Ubuntu si basano su GConf per le associazioni di thumbnailer. Vedi qui per maggiori informazioni.
Fonti :
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
Miniatura per tipo di file
File CHM
Panoramica
Descrizione : con questo script otterrai le miniature dei tuoi file chm nel file manager nautilus. Lo script usa l'immagine più grande dalla homepage del file chm per generare la miniatura, di solito questa sarà un'immagine della copertina.
Creatore : monraaf ( http://ubuntuforums.org/showthread.php?t=1159569 )
Dipendenze :sudo apt-get install python-beautifulsoup python-chm imagemagick
Voce Thumbnailer
[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/chmthumbnailer %i %o %s
MimeType=application/vnd.ms-htmlhelp;application/x-chm;
copione
#!/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])
File EPUB
Panoramica
Descrizione : epub-thumbnailer è un semplice script che cerca di trovare una copertina in un file epub e crea una miniatura per esso.
Creatore : Mariano Simone ( https://github.com/marianosimone/epub-thumbnailer )
Dipendenze : nessuna elencata, ha funzionato bene subito
Voce Thumbnailer
[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/epubthumbnailer %i %o %s
MimeType=application/epub+zip;
copione
#!/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)
File EXE
Panoramica
Descrizione : gnome-exe-thumbnailer è un thumbnailer per Gnome che fornirà ai file .exe di Windows un'icona basata sulla loro icona incorporata e un'icona generica "Programma vino". Se il programma dispone delle normali autorizzazioni di esecuzione, verrà visualizzata l'icona standard incorporata. Questo thumbnailer fornirà anche un'icona di anteprima per programmi eseguibili .jar, .py e simili.
Disponibilità : repository ufficiali
Installazione
sudo apt-get install gnome-exe-thumbnailer
ODP / ODS / ODT e altri file LibreOffice e Open Office
Panoramica
Descrizione: ooo-thumbnailer è un thumbnailer di documenti LibreOffice, OpenOffice.org e Microsoft Office che può essere utilizzato da Nautilus per creare miniature per documenti, fogli di calcolo, presentazioni e disegni.
Disponibilità : sviluppatore PPA (versione più recente compatibile con LibreOffice in Ubuntu 12.04 e versioni successive)
Installazione
sudo add-apt-repository ppa:flimm/ooo-thumbnailer && apt-get update && apt-get install ooo-thumbnailer
.xpm
immagini? Ho pensato che fossero "standard" comepng
,jpg
ebmp
, ma Nautilus non genera anteprime per loro.