前提
操作系统:Ubuntu 20.04.2
桌面环境:Gnome 3
gnome-shell --版本:3.36.7
在正常情况下,我不愿意过于频繁地重新生成缩略图,以便为我的 SSD 节省一些使用寿命。
org.gnome.desktop.thumbnail-cache maximum-size: -1
org.gnome.desktop.thumbnail-cache maximum-age: 275
我的缩略图目录:~/.cache/thumbnails/large/
包含大约 37000 个项目,总计 2.3GB。
该目录(以及我的用户主目录)所在的分区有 16GB 的可用空间。
最近我安装 Thunar 以查看更大尺寸的缩略图比 Nautilus 中呈现的要多。
(我已经在标准推荐方式对于 Gnome 桌面sudo apt install thunar
:)
滚筒问题
- 缩略图通常不是首选的 256px 宽度尺寸,而是生成并以各种(小得多的)尺寸呈现. (通过 .jpg 图像观察)
- 缩略图可以最终“未完成”,其底部区域仍然被深灰色条纹阻挡(好像位图数据的处理在中途被放弃)。(使用 .png 图像观察)
- 有时是横向还是纵向方向不正确。
在我看来,所有这些都表现为某种竞争条件。如果当前保存图像的文件夹在 Thunar 中打开,则这种情况发生的频率会更高。
我的首要任务是解决第一件事情,即尺寸问题。
在我看来,尺寸问题仅影响 .jpg而不是.png。
据我发现,较小尺寸的缩略图在物理上也小于 256px ~/.cache/thumbnails/large/
。
有时,在 Thunar 中打开文件夹并保存/批量重命名文件时,我可以看到一个较小尺寸的缩略图出现一瞬间,然后被替换为正确的尺寸。但这种情况只发生在少数文件中,而大多数文件保持不变(太小)。
解决方法
什么不起作用:
- 使用以下方法刷新 Thunar 中的视图
ctrl+R
- 我见过此主题。
- 跨文件夹移动图像
什么有效仅有时/在某种程度上:
- 右键单击 Thunar 中的图像并打开其“属性”对话框有时 — 但总体而言很少— 触发重新生成正确尺寸的缩略图。
- 删除最新的缩略图,
~/.cache/thumbnails/large/
然后使用 Nautilus 设置为最大缩略图视图模式访问包含的文件夹,可以改善情况。- (但是,在 Thunar 中,只有不到 100% 的缩略图符合正确的尺寸,即使如此,还是有少数缩略图的尺寸更小。)
- 重命名图像文件。
- 这提供了一个干净的开始,但仍然不能保证 100% 的情况都正确。
关于删除内容~/.cache/thumbnails/
删除缩略图缓存的内容会很有吸引力只有当它能保证新的缩略图尺寸合适。
但这似乎并不能保证。通过部分删除(例如最近的几百张缩略图)发现,新生成的集合仍会受到相同大小问题的影响。tumbler
需要先修复;然后我就可以清空缩略图缓存了。
基本上,我希望看到所有新缩略图都以正确的尺寸生成;然后我可以追溯性地修复旧缩略图(通过删除它们)。
怎么修?
通过一些配置、调整 tumblerd 能实现什么吗?相应的配置位于哪里?
还有其他技巧或解决方法吗?
答案1
解决方案 TLDR;
如果您发现您有一个用于 tumbler 的 [PixbufThumbnailer] 插件,那么您可以禁用 [JPEGThumbnailer]。
jpg 缩略图尺寸偏差的明显原因:
这两个缩略图插件似乎是多余的,甚至在生成缩略图时似乎相互竞争。
提示位于本文档:
JPEG 缩略图
还需要那个插件吗?Pixbuf-thumbnailer 也支持 jpeg。这个插件速度更快吗?
Pixbuf-缩略图
支持 ani、bmp、GdkPixdata、gif、icns、ico、jpeg、png、pnm、qtif、svg、tga、tiff、wmf、xbm、xpm
怎么修:
编辑/etc/xdg/tumbler/tumbler.rc
,并找到该块:
# Jpeg thumbnailer (from exif data if possible)
[JPEGThumbnailer]
Disabled=false
Priority=3
Locations=
MaxFileSize=209715200
并按如下方式设置值:Disabled=true
。
要使更改生效,请停止tumblerd
系统监视器中的进程(它将根据需要自动重新启动),或注销并重新登录,或重新启动。
之后,将生成新的 jpeg 缩略图
- 尺寸合适,
- 正确的纵向和横向方向,
尽管明显比以前慢了。
(之后,只有一小部分.pdf缩略图将因小于配置的尺寸而受到影响;我还没有找到解决这个问题的方法。)
为了修复所有之前生成的 .jpg 缩略图,需要触发所有缩略图的重新生成。这可以通过清空缩略图缓存来实现:
rm ~/.cache/thumbnails/ -rf
之后,请耐心等待:此后您访问的每个包含图像的目录都将开始重新生成其中的缩略图;虽然不有趣,但值得。