Quels miniatures supplémentaires sont disponibles et comment les installer?

9

Question :

Le gestionnaire de fichiers d'Ubuntu Nautilus, est livré avec un large support pour les aperçus de fichiers. Ces vignettes sont gérées par des programmes d'assistance appelés vignettes.

Le nombre de vignettes préinstallées avec Ubuntu est limité et donc certains types de fichiers plus exotiques ne sont pas rendus par défaut.

Quels miniatures supplémentaires puis-je installer pour activer les aperçus dans ces cas?


Questions et réponses connexes :

Comment puis-je demander à Nautilus de pré-générer des vignettes?


Remarque :

N'hésitez pas à contribuer à cette liste en modifiant la réponse du wiki communautaire. Si vous le faites, veuillez suivre les directives de cette discussion Meta et utiliser le modèle préexistant pour garder la réponse cohérente.

Glutanimate
la source

Réponses:

11

Instructions générales d'installation


Vignettes dans les référentiels et les PPA

Un certain nombre de vignettes sont pré-packagées et peuvent être facilement installées à partir du centre logiciel ou de la ligne de commande. Ces vignettes ne nécessitent aucune configuration supplémentaire et devraient fonctionner juste après le redémarrage de nautilus. Vous pouvez le faire avec:

nautilus -q 

Veuillez lire ces Q&R avant d'installer quoi que ce soit à partir d'un PPA:

Que sont les AAE et comment les utiliser?

Les PPA sont-ils sûrs à ajouter à mon système et quels sont les "drapeaux rouges" à surveiller?

Scripts de miniatures personnalisés sur Ubuntu 11.04 et supérieur

Les vignettes personnalisées qui ne sont pas disponibles dans les référentiels doivent être installées manuellement. Voici les étapes à suivre pour les installer:

Vérifiez si le script a des dépendances répertoriées. Si c'est le cas, installez-les d'abord.

Téléchargez le script et rendez-le exécutable avec chmod a+x filethumbnailerou via Nautilus

Désignez un dossier dans votre système de fichiers pour tous les futurs vignettes et déplacez-y le script, par exemple

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

Vous devrez ensuite enregistrer votre script auprès de Nautilus . Pour ce faire, créez une entrée de miniature dans /usr/share/thumbnailers. L'entrée doit suivre le schéma de nommage foo.thumbnailerfooest l'expression de votre choix (ici file):

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

Les spécifications de la vignette suivent ce schéma:

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

L' Execentrée pointe vers votre script de miniature tandis que le MimeTypechamp désigne les MimeTypes associés. Les variables possibles sont:

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

Les spécifications et les variables varient avec chaque script. Copiez et collez simplement le contenu de la zone de texte correspondante dans le fichier et enregistrez-le.

Les vignettes doivent être opérationnelles après le redémarrage de nautilus ( nautilus -q).

Scripts de miniatures personnalisés sur Ubuntu 11.04 et inférieurs

Les versions antérieures d'Ubuntu s'appuient sur GConf pour les associations de vignettes. Voir ici pour plus d'informations.


Sources :

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



Vignettes par type de fichier


Fichiers CHM

Aperçu

Description : Avec ce script, vous obtiendrez des miniatures de vos fichiers chm dans le gestionnaire de fichiers nautilus. Le script utilise la plus grande image de la page d'accueil du fichier chm pour générer la miniature, généralement ce sera une image de la couverture.

Créateur : monraaf ( http://ubuntuforums.org/showthread.php?t=1159569 )

Dépendances :sudo apt-get install python-beautifulsoup python-chm imagemagick

Entrée de vignette

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

Scénario

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

Fichiers EPUB

Aperçu

Description : epub-thumbnailer est un script simple qui essaie de trouver une couverture dans un fichier epub et crée une miniature pour celui-ci.

Créateur : Mariano Simone ( https://github.com/marianosimone/epub-thumbnailer )

Dépendances : aucune répertoriée, a bien fonctionné tout de suite

Entrée de vignette

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

Scénario

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

Fichiers EXE

Aperçu

Description : gnome-exe-thumbnailer est une vignette pour Gnome qui donnera aux fichiers Windows .exe une icône basée sur leur icône intégrée et une icône générique "Wine program". Si le programme dispose d'autorisations d'exécution normales, l'icône intégrée standard s'affiche. Cette vignette donnera également une icône de vignette pour les programmes exécutables .jar, .py et similaires.

Disponibilité : référentiels officiels

Installation

sudo apt-get install gnome-exe-thumbnailer

ODP / ODS / ODT et autres fichiers LibreOffice et Open Office

Aperçu

Description: ooo-thumbnailer est un imageur de documents LibreOffice, OpenOffice.org et Microsoft Office qui peut être utilisé par Nautilus pour créer des vignettes pour vos documents, feuilles de calcul, présentations et dessins.

Disponibilité : PPA du développeur (la version la plus récente compatible avec LibreOffice dans Ubuntu 12.04 et plus)

Installation

sudo add-apt-repository ppa:flimm/ooo-thumbnailer && apt-get update && apt-get install ooo-thumbnailer
Glutanimate
la source
Et les .xpmimages? J'ai supposé qu'ils étaient aussi "standard" que png, jpget bmp, mais Nautilus ne génère pas d'aperçus pour eux.
MestreLion
Les fichiers d'image XPM me conviennent
parfaitement
1
peu importe, j'ai découvert qu'il ne peut pas gérer les fichiers avec des commentaires avant l'en- /* XPM */tête, même s'ils les eogaffichent bien
MestreLion
Je pense que vous pouvez trouver le mimetype du fichier en utilisantfile -i FILE
Wilf
1

Fichiers ICNS (icônes Mac OSX)

Aperçu

Nautilus ne génère pas de vignettes pour les icônes Mac OSX en raison de certains bugs , mais la prise en charge est intégrée GdkPixbuf.

Scénario

Il s'agit d'un script de base pour générer des vignettes pour les .icnsfichiers. Une version plus robuste peut être trouvée sur 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', [], [])

Installer

Un script d'installation, ainsi que le .thumbnailerfichier pour Nautilus, sont disponibles dans le référentiel de projet icns-thumbnailer

MestreLion
la source