Como faço a Shotwell regenerar todas as miniaturas?

15

Por alguma razão desconhecida, todas as miniaturas estão perdidas no meu Shotwell, em vez disso, todos os ícones são cinzentos. As próprias imagens estão bem e eu posso abri-las todas em Shotwell.

Existem apenas pastas vazias em .shotwell/thumbs/ , então parece que as miniaturas não são geradas.

Eu também tentei reinstalar o Shotwell (limpando-o primeiro) sem qualquer alteração.

Como faço a Shotwell regenerar todas as miniaturas?

    
por hultqvist 26.11.2010 / 20:46

6 respostas

15

Esse script de shell gerará suas miniaturas de tamanhos de 128px e 360px para que você veja pelo menos algo no visualizador.

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
    
por lkp 24.03.2011 / 18:11
7

Uma maneira fácil de Shotwell regenerar miniaturas (isso é uma solução alternativa):

  1. Vá para sua página Fotos.
  2. Editar - > Selecione todos
  3. Ctrl + R (girar)
  4. Quando terminar de girar, Ctrl + Z (desfazer).

Isso vai forçar Shotwell a regenerar todas as fotos e honrar todas as transformações que armazenou para elas.

Como o phq mencionou, há um bug excelente para corrigir isso, portanto, você não precisará desta solução alternativa. Até lá, essa é a maneira recomendada de resolver esse problema. O script publicado acima não honra as transformações, o que significa que é possível que as suas miniaturas não se pareçam com as suas fotos em Shotwell.

    
por Jim Nelson 27.02.2012 / 19:37
5

Eu usei apenas o script de shell fornecido nesta resposta , mas tenho cerca de 22.000 miniaturas para gerar.

Então aqui está uma versão bash deste script, usando ~/.shotwell ao invés de ~/.local/shotwell (que é o que eu tenho) e usando tantos núcleos quanto o meu processador tem (8 vezes mais rápido no meu caso!):

#!/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
    
por Benjamin Sonntag 03.07.2014 / 13:01
5

Atualizar Com as miniaturas shotwell 0,18 agora são geradas quando visualizadas manualmente.

Não remova .shotwell / thumbs!

De acordo com este bug no launchpad, as miniaturas só são geradas na importação.

As miniaturas são geradas apenas na importação. Se as miniaturas forem removidas do disco, elas não serão geradas novamente.

    
por hultqvist 01.12.2010 / 14:19
3

Shotwell version 0.13.11 no Ubuntu 12.10 As miniaturas parecem não estar localizadas em .shotwell / thumbs mas agora em .cache / shotwell Você pode verificar se o usuário tem todos os direitos para ler os polegares. Ter acesso a fotos, mas não a polegares, pode causar polegares cinzentos.

    
por Ludovic Cheron 15.04.2013 / 21:35
0

Para a versão 0.26.3 (atualizada a partir de novembro de 2017), com o Shotwell fechado, basta excluir as miniaturas em

  • / home / nome_do_usuário /. cache / shotwell / thumbs / thumbs128 e em
  • / home / nome_do_usuário /. cache / shotwell / thumbs / thumbs360

e inicie Shotwell novamente.

    
por nutty about natty 23.11.2017 / 21:36