夜雨聆风学习资料网

ARTICLE · 979877

移花接木:把 LoongOffice 的...

移花接木:把 LoongOffice 的...

龙芯 3A6000 + loongnix 25 工作机实战 | 作者:大道至简

 工作机装了两个办公套件——LoongOffice(基于 LibreOffice 25.8 深度定制的中文办公版)和系统原生 LibreOffice(25.2.3)。日常用 LoongOffice 写公文、跑日报,但切换系统 LibreOffice 时,界面细节、样式预设、度量单位全变了。能不能让本机 LibreOffice 直接用上 LoongOffice 的配置?答案:能,而且一次配置、备份好,以后重装系统都能一键恢复。 

移花接木:把 LoongOffice 的中文办公配置一键搬到 LibreOffice

一、背景

工作机装了两个办公套件:LoongOffice(基于 LibreOffice 25.8 深度定制的中文办公版)和 LibreOffice(系统原生 25.2.3)。日常用 LoongOffice 写公文、跑日报,但有时候需要切到系统 LibreOffice——比如某些扩展只支持官方版、或者演示环境只有原版。切换过去一看,界面细节、样式预设、度量单位全变了,中文办公那种"开箱即用"的感觉丢了。

问题就来了:能不能让本机 LibreOffice 直接用上 LoongOffice 的配置?

答案:能。而且一次配置、备份好,以后重装系统都能一键恢复。

二、LoongOffice 到底"定制"了什么

先弄清楚要搬的是什么。LoongOffice 与 LibreOffice 的程序目录几乎一样(/opt/loongoffice vs /usr/lib/libreoffice),区别在用户配置目录:

~/.config/loongoffice/4/user/    ← LoongOffice 用户配置 ~/.config/libreoffice/4/user/    ← LibreOffice 用户配置

打开 registrymodifications.xcu(注册表主文件),213 条配置项里,剔除"历史类"(文件历史、窗口位置、崩溃恢复),挑出"配置类",真正属于 LoongOffice 定制的是这些:

类别
配置项
效果
外观
ApplicationAppearance=1
强制浅色主题
颜色方案
CurrentColorScheme=COLOR_SCHEME_LIBREOFFICE_LIGHT
官方浅色配色
中文排版
ApplyCharUnit=true以字符为度量单位
(中文公文核心!)
标尺
MeasureUnit=2
厘米制
色板
PaletteName=标准
中文色板
保存
WarnAlienFormat=false
另存为 doc/xlsx 不弹格式警告
语言
ooLocale=zh-CN
中文界面
用户资料
UserProfile
姓名、缩写、职位等署名信息
字体记忆
config/fontnameboxmruentries
记住最近用的中文字体

简单说:LoongOffice 是在 LO 基础上预设了中文办公的工作参数,这些参数全在 xcu 里,可以直接搬。

三、迁移实操

第 1 步:备份 LoongOffice 配置(全量)

BK=~/loongoffice-config-backup && mkdir -p "$BK" tar czf "$BK/loongoffice-config-full.tar.gz" -C ~/.config loongoffice

第 2 步:提取"主题/中文定制"配置

从 xcu 213 条里按路径白名单筛掉历史类,保留配置类,得到 96 条定制项。

