AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1317267
Accepted
Ferroao
Ferroao
Asked: 2021-02-18 16:03:12 +0800 CST2021-02-18 16:03:12 +0800 CST 2021-02-18 16:03:12 +0800 CST

巨大的.svg。如何在 20.04 中打开

  • 772

升级到 20.04 后,我无法打开大 svg 文件。我得到:

XML 解析错误:无法加载超过 200000 个 XML 元素

问题出现在 Image Viewer 和 Gimp 中,而 ImageMagick display、inkscape、libreoffice --draw 停顿,什么也没显示。

Firefox 和 Chrome 打开文件,但 Firefox 的缩放效果很差,而且 Chrome 速度很慢并且容易卡顿。

svg包:apt list --installed | grep svg

gir1.2-rsvg-2.0/focal-updates,now 2.48.9-1ubuntu0.20.04.1 amd64 [installed,automatic]
libimage-librsvg-perl/focal,now 0.07-8build5 amd64 [installed]
libqt5svg5/focal,now 5.12.8-0ubuntu1 amd64 [installed,automatic]
librsvg2-2/focal-updates,now 2.48.9-1ubuntu0.20.04.1 amd64 [installed,automatic]
librsvg2-2/focal-updates,now 2.48.9-1ubuntu0.20.04.1 i386 [installed]
librsvg2-common/focal-updates,now 2.48.9-1ubuntu0.20.04.1 amd64 [installed,automatic]
librsvg2-common/focal-updates,now 2.48.9-1ubuntu0.20.04.1 i386 [installed,automatic]
librsvg2-dev/focal-updates,now 2.48.9-1ubuntu0.20.04.1 amd64 [installed]
20.04
  • 1 1 个回答
  • 678 Views

1 个回答

  • Voted
  1. Best Answer
    N0rbert
    2021-02-19T08:53:58+08:002021-02-19T08:53:58+08:00

    这是librsvg包中的一个错误。他们为 2.49.5 之前的版本硬编码了 200000 个项目。

    我可以确认 Ubuntu 20.04 LTS 上的错误。因此,我已将其作为错误 1916055报告给 LaunchPad 。受影响的热门应用:

    • 侏儒之眼
    • 伴侣之眼,阿特里尔
    • GIMP

    有些应用程序使用不同的库并失败 - Karbon、Krita、Cenon。

    可能的解决方法是:

    • 使用补丁在本地重新编译库以具有 1000000 个 XML 节点限制。

      首先启用源代码存储库software-properties-gtk和以下运行命令以获取构建依赖项并通过成功编译进行修补:

      sudo apt-add-repository main
      sudo apt-add-repository universe
      sudo apt-add-repository multiverse
      sudo apt-add-repository restricted
      
      sudo apt-get update
      sudo apt-get dist-upgrade
      
      sudo apt-get build-dep librsvg2-dev
      sudo apt-get install devscripts
      
      cd ~/Downloads
      apt-get source librsvg2-dev
      cd librsvg-2.48.9
      
      # change 200000 to 1000000
      sed -i "s/200_000/1_000_000/" rsvg_internals/src/limits.rs
      dpkg-buildpackage -b -uc -us
      
      sudo apt-get install ../*svg*.deb
      

      然后使用单个长命令固定封装版本:

      cat <<EOF | sudo tee /etc/apt/preferences.d/pin-librsvg2
      Package: gir1.2-rsvg-2.0
      Pin: release a=now
      Pin-Priority: 1337
      
      Package: librsvg2-2
      Pin: release a=now
      Pin-Priority: 1337
      
      Package: librsvg2-bin
      Pin: release a=now
      Pin-Priority: 1337
      
      Package: librsvg2-dev
      Pin: release a=now
      Pin-Priority: 1337
      
      Package: librsvg2-common
      Pin: release a=now
      Pin-Priority: 1337
      
      Package: librsvg2-doc
      Pin: release a=now
      Pin-Priority: 1337
      EOF
      

      享受:

      带有修补 librsvg2 的 EoM

    • 使用具有不同后端库的查看器和编辑器:

      • Firefox、Chromium、Konqueror 等网络浏览器
      • LibreOffice 绘图
      • Inkscape(需要 >14 Gb 的 RAM)
    • 4

相关问题

  • 如何在 18.04..20.04 上设置本地通配符 (127.0.0.1) 域解析?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve