Comment régénérer une vignette spécifique dans Nautilus?


9

Parfois, je recadre des PDF afin d'avoir une lecture d'une page au lieu de deux pages numérisées. Cependant, nautilus conserve une ancienne vignette montrant l'ancienne page de garde.

Je sais que je peux supprimer le dossier des vignettes masquées, mais j'aimerais savoir comment puis-je régénérer une seule vignette spécifique. F5 n'aide pas.


1
J'ai utilisé l'astuce pour aller en ligne de commande et faire un mv file newfile, attendez un peu et mv newfile file. Travaillait.
Rmano

Réponses:


8

Selon la documentation de freedesktop Thumbnail Managing Standard . Vous pouvez forcer nautilus à recréer la vignette si le mtime (heure de modification) dans la vignette est inférieur au mtime dans le fichier d'origine.

  1. Détecter les modifications

Une chose importante est de s'assurer que l'image miniature affiche les mêmes informations que l'original, uniquement dans une version réduite. Pour rendre cela possible, nous utilisons l'heure de modification stockée dans la clé 'Thumb :: MTime' requise et vérifions si elle est égale à l'heure de modification actuelle de l'original. Sinon, nous devons recréer la vignette.

Exemple 2. Algorithme pour vérifier les modifications.

if (file.mtime! = thumb.MTime) {recreate_thumbnail (); }

Il ne suffit pas d'effectuer une vérification file.mtime> thumb.MTime. Si l'utilisateur déplace> un autre fichier sur l'original, où le mtime change mais est en fait inférieur au> mtime stocké en miniature, nous ne reconnaîtrons pas cette modification.

Pour y parvenir ... vous pouvez essayer avec un petit Nautilus-Script de régler le mtime dans le fichier d'origine à l'heure actuelle avec la commande tactile .

1) Création du script. Ouvrez une fenêtre de terminal Ctrl+ Alt+ Tet tapez:

Pour Ubuntu 12.04 et 12.10

  • nano ~/.gnome2/nautilus-scripts/Regenerate-Thumbnail

Pour Ubuntu 13.04 et supérieur

  • nano ~/.local/share/nautilus/scripts/Regenerate-Thumbnail

2) Le contenu du script.

#!/bin/bash

BAKIFS=$IFS
IFS=$'\n'

for FILE in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
      touch -m "$FILE"
done

IFS=$BAKIFS

Pour enregistrer les modifications dans nano .. Ctrl+ O, Enterpuis Ctrl+ X.

3) Pour rendre le script exécutable.

Pour Ubuntu 12.04 et 12.10

  • chmod +x ~/.gnome2/nautilus-scripts/Regenerate-Thumbnail

Pour Ubuntu 13.04 et supérieur

  • chmod +x ~/.local/share/nautilus/scripts/Regenerate-Thumbnail

4) Pour tester le script, vous pouvez ouvrir nautilus, sélectionnez un ou plusieurs fichiers, faites un clic droit et allez dans Scripts> Regenerate-Thumbnail .

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

J'espère que cela t'aides.


4

Je sais que c'est une vieille question, mais ... parfois les vignettes se bloquent et aucun truc avec touch -mou ne le mvfait se régénérer.

Écrivez ce script simple (grâce à cette réponse ), appelons-le find-gnome-thumbnail:

#! /bin/bash 
#
fn=$(echo -n "$1" | md5sum | awk '{print $1}')
find $HOME/.cache/ -name "$fn*" 2> /dev/null

et le nourrir avec le nom canonique du fichier dont vous souhaitez déterminer l'emplacement de la vignette. La meilleure façon de le faire est de sélectionner le fichier dans nautilus, do ctrlCet dans une écriture terminale find-gnome-thumbnail '(avec l'espace et le guillemet simple d'ouverture) et ensuite shiftctrlV; ajoutez le devis de clôture et vous aurez quelque chose comme ceci:

 % ./find-gnome-thumbnail 'file:///home/romano/tmp/0101_IM_3026506.pdf' 
/home/romano/.cache/thumbnails/large/d090cf90d2ac3f8127f62043f06b66df.png

Vous pouvez maintenant supprimer la vignette incriminée et elle sera régénérée (appuyez sur F5 si cela ne se produit pas seul). L'astuce copier-coller s'occupe des conversions de caractères étranges:

 % ./find-gnome-thumbnail 'file:///home/romano/tmp/lalla%20(copy).pdf'
 /home/romano/.cache/thumbnails/large/28864dd40fab6d4982e1b103365574da.png

Parfois, le script échoue si vous renommez le fichier avec mv, je ne sais pas pourquoi --- mais c'est ok la plupart du temps. De plus, la suppression manuelle de la vignette ne la régénère pas immédiatement --- encore une fois, je suis perdu ici.


2

J'ai un script que j'utilise (auteur inconnu) appelé Auto Thumbnailer qui fonctionne très bien pour cela. Je l'ai dans un paquet de scripts que j'ai obtenu ici

et installé dans / usr / share / nautilus-scripts / J'ai également installé le gestionnaire de scripts Nautilus pour ne pas avoir à les voir tous dans le menu des scripts lorsque je clique avec le bouton droit sur une icône, juste celles que j'utilise.


0

Réponse simplifiée (basée sur @Roman Raguet)

  1. Terminal ouvert
  2. Accédez au dossier où se trouvent vos fichiers, par exemple, /home/me/myimages
  3. Exécuter touch -m

    • Soit vers un seul fichier, par exemple, touch -m myfile.jpg
    • Ou à tous les fichiers, touch -m *

Maintenant, les vignettes doivent être régénérées dans votre nautile.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.