2022年5月26日
表示できるサムネイル画像の削除
Nautilus で表示されるサムネイル画像 (png) は
~/.thumbnails/normal
に保存されています。不要になったり再作成する必要があるときは、この中の画像ファイルを削除します。
表示できないサムネイル画像の再作成
たまにサムネイル画像の作成に失敗しますが、それは
~/.thumbnails/fail/gnome-thumbnail-factory
に入ってます。この中の該当画像(分からなければ全て)を削除しない限り、再作成はされないようです。
サムネイル画像のファイル名
いずれのフォルダの中も「サムネイル画像のファイル名」からは、「元データのファイル名」を直接知ることはできません。ですが逆に「元データのファイル名」から「サムネイル画像のファイル名」を知ることはできます。
例えば元データが
~/Desktop/abc.jpg
の場合、サムネイル画像のファイル名は
$ echo -n "file:///home/username/Desktop/abc.jpg" | md5sum
1233f5db0e8416d30861275ad3a703c6 -
というように、パスを展開し、先頭に
file://
を付けた文字列の md5 値、となっています。(
echo
の
-n
は、文字列の最後に改行を付けないためのオプションです。)
文字列中に日本語が入る場合は適当にエンコード(後述)する必要があり、
file://
の部分は接続の仕方によっては
smb://
などになることもあるようです。
また、各サムネイル画像ファイルの中には、
tEXtThumb::URI
タグの中に md5 をとる前の文字列が記載されています。
日数やサイズの上限を決める
日数の上限は
$ gconftool-2 --set /desktop/gnome-thumbnail_cache/maximum_age 180 --type int # 日数
サイズの上限は
$ gconftool-2 --set /desktop/gnome-thumbnail_cache/maximum_size 512 --type int # サイズ (MByte)
で指定可能です。
いずれも -1 を指定した場合はその機能をオフにできます。
追記 2018-10-25:適当にエンコード
Python で書けばこんな感じです。
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
def to_uri(filename):
# [0-9A-Za-z._~i-] glib/g_string.c:is_valid()
# !$&'()*+,;=:@ glib/gurifuncs.h:G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT
# / gio/glocalfile.c:g_local_file_get_parse_name
unescape_chars = \
"0123456789" + \
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + \
"abcdefghijklmnopqrstuvwxyz" + \
"-._~!$&'()*+,;=:@/"
s = ""
for ch in filename:
if ch in unescape_chars:
s += ch
else:
s += "%%%02X" % (ord(ch))
return s
sys.stdout.write(to_uri(sys.argv[1]))
実行例はこうなります。
$ to_uri.py file:///tmp/てすと.jpg
file:///tmp/%E3%81%A6%E3%81%99%E3%81%A8.jpg
$ to_uri.py file:///tmp/てすと.jpg | md5sum
a2e7037ce9e0c953dc52b45d42fa6b32 -