Я довго шукав спосіб отримання мініатюр зображень WebP в додатках GTK (особливо Nautilus / GNOME Files), і більшість рішень, які я знайшов, були “халтурними”, поки я не знайшов невідому бібліотеку WebP GDK Pixbuf Loader. Тому я вирішив написати про неї, на випадок, якщо деякі з вас також зацікавлені в цьому.
Ця бібліотека / WebP thumbnailer нині підтримує тільки статичні WebP зображення, але є робота по додаванню підтримки анімованих мініатюр WebP зображень.
Встановіть бібліотеку WebP GDK Pixbuf Loader для отримання ескізів зображень WebP в додатках GTK.
Бібліотека вже упакована і доступна в Fedora, Arch Linux / Manjaro, openSUSE Tumbleweed і інших, тому в цих випадках ви можете встановити її з репозиторіїв. Вона недоступна в репозиторіях Debian / Ubuntu, тому в разі, якщо ви використовуєте саме їх, вам потрібно зібрати її з вихідного коду (інструкції трохи нижче на цій сторінці).
Встановіть її в Fedora, Arch Linux / Manjaro або openSUSE Tumbleweed:
Fedora:
sudo dnf install webp-pixbuf-loader
Arch Linux / Manjaro:
sudo pacman -S webp-pixbuf-loader
openSUSE Tumbleweed:
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
При установці webp-pixbuf-loader в Ubuntu (і, ймовірно, в Debian теж), файл thumbnailer має неправильне розташування 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 -q або thunar -q.
Далі перейдіть в теку, яка містить статичні WebP-зображення. Якщо хочете, можете використовувати для тестування це зображення з Вікіпедії (джерело). Тепер ви повинні побачити мініатюри не анімованих WebP-зображень.
Якщо ви не бачите ескізів WebP-зображень, спробуйте очистити кеш ескізів (при цьому всі ескізи будуть видалені, і їх доведеться створювати заново):
rm ~/.cache/thumbnails/fail/gnome-thumbnail-factory/*.png
rm ~/.cache/thumbnails/normal/*.png
rm ~/.cache/thumbnails/large/*.png