web-dev-qa-db-ja.com

Shotwellですべてのサムネイルを再生成するにはどうすればよいですか?

何らかの未知の理由により、すべてのサムネイルがShotwellで失われ、代わりにすべてのアイコンが灰色になります。画像自体はすべて大丈夫で、Shotwellですべて開くことができます。

.shotwell/thumbs/には空のフォルダーしかないため、サムネイルはまったく生成されないようです。

また、何も変更せずにShotwellを(最初にパージして)再インストールしようとしました。

Shotwellですべてのサムネイルを再生成するにはどうすればよいですか?

15
hultqvist

このシェルスクリプトは、サイズが128pxおよび360pxのサムネイルを再生成するため、ビューアーには少なくとも何かが表示されます。

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

Shotwellがサムネイルを再生成する簡単な方法(これは回避策です):

  1. 写真ページに移動します。
  2. 編集-> すべて選択
  3. Ctrl+R (回転)
  4. 回転が終了したら、 Ctrl+Z (元に戻す)。

これにより、Shotwellはすべての写真を再生成し、保存されたすべての変換を尊重します。

Phqが述べたように、これを修正するには未解決のバグがあるため、この回避策は必要ありません。それまでは、これがこの問題を解決するための推奨される方法です。上記のスクリプトはnot変換を尊重します。つまり、サムネイルがShotwellの写真のように見えない可能性があります。

7
Jim Nelson

UpdateShotwellを使用すると、手動で表示したときに0.18個のサムネイルが生成されるようになりました。

.shotwell/thumbsを削除しないでください!

ランチパッドの このバグ によると、サムネイルはインポート時にのみ生成されます。

サムネイルはインポート時にのみ生成されます。サムネイルがディスクから削除された場合、それらは再生成されません。

5
hultqvist

この回答で指定されたシェルスクリプト を使用しましたが、生成するサムネイルは約22000個あります。

~/.shotwell(これは私が持っているもの)の代わりに~/.local/shotwellを使用し、プロセッサと同じ数のコアを使用しています(私の場合は8倍高速です)。

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

Ubuntu 12.10のShotwellバージョン0.13.11のサムネイルは、.shotwell/thumbsに配置されることはもはやないように見えますが、現在は.cache/shotwellに配置されています。親指ではなく写真にアクセスできると、親指が灰色になる場合があります。

3
Ludovic Cheron

バージョン0.26.3(2017年11月現在)の場合、Shotwellを閉じた状態で、サムネイルを削除するだけです

  • /home/ser_name/.cache/shotwell/thumbs/thumbs128および
  • /home/ser_name/.cache/shotwell/thumbs/thumbs360

そして、再びショットウェルを起動します。

1