使用 WebP GDK Pixbuf 加载程序库在 GTK 应用程序(Nautilus、Thunar 等)中显示 WebP 缩略图

我一直在寻找一种在 GTK 应用程序(尤其是 Nautilus / GNOME 文件)中获取 WebP 图像缩略图的方法,但是直到我发现未知的 WebP GDK Pixbuf Loader 库之前,我发现的大多数解决方案都是“hacky”。所以我想我会在 Linux Uprising 中写下它,以防你们中的一些人也对此感兴趣。

该库/WebP 缩略图目前仅支持静态 WebP 图像,但仍有工作要做以添加对动画 WebP 图像缩略图的支持。

安装 WebP GDK Pixbuf Loader 库以获取 GTK 应用程序中 WebP 图像的缩略图

该库已经打包并在 Fedora、Arch Linux / Manjaro、openSUSE Tumbleweed 等上可用。在这些情况下,您可以从存储库安装它。 它在 Debian / Ubuntu 存储库中不可用,因此如果您正在使用它,则需要从源代码构建它(本页下方的步骤)。

安装在 Fedora、Arch Linux/Manjaro 或 openSUSETumbleweed 上。

  • 软呢帽:
sudo dnf install webp-pixbuf-loader

  • Arch Linux / Manjaro:
sudo pacman -S webp-pixbuf-loader

  • openSUSE 风滚草:
sudo zypper install webp-pixbuf-loader

要在 Debian / Ubuntu(和 Pop!_OS、Linux Mint、Elementary OS 等)上安装,您需要从源代码构建。首先安装构建依赖项。

sudo apt install libwebp-dev libgdk-pixbuf2.0-dev meson build-essential

然后下载最新的webp-pixbuf-loader .tar.gz 从发布页面存档并提取存档。然后打开一个终端,导航到您解压缩存档的文件夹,并使用以下三个命令来构建和安装存档。

meson builddir -Dgdk_pixbuf_query_loaders_path=/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders

ninja -C builddir

sudo ninja -C builddir install

当我在 Ubuntu(也可能是 Debian)上安装 webp-pixbuf-loader 时,缩略图文件位于错误的位置。 gdk-pixbuf-thumbnailer..要修复它,它需要更换 /usr/local/bin/gdk-pixbuf-thumbnailer 什么时候 /usr/bin/gdk-pixbuf-thumbnailer/usr/local/share/thumbnailers/webp-pixbuf.thumbnailer (两种情况)。这可以手动完成,也可以使用以下命令完成(这是一个命令,在一行上单击三次以选择它)。

sudo sed -i 's//usr/local/bin/gdk-pixbuf-thumbnailer//usr/bin/gdk-pixbuf-thumbnailer/g' /usr/local/share/thumbnailers/webp-pixbuf.thumbnailer

让我们试试这个! 打开一个 GTK 应用程序,例如 Nautilus 或 Thunar。确保它尚未运行。关闭所有实例并重新打开它们(如果它们已经在运行)。例如,如果您使用 Nautilus 或 Thunar,您可以运行它来终止所有实例。 nautilus -qthunar -q..

然后转到包含静态 WebP 图像的文件夹。如果您愿意,您可以使用此 Wikipedia 图片(来源)进行测试。您将看到未动画的 WebP 图像的缩略图。

如果您没有看到 WebP 图像的缩略图,请尝试清除缩略图缓存(这将删除所有缩略图,您需要重新生成它们)。

rm ~/.cache/thumbnails/fail/gnome-thumbnail-factory/*.png

rm ~/.cache/thumbnails/normal/*.png

rm ~/.cache/thumbnails/large/*.png