INCLUDE = ["/org.openoffice.Office.Common/Appearance",            "/org.openoffice.Office.UI/ColorScheme",            "/org.openoffice.Office.Writer",      # Layout/Content/Grid 等            "/org.openoffice.Setup/L10N",            "/org.openoffice.UserProfile/Data", ...] EXCLUDE = ["/org.openoffice.Office.Histories",   # 文件历史            "/org.openoffice.Office.UI.WriterWindowState",  # 窗口状态            "/org.openoffice.Office.Views",            "/org.openoffice.Office.Recovery", ...]

第 3 步:按 (path, prop) 精确合并到 LibreOffice

关键点:不能整文件覆盖 xcu,会把 LO 自己用的文件历史、MRU 全冲掉;也不能按 path 整段替换,会误删 LO 独有的 prop。正确做法是按 (路径, 属性名) 这个唯一键合并——loongoffice 有的 prop 覆盖、没的保留。合并后 293 条配置稳定、幂等可重复执行。

python3 ~/loongoffice-config-backup/scripts/extract_loongoffice_cfg.py --merge

第 4 步:复制字体记忆

cp ~/.config/loongoffice/4/user/config/fontnameboxmruentries \    ~/.config/libreoffice/4/user/config/

四、效果对比

原始 LibreOffice 界面——样式侧边栏只有系统默认的几条,工具栏为 LO 25.2 默认布局:

  

应用 LoongOffice 配置后——样式侧边栏多了"页眉、页脚、HTML 预览、邮件地址、来源"等中文办公常用样式,整体协调性与 LoongOffice 一致:

  

肉眼可见的两个关键变化:

  1. 样式侧边栏丰富度
    ——"HTML 预览""页眉""页脚""来源"等 LoongOffice 预置的中文样式全部出现
  2. 整体协调性
    ——颜色、字体渲染、文档背景与 LoongOffice 一致
 提示:提取的 96 条中,UseOnlyWhiteDocBackground 是 LoongOffice 25.8 新增的选项,本机 LibreOffice 25.2.3 的 schema 还没认这个 prop,LO 首次启动后会自动忽略并清理——不影响其他配置,属于正常版本差异。 

五、备份与一键恢复

做完迁移后,备份包在 ~/loongoffice-config-backup/:

loongoffice-config-backup/ 
├── loongoffice-config-full.tar.gz         # 配置全量打包 
├── extracted/ │ 
  ├── loongoffice-theme-items.xml        # 96 条主题/中文定制片段 │   └── fontnameboxmruentries              # 字体 MRU ├── scripts/ │   ├── extract_loongoffice_cfg.py         # 提取+合并脚本(幂等) │   ├── restore.sh                         # 一键恢复脚本 │   └── libreoffice-registrymodifications.*.bak  # 合并前后备份 └── README.md

以后装新机器或重装系统后,只要把 loongoffice-config-backup/ 整个目录拷过去,然后:

# 先装好 LibreOffice、跑一次后关闭 bash ~/loongoffice-config-backup/scripts/restore.sh

restore.sh 会自动:① 备份新机器 LO 配置;② 用提取片段合并主题/中文定制(无需 LoongOffice 本体);③ 复制字体 MRU;④ 清理图标缓存。

撤销合并也很简单——用合并前的 .bak 覆盖回去即可。

六、坑与注意点

  1. 正则匹配 xcu 的 item 标签
    :<item\b[^>]*>.*?</item> 加 re.S,item 内部有 <prop> 嵌套,第一版正则只匹配到 0 条就是这个坑
  2. 按 path 剔除会误删
    :同 path 下 LO 可能有 loongoffice 没有的独有 prop,必须按 (path, prop) 合并
  3. pgrep -f 自匹配
    :检查进程用 pgrep -x soffice.bin,用 pgrep -f 'libreoffice' 会匹配到 shell 命令行文本导致误判
  4. 版本差异要容忍
    :25.8 新增的 prop 在 25.2 上会被 LO 自动清理,这是正常现象,不是 bug
  5. 历史类配置不要搬
    :文件历史、窗口位置、崩溃恢复列表是个人使用痕迹,搬过去会污染 LO 自己的体验

参考文档

类别
来源
本机配置
~/loongoffice-config-backup/
(提取脚本、备份、原始 .bak)
LoongOffice 安装
/opt/loongoffice/
(程序本体)
LibreOffice 安装
/usr/lib/libreoffice/
(25.2.3)
官方配置指南
LibreOffice 官方配置文档
字体
fc-list :lang=zh
(系统已装 Noto CJK 系列)

— 全文完 · 所有操作均在本机 loongnix 25.1(龙芯 3A6000 / loongarch64)实测通过 —

相关学习资料