web-dev-qa-db-fra.com

Comment faire en sorte que Shotwell régénère toutes les vignettes?

Pour une raison inconnue, toutes les vignettes sont perdues dans mon Shotwell, toutes les icônes sont grises. Les images elles-mêmes sont toutes correctes et je peux toutes les ouvrir dans Shotwell.

Il n'y a que des dossiers vides dans .shotwell/thumbs/ donc il semble que les vignettes ne soient pas générées du tout.

J'ai également essayé de réinstaller Shotwell (en le purgeant d'abord) sans aucun changement.

Comment faire en sorte que Shotwell régénère toutes les vignettes?

15
hultqvist

Ce script Shell régénérera vos vignettes de tailles 128px et 360px afin que vous puissiez voir au moins quelque chose dans le visualiseur.

sqlite3 ~/.local/share/shotwell/data/photo.db \
  "select id||' '||filename from PhotoTable order by timestamp desc" | 
  while read id filename; do
    for size in 128 360; do
      tf=$(printf ~/.cache/shotwell/thumbs/thumbs${size}/thumb%016x.jpg $id);
      test -e "$tf" ||  {
        echo -n "Generating thumb for $filename ($tf)";
        convert "$filename" -auto-orient -thumbnail ${size}x${size} $tf
        echo
      }
    done
  done
14
lkp

Un moyen facile pour Shotwell de régénérer les vignettes (il s’agit d’une solution de contournement):

  1. Allez sur votre page de photos.
  2. Éditer -> Tout sélectionner
  3. Ctrl+R (tourner)
  4. Une fois la rotation terminée, Ctrl+Z (annuler).

Cela forcera Shotwell à régénérer toutes les photos et à honorer toutes les transformations stockées pour elles.

Comme mentionné par phq, il existe un bogue important pour résoudre ce problème, vous n'avez donc pas besoin de cette solution de contournement. Jusque-là, c'est le moyen recommandé de résoudre ce problème. Le script affiché ci-dessus respectera pas les transformations, ce qui signifie que vos vignettes peuvent ne pas ressembler à vos photos dans Shotwell.

7
Jim Nelson

Mise à jour Avec Shotwell 0.18, les vignettes sont maintenant générées lors de l'affichage manuel.

Ne supprimez pas .shotwell/thumbs!

Selon ce bogue dans le tableau de bord, les vignettes ne sont générées qu'à l'importation.

Les miniatures ne sont générées qu'à l'importation. Si les vignettes sont supprimées du disque, elles ne sont pas régénérées.

5
hultqvist

Je viens d'utiliser le script shell donné dans cette réponse , mais j'ai environ 22 000 miniatures à générer.

Voici donc une version bash de ce script, utilisant ~/.shotwell à la place de ~/.local/shotwell (ce qui est ce que j'ai) et utilisant autant de cœurs que mon processeur en a (8 fois plus rapide dans mon cas!):

#!/bin/bash

# under linux, use this to launch as many convert as your processor core number
#MAX_PROCESSES=`cat /proc/cpuinfo |grep ^processor | wc -l`
# or use a static value
MAX_PROCESSES=4

sqlite3 ~/.shotwell/data/photo.db "select id||' '||filename from PhotoTable order by timestamp desc" | 
  while read id filename; do
      for size in 128 360; do
      tf=$(printf ~/.shotwell/thumbs/thumbs${size}/thumb%016x.jpg $id);
      test -e "$tf" ||  {
              echo "Generating thumb for $filename ($tf)";
              convert "$filename" -auto-orient -thumbnail ${size}x${size} $tf &
          RUNNING="`jobs -p |wc -l`"
          while [ "$RUNNING" -ge "$MAX_PROCESSES" ]
          do
          sleep 0.3
          RUNNING="`jobs -p |wc -l`"
          done
      }
      done
  done
5
Benjamin Sonntag

Shotwell version 0.13.11 sur Ubuntu 12.10 Les miniatures ne semblent plus être situées dans .shotwell/thumbs mais maintenant dans .cache/shotwell Vous pouvez vérifier que l'utilisateur a les droits complets pour lire les pouces. Avoir accès aux images mais pas aux pouces peut donner des pouces gris.

3
Ludovic Cheron

Pour la version 0.26.3 (mise à jour en novembre 2017), avec Shotwell fermé, supprimez les miniatures dans

  • /home/ser_name/.cache/shotwell/thumbs/thumbs128 et dans
  • /home/ser_name/.cache/shotwell/thumbs/thumbs360

et enflammez Shotwell, encore.

1
nutty about natty