自定义缩略图不适用于 Ubuntu 18.10 和 18.04

Sas*_*mAL 8 gnome nautilus thumbnails 18.04 18.10

最近我在 Nautilus 中有一堆自己的缩略图脚本:WebP 预览声音波形、办公文档等等。

似乎我做错了什么(缩略图生成行为发生了变化),或者自定义缩略图在最新的 GNOME 中根本不起作用,即使是我以前的脚本,在以前版本的 Ubuntu 上也能顺利运行。

我做了一些研究,试图运行一个简单的脚本(见下文),但没有成功。

我的测试缩略图/usr/share/thumbnailers/z.thumbnailer

[Thumbnailer Entry]
Exec=/home/maximal/thumb.sh %s %i %u %o
MimeType=image/webp;image/x-webp
Run Code Online (Sandbox Code Playgroud)

在哪里/home/maximal/thumb.sh

#!/bin/bash
echo $0 >> /home/maximal/thumb.log
echo $1 >> /home/maximal/thumb.log
echo $2 >> /home/maximal/thumb.log
echo $3 >> /home/maximal/thumb.log
echo $4 >> /home/maximal/thumb.log
Run Code Online (Sandbox Code Playgroud)

然后,当我删除缩略图缓存rm -rf ~/.cache/thumbnails并重新启动 Nautilus 时nautilus -q,我的日志文件不包含任何内容并~/.cache/thumbnails/fail/gnome-thumbnail-factory包含所有失败的缩略图(看起来像损坏/空的 PNG):

失败的缩略图文件

因此,显然,Nautilus 甚至没有尝试执行我的缩略图脚本。当我尝试自己运行拇指命令时,它运行良好。例如convert通过cwebp|dwebp包:

convert -thumbnail 256x256 file.webp png:file.webp.png
Run Code Online (Sandbox Code Playgroud)

当我将此命令包装到缩略图时,看起来 Nautilus 甚至没有要求运行它。

[Thumbnailer Entry]
Exec=convert -thumbnail %sx%s %i png:%o
MimeType=image/webp;image/x-webp;
Run Code Online (Sandbox Code Playgroud)

我的其他缩略图也发生了完全相同的情况:音频波形、办公文档、photoshop 文件等。

有人可以帮忙吗?

小智 7

我使用的是 18.04,但在 2018.11.28 更新后我遇到了同样的问题。它是由带有气泡包装的沙盒缩略图引起的(我花了 2 天的时间研究!!!)。

所以我降级gnome-desktop3-datagir1.2-gnomedesktop-3.0libgnome-desktop-3-17(不知道是否所有3个需要),然后去除气泡布。

这是一个肮脏的黑客,它削弱了安全性,但我不在乎......

也许在 18.10 上就不那么容易了。

我希望有人能写出更好的解决方案...

  • 哇!你做了很好的研究。我已经花了几天的时间,但没有弄清楚问题所在。 (2认同)

Nic*_*rts 7

我的一些外部缩略图也遇到了同样的问题。

经过一些研究,我意识到由于/bin/sbin上的--symlink选项,bubblewarp 调用在基于 Ubuntu 和 Debian 的发行版下失败。事实上,在这些发行版下, /bin 和 /usr/bin 并没有合并。因此,两者都应使用--ro-bind而不是 --symlink 声明。

要使Nautilus 的bwrap调用在 Ubuntu 下工作,您需要将 --symlink 调用替换为 /bin 和 /sbin 的 --ro-bind 调用

要使用 imagemagick 工具解决缩略图的速度问题,您还需要为 /etc/alternatives 和 /var/cache/fontconfig 添加 --ro-bind

因此,最简单的解决方案是在/usr/local/bin/bwrap下放置一个包装脚本,它将完成这项工作,然后调用原始的 /usr/bin/bwrap。由于 /usr/local/bin 在 PATH 中的 /usr/bin 之前,它对 Nautilus 是透明的。

包装脚本可在我的Github 存储库中找到

我写了一篇小文章来解释所有细节并提供包装器脚本安装说明。已在 18.04 和 18.10 下测试

http://bernaerts.dyndns.org/linux/360-ubuntu-nautilus-external-thumbnailer-failure

希望能帮助到你