如何将新的 lensfun 校正文件导入使用 snap 安装的 darktable

如何将新的 lensfun 校正文件导入使用 snap 安装的 darktable

系统:

  • Ubuntu 18.04
  • 使用 snap 安装 Darktable
    • darktable 版本 2.6.2
    • darktable snap 版本 38 (ls -la /snap/darktable/current)

问题

  • https://github.com/lensfun/lensfun/blob/master/data/db/slr-sigma.xml已经对我最喜欢的镜头“Sigma 17-50mm f/2.8 EX DC OS HSM”进行了暗角校正
  • 我的 snap 版本(/snap/darktable/current/usr/share/lensfun/slr-sigma.xml)可能是基于 lensfun 0.3.2,但它没有它。
  • /snap/darktable 是 snap 中只读的 squashfs,因此简单的覆盖不起作用 :(
    • 我更愿意继续使用 snap 来开发 darktable,因为它的更新速度仍然比 Ubuntu LTS 更快。

已经尝试过:

答案1

感谢您的跟进。我想补充一些我根据您发现的信息:

snap 本地目录可以在以下位置找到:

~/snap/darktable/current/.local/share/lensfun

我还发现仅创建自己的配置文件是不够的。您必须将所有内容从 snap 目录复制到本地配置目录,因为它会替换 snap 数据库:

cp /snap/darktable/current/usr/share/lensfun/version_1/*.xml ~/snap/darktable/current/.local/share/lensfun/

不仅要小心文件的语法(与 v2 和 v1 不同),还要小心内容。我的镜头的 v2 配置文件与其实际焦距不匹配,显然 darktable/lensfun 0.3.2 不喜欢它。

答案2

它比我想象的要复杂,因为有两个问题:

首要问题

找到正确的目录 - strace darktable 没有起作用,但是 strace 也是 snap 中的一等公民,因此以下操作很有帮助

snap run --strace darktable 2> /tmp/err

在输出中搜索 lensfun 会给出相当多可以使用的目录,例如:

/home/$USERNAME/snap/darktable/38/lensfun
/home/$USERNAME/snap/darktable/38/.local/share/lensfun

不幸的是,我还没有找到任何与版本无关的内容,所以当 darktable 通过 snap 更新时,工作可能会重新进行。

第二期:

snap 中的 lensfun 版本的库无法解析 slr-sigma.xml 的新格式,所以我不得不把原始的 /snap/darktable/current/usr/share/lensfun/slr-sigma.xml 复制到 /home/$USERNAME/snap/darktable/38/lensfun/ 并且只为我的镜头添加渐晕部分。(幸运的是,有提示 xml 解析错误)

相关内容