当前位置:首页 > 文章列表 > 文章 > 软件教程 > darktable 怎样把编辑历史写入 XMP 边车文件

darktable 怎样把编辑历史写入 XMP 边车文件

来源:17golang原创 2026-10-30 17:43:36 0浏览 收藏

在 darktable 里,编辑历史不是写回原始 Raw 文件,而是由数据库和 XMP 边车文件共同保存。要让编辑历史随照片一起迁移,打开 Preferences > Storage > XMP sidecar files,把 Create XMP files 设为 On import 或 After edit。如果已经导入过照片,选 After edit 也可以在下一次编辑或添加标签时生成边车文件。

官方地址:https://docs.darktable.org/usermanual/development/en/

最稳妥的做法是选择 After edit 或 On import,再把原始照片和同名 XMP 一起备份。不要只复制数据库,也不要把“看不到保存按钮”理解成编辑没有写入。

先分清数据库与 XMP 的职责

darktable 以非破坏方式编辑照片:原始 Raw 文件保持不变,编辑步骤、标签和部分元数据写入数据库,同时可以写入照片旁边的 XMP 文件。第一次导入图片时,若边车写入没有被关闭,通常会看到类似 photo.raw.xmp 的文件。

边车文件的价值在于它能和原图一起复制、归档或迁移。数据库更适合当前库快速浏览;XMP 则是重建编辑历史的重要外部副本。两者不是简单的“谁都能随时覆盖谁”:照片已经进入当前库后,数据库记录通常优先于外部 XMP。

第一步:从 Storage 找到 XMP 写入开关

打开 darktable 的首选项,按下面的路径进入设置:

  1. 点击菜单中的 Preferences。
  2. 在左侧选择 Storage。
  3. 展开或定位 XMP sidecar files 区域。
  4. 找到 Create XMP files 下拉框。
darktable Storage 设置中的 XMP sidecar files 和 After edit 选项说明图
图1:XMP 设置入口说明图,重点看 Storage 面板中的写入时机。

这是一张原创界面说明图,不是 darktable 实际运行截图。读者只需要确认自己处于 Storage,并能看到 Create XMP files,就找到了正确入口。

第二步:按工作方式选择首次写入时机

下拉框通常有三个方向:

选项什么时候写入适合场景
Never不写 XMP 边车仅适合明确不需要边车的测试环境
On import导入图片时就创建希望从导入开始就有可备份文件
After edit首次编辑或添加标签后创建想减少无编辑照片旁的边车数量

普通工作库建议使用 On import 或 After edit。如果你刚发现设置是 Never,改成 After edit 后不要只查看旧照片目录;先对一张照片做一次明确编辑或添加一个标签,再检查对应位置。

第三步:完成一次编辑并确认边车更新

在暗房视图中选择一张照片,调整一个处理模块,例如曝光或裁剪,然后观察历史栈。darktable 会自动同步编辑,不需要寻找单独的“保存编辑历史”按钮。Storage 页面中的 auto-save interval 还能控制暗房处理历史的自动保存间隔;设为零则关闭自动保存。

darktable 暗房历史栈和 XMP 边车已更新的结果说明图
图2:编辑完成后的结果说明图,查看历史栈和边车更新状态。

这张图同样是原创说明图,不是运行证据。实际确认时,重点看三件事:历史栈里有刚刚的处理动作;照片旁出现与原文件同名的 .xmp 文件;备份目录可以同时找到 Raw 与 XMP。使用栅格蒙版等逐像素编辑数据时,darktable 还可能额外生成 DTDATA 边车文件。

没有生成或重新导入不一致时怎么排查

  1. 先看写入选项。回到 Preferences > Storage > XMP sidecar files,确认不是 Never,并确认自己已经完成一次编辑或添加标签。
  2. 再看文件夹权限。XMP 会和原图放在一起;如果原图目录只读,设置正确也可能无法创建或更新边车。换到可写目录做一次小范围排查。
  3. 外部修改要开启启动扫描。如果 XMP 被其他程序更新,打开 Look for updated XMP files on startup,下次启动时让 darktable 检查更新,并在提示中选择重新加载或用数据库覆盖。
  4. 理解数据库优先级。照片已经导入当前库后,直接用其他软件改 XMP,不代表当前界面会立刻变化;下一次同步还可能把数据库内容写回 XMP。需要外部边车生效时,使用重新导入或启动扫描提供的更新选择。

最后按 Raw 与 XMP 成对备份

备份时把原始照片、同名 XMP,以及实际存在的 DTDATA 一起复制。只备份导出的 JPEG 不能恢复完整编辑历史,只备份数据库又会让照片脱离原库后难以重建。迁移到另一份 darktable 图库前,也要注意每个编辑副本可能有带编号的边车文件,例如同一原图的不同 duplicate 会对应不同的文件名。

可以用下面的清单做收尾:

  • Create XMP files 不是 Never;
  • 已经完成过一次编辑或添加标签;
  • 原图目录允许创建和更新文件;
  • 备份时 Raw、XMP、必要的 DTDATA 同步存在。

相关问题

编辑历史会写回原始 Raw 文件吗?

不会。darktable 以非破坏方式处理原始图像,编辑历史主要保存在数据库和边车文件中。

为什么改了外部 XMP,darktable 里没有马上变化?

当前图库中的数据库记录可能优先。开启启动时查找更新的 XMP,或按重新导入流程让 darktable 选择重新加载边车。

每张照片都会生成 DTDATA 吗?

不会。DTDATA 主要在需要保存逐像素编辑数据时出现,普通照片通常只有 XMP 边车。

版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
Redis LATENCY HISTOGRAM 怎样按命令读取延迟分布Redis LATENCY HISTOGRAM 怎样按命令读取延迟分布
上一篇
Redis LATENCY HISTOGRAM 怎样按命令读取延迟分布
MySQL UUID_TO_BIN 的 swap_flag 怎样调整时间字段顺序
下一篇
MySQL UUID_TO_BIN 的 swap_flag 怎样调整时间字段顺序
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    797次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    786次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    875次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    842次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    676次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码