如何为 GNOME 之眼添加 WebP 支持

Pab*_*chi 5 eog webp

WebP图像文件在网络上变得越来越普遍。GNOME 之眼 (eog)不支持开箱即用有些浏览器可以,而 imagemagick只是安装了 webp ( convert -list format)。

一个简单的搜索就可以让您找到webp-pixbuf-loader,但对于初学者来说可能并不那么容易。

参考

Pab*_*chi 22

2023-12-01 更新为 GNOME 平台/SDK 添加内置 WebP 支持

2023-10-11 更新:libwebp 上存在一个巨大漏洞,CVE-2023-4863:


对于 Ubuntu 22.04

sudo apt install webp-pixbuf-loader
Run Code Online (Sandbox Code Playgroud)

对于 Ubuntu 20.04

请按照以下步骤向 Eye of GNOME 添加对 WebP 的支持:

  1. 预建

    sudo apt install webp-pixbuf-loader
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在 Debian/Ubuntu 上构建

    sudo apt install git meson ninja-build
    cd /tmp/
    git clone https://github.com/aruiz/webp-pixbuf-loader
    cd webp-pixbuf-loader/
    sudo ln -s /usr/lib/*/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders /usr/bin/gdk-pixbuf-query-loaders  # https://github.com/aruiz/webp-pixbuf-loader/issues/9#issuecomment-537437407
    
    Run Code Online (Sandbox Code Playgroud)
  3. 安装

    meson builddir -Dgdk_pixbuf_query_loaders_path=/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
    ninja -C builddir
    
    Run Code Online (Sandbox Code Playgroud)

测试

sudo ninja -C builddir install
Run Code Online (Sandbox Code Playgroud)

.webp 扩展名的默认应用程序(图像/webp互联网媒体类型)

从 EOG 问题eog.desktop 不包括 webp mimetype

安装https://github.com/aruiz/webp-pixbuf-loader eog 正确加载 webp 图像...但它仍然没有作为支持的 mime 类型添加到 .desktop 文件中,因此,不提供默认打开这些图像

要解决此问题:

wget -O /tmp/samplefile.webp "https://www.gstatic.com/webp/gallery/1.sm.webp"
eog /tmp/samplefile.webp
Run Code Online (Sandbox Code Playgroud)

当然,改成org.gnome.eog.desktop你想要的就可以了。


Ubuntu 22.10 提供开箱即用的 WebP 支持[ 1 ]。对于 22.04,您可以使用 PPA(如果您信任开发人员)。

也可以看看

  • 我不敢相信仍然没有一个可以直接安装的“.deb”包,而不需要从源代码构建它。 (7认同)
  • 在我安装了“libgdk-pixbuf2.0-dev libwebp-dev”(Ubuntu 20.04)之前,“meson”无法构建。 (2认同)

Sep*_*älä 5

乌班图22.04

您只需安装webp-pixbuf-loaderEOG 并将其设为扩展的默认程序即可webp
sudo apt install webp-pixbuf-loader
Run Code Online (Sandbox Code Playgroud)

乌班图20.04

对于以前版本的 Ubuntu,您可以添加ppa:helkaluin/webp-pixbuf-loaderPPA 并进行类似操作。

sudo add-apt-repository ppa:helkaluin/webp-pixbuf-loader
sudo apt update
sudo apt install webp-pixbuf-loader
Run Code Online (Sandbox Code Playgroud)