![如何将新的 lensfun 校正文件导入使用 snap 安装的 darktable](https://linux22.com/image/1168986/%E5%A6%82%E4%BD%95%E5%B0%86%E6%96%B0%E7%9A%84%20lensfun%20%E6%A0%A1%E6%AD%A3%E6%96%87%E4%BB%B6%E5%AF%BC%E5%85%A5%E4%BD%BF%E7%94%A8%20snap%20%E5%AE%89%E8%A3%85%E7%9A%84%20darktable.png)
系统:
- 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 更快。
已经尝试过:
- 基于https://photo.stackexchange.com/questions/61942/how-to-add-lensfun-0-3-0-db-to-darktable-on-ubuntu我尝试将较新的 slr-sigma.xml 放到以下两个位置,但没有成功:
- 〜/ .local /共享/ lensfun
- 〜/ snap / darktable / common / .local / share / lensfun
答案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 解析错误)