1. 用LibreOffice这几年,我到底在折腾什么
如果你跟我一样,把LibreOffice当成Linux桌面上的主力办公套件,那你大概率经历过这种时刻:系统更新完,点开图标,眼巴巴等了好几秒,启动画面才慢悠悠出来;或者同事发来一份docx,你满怀信心地打开,结果表格错位、字体变方块。这些场景我全都遇到过,而且每次解决完之后,我都会把过程记到自己的笔记里。今天这篇,就是把这些笔记整理成一份能直接照着操作的记录。
先说清楚这篇东西的定位。它不是什么官方翻译文档,也不是安装向导的复述,而是我实际使用LibreOffice过程中积累的启动、测试和问题记录。热词里那几个高频搜索项——linux安装libreoffice、libreoffice draw、libreoffice怎么设置成中文、libreoffice 7.4.7、libreoffice online搭建——我全都覆盖,但顺序是按实际操作逻辑走的,不是按搜索热度排的。
这篇适合谁看?如果你只是偶尔在Windows上双击打开一个文档,那前面关于安装和中文配置的部分对你有用。如果你是在Linux服务器或桌面环境里认真部署它,或者打算搭一个浏览器在线预览服务,那后面关于测试、排错和Online搭建的内容才是重点。我自己踩坑的标准姿势是:先查官方文档理解设计意图,再动手验证实际行为,最后把意外情况和临时解法记下来。下面你看到的每一条,基本都走完了这个流程。
2. Linux下的安装、启动与中文环境配置
2.1 安装方式盘点:apt、Flatpak、Snap与官方包怎么选
Linux下装LibreOffice的路不止一条,我前后试过四种方案,差异比想象中大,先给个对比表再逐个展开。
| 安装方式 | 版本更新速度 | 系统集成度 | 适合场景 | 主要坑点 |
|---|---|---|---|---|
| 发行版包管理器 | 慢 | 高 | 普通桌面用户 | 版本明显偏旧 |
| Flatpak | 快 | 中 | 追求新版本、系统洁癖 | 脚本调用路径绕 |
| Snap | 快 | 中 | Ubuntu用户 | 冷启动慢,自动化不便 |
| 官方tar.gz包 | 最快 | 低 | 服务器部署、版本可控 | 依赖自行解决 |
第一种是apt或者dnf这类发行版自带的包管理器。Debian系就是apt install libreoffice,Red Hat系用dnf install libreoffice。这是最省事的路径,装完直接能在应用菜单里找到,依赖关系系统自动处理好。缺点是版本往往比你想的要旧。我曾在Debian stable上装到过6.x的老版本,同事发来一个新版Office生成的文件,打开后某些新格式特性表现明显吃力,这时候就得考虑其他方案。
第二种是Flatpak。Flathub上有官方维护的LibreOffice,版本更新及时,跟系统其他部分隔离得比较干净。安装命令大概是flatpak install flathub org.libreoffice.LibreOffice,启动用flatpak run org.libreoffice.LibreOffice。好处是字体和依赖不会污染系统,坏处是你在服务器环境或者定时脚本里想调用它时,必须走flatpak run这层,路径和权限都绕,写自动化脚本比较别扭。
第三种是Snap,snap install libreoffice即可,Ubuntu桌面用户很常用。它的问题是启动速度一直被吐槽,第一次冷启动经常要等好几秒,因为要挂载snap镜像、初始化运行时环境。如果你对启动时间敏感,建议直接跳过。
第四种是去官网下载官方提供的deb/rpm包,或者直接下tar.gz绿色包。官方包的版本就是最新稳定线,能拿到类似7.4.7这样的维护版本。我自己在服务器上用的就是tar.gz方式,解压到固定目录,通过软链接管理。好处是版本完全可控,升级节奏自己定;坏处是依赖要自己保证,一些图形库和Java运行时缺了不会有人提醒你。
版本选择上多说一句。7.4.x是稳定产品线,7.4.7作为这条线上的维护版本,集中修了一批导入导出兼容性和崩溃类问题。我的原则是:服务器上选维护版本比追最新大版本稳妥得多。手头那台跑文档转换的机器到现在还固守在7.4.7,原因很简单——稳定、行为可预期,批量脚本不需要为版本差异反复调参。
2.2 首次启动与用户配置文件目录
不管用哪种方式安装,LibreOffice第一次启动时都会在用户主目录下生成配置目录,路径是~/.config/libreoffice(老版本可能叫~/.libreoffice)。这个目录里藏的东西比你想象得多:用户设置、最近打开的文件列表、宏、剪贴板历史标记,全在里面。
这里有个极其容易踩的坑:这个目录一旦损坏,症状往往不是直接报错,而是"启动特别慢"或者"启动后界面空白",看起来像程序坏了,实际是配置坏了。我后面第四章会专门讲排查和恢复流程,这里先记住它的路径和存在意义。
首次启动还会弹一个"欢迎向导",问是否要导入已有文档配置。我建议一律选"不要导入",让配置从干净状态开始。很多老用户从旧机器迁移配置过来,把一些过期设置带了过去,后面出了问题反而说不清来源。宁可重新设置一次字体和语言,也别为省那几分钟埋一个排查成本很高的雷。
图形界面用户直接点图标启动就行。但如果你想在终端里确认程序能不能正常起来,我常用的验证命令是:
libreoffice --version libreoffice --writer第一条输出具体版本号,第二条打开Writer模块。如果第二条能正常弹窗,说明基本的图形环境和依赖没问题。真正需要重点关注的,是下一节要讲的无头模式(headless)——这是服务器场景的生命线。
2.3 把界面切成中文:两条路线都给你
"LibreOffice怎么设置成中文"是检索频率极高的问题,我自己也在全新安装后遇到过界面全英文的情况。处理办法分两条路线,按场景选。
路线一,图形界面设置。打开任意文档,菜单路径是工具 -> 选项 -> 语言设置 -> 语言,把"用户界面"下拉框选为"简体中文(zh-CN)"。这个操作的前提是系统里已经装了对应的语言包。Debian系可以这样确认:
apt list --installed | grep libreoffice-l10n如果没有libreoffice-l10n-zh-cn这个包,先装上:
sudo apt install libreoffice-l10n-zh-cn重启LibreOffice,界面就切过来了。
路线二,改配置文件。适合没法打开图形界面的场景,比如服务器或纯SSH远程操作。LibreOffice的界面语言设定存放在配置目录里的registrymodifications.xcu文件中,可以查找ooSetupUILang字段,把它的值从en-US改成zh-CN。不过直接手改xcu要非常小心格式错误,改之前一定先备份。
顺带提醒一个容易混淆的点:界面语言和文档语言是两码事。界面切成中文之后,如果你打开一个西文文档,拼写检查仍然疯狂标红,那是因为文档本身的语言设置没跟上。遇到这种情况,去工具 -> 语言 -> 对于所选文字里把语言改成中文,别在界面语言那里反复折腾。
2.4 命令行启动与版本验证
服务器上部署LibreOffice,核心用法就是命令行加--headless参数。我自己常用的命令组合是:
soffice --headless --convert-to pdf --outdir /output /input/sample.docx soffice --headless --convert-to xlsx --outdir /output /input/sample.csv soffice --headless --calc --convert-to pdf /input/report.ods这里有个细节容易忽略:soffice和libreoffice在大多数发行版里是同一个程序的符号链接,但官方绿色包解压后目录里的可执行文件叫soffice。写脚本时建议统一用绝对路径,避免因为PATH环境变量的问题出现"明明装了但命令找不到"的尴尬。
版本验证不能只跑--version就完事,更靠谱的是验证它能否完成一次真实的文档转换。我在部署脚本里通常会加这么一步:
soffice --headless --convert-to pdf --outdir /tmp test_sample.odt能成功转出PDF,说明安装是可用的,而不只是"能打印版本号"。
3. 启动只是第一步:我的一套可复现测试清单
3.1 无头模式与批量文档转换测试
装好LibreOffice之后,我习惯先跑一套冒烟测试,不是点开文档看一眼就结束,而是把各个模块和典型操作都过一遍。首当其冲的是无头模式下的文档转换,因为这是服务器部署最依赖的能力。
我的做法是建一个testdocs目录,里面放几类样本:一个带复杂表格的docx、一个带公式的odt、一个含多个工作表且带透视表的xlsx、一个带备注的pptx。然后跑这样的脚本:
#!/bin/bash mkdir -p /tmp/lo_test_out for f in /data/testdocs/*; do soffice --headless --convert-to pdf --outdir /tmp/lo_test_out "$f" done跑完以后重点检查三件事:第一,有没有文件转换失败,看退出码和输出日志;第二,PDF里中文是否正常显示;第三,多页文档的页码和表格线有没有丢失。这套测试我在每次升级版本后都会完整跑一遍,把线上常用的文档全部过一遍,没有异常才敢部署。
批量转换有一个性能上的坑必须提前说:LibreOffice的无头模式默认是单实例的,并发提交多个转换任务时,它们会排队而不是并行。当你看到"为什么同时提交了20个任务,只有1个在跑"的时候,不用怀疑程序坏了,这是设计行为。真要提速有两条路:用UNO API自己写并行调度,或者起多个用户配置实例来绕开单实例锁。后者我在小规模场景试过,三四个实例并行转换效果可以,但内存开销明显上升,一台2G内存的小机器就别想了。
3.2 常用模块逐一冒烟测试
LibreOffice不是单个程序,是一整套模块:Writer、Calc、Impress、Draw、Math、Base。启动测试时我建议每个模块都单独开一遍,别以为Writer能打开就代表全套正常。
我的冒烟动作是这样设计的:
- Writer:新建文档,插入中文标题、一段正文、一个三行两列的表格,导出PDF,检查中文和表格是否正常。
- Calc:新建工作簿,填充几列数据,插入柱状图,写一个求和公式,另存为xlsx,再用老版本LibreOffice打开验证兼容性。
- Impress:新建幻灯片,插入图片、文本框,加一个页面切换动画,导出PDF,确认中文和图片不丢。
- Draw:画矩形、椭圆、带箭头的线,把它们组合,导出PNG和SVG。这个模块常被忽略,但对做流程图、海报、批注的团队特别重要。
- Math:新建公式文档,用类LaTeX语法输入求和公式和分式,导出PDF看渲染效果。
- Base:连接已有数据库文件,执行一条简单查询,确认驱动正常。一般用户用不到,但如果你的系统里有订单或日志数据,Base就是一条近路。
每个模块启动后我还会留意耗时。正常情况Writer和Calc应该在2秒内弹出主界面,如果某个模块明显比其他模块慢好几秒,那就要怀疑字体配置或者缓存问题了。
3.3 中文字体渲染与PDF导出测试
中文字体是Linux办公的大坑,LibreOffice尤其容易踩。很多人遇到过:文档在Windows里好好的,拷到Linux上一打开全是方块;或者转出来的PDF中文全是乱码。这类问题绝大多数不是LibreOffice的bug,而是系统里缺中文字体或字体配置混乱。
我在字体测试时用的样本文档是一个故意设置了多种字体的odt:标题用思源黑体,正文用Noto Sans CJK SC,单元格用文泉驿微米黑,另外再加几个生僻字。转成PDF后重点看两点:生僻字有没有被渲染成豆腐块,不同字体切换处有没有出现同一行字高低不齐的情况。
如果发现某个字体不可用、被自动替换了,用fc-list查系统字体库:
fc-list | grep -i noto fc-list :lang=zh我的做法是至少装一套思源黑体或者Noto Sans CJK SC,这是中文字形覆盖最全的开源字体。装完后执行fc-cache -fv强制刷新字体缓存,不然LibreOffice可能加载不到新字体,启动时的字体枚举也会变慢。
还有一个容易被忽略的细节:LibreOffice对fontconfig的依赖比表面看起来深。你执行fc-match SimSun,可能会发现系统把宋体映射到了别的字体上。如果你的排版有严格要求,建议在系统字体配置里建立别名,把"宋体""黑体""楷体"这些Windows常见名指向你装好的开源中文字体。这样打开别人发来的docx时,字体替换的结果会好看很多。
3.4 性能测试:大文档与长表格
"启动测试"听起来只是程序能不能开的问题,但对LibreOffice来说,性能本身就是启动体验的一部分。用户才不管你的程序架构多合理,他们只知道点了一个图标,下一秒就想打字。性能测试我主要盯两个场景。
第一个是超长文档的打开速度。我生成过一个800页的odt,每页都有段落和图片,测试从双击文件到能顺畅输入文字的时间。7.4.7在我的测试机上大概要8到10秒,这个数据本身不算亮眼,但重点是跟升级前对比有没有明显劣化。如果版本升级后同一份文档打开时间从8秒变成20秒,大概率是某个新特性引入了问题,这时候我会查配置目录里的日志,或者尝试关闭严格OOXML模式之类的选项。
第二个是Calc的大表格。我建过一个10万行、30列的xlsx,带公式和条件格式。测试动作包括打开、滚动到底、全选筛选、手动重算一次。这套测下来,滚动时的掉帧在7.4.7上仍然存在,这属于正常表现,不是故障。如果你对这类超大数据表格有日常需求,我的建议是再往上走就换数据库或专用分析工具,别把Calc逼到极限。
3.5 Draw模块的专项测试
搜"libreoffice draw"的需求,大多是两类:一类是画流程图和框架图,一类是把PDF当画布做批注。所以我给Draw单独列了一套测试动作。
流程图测试是这样做的:新建Draw文档,插入一个矩形、一个菱形(在"基本形状"里)、一条带箭头的连接线,然后框选、组合,导出SVG。验证重点在于连接线是否真的"粘"在图形上——拖动其中一个图形,连接线应该跟着变形而不是脱离。Draw的连线功能比专业绘图工具弱一些,但这个基础能力必须正常。
PDF批注测试:直接在Draw里打开一个多页PDF,加文本框、箭头和高亮区域,再导出PDF。这个场景我最常用,最大坑在于字体:如果PDF里嵌入了子集字体,Draw打开再导出时,某些文本可能被图形化或者丢失。我实测过大部分正常排版的PDF没问题,但遇到某些扫描版文件,导出前后会有差异。结论是:Draw做轻量批注可以,但需要像素级一致的PDF编辑时,还是用专门工具更靠谱。
4. 问题记录:我从日志到配置层的排查链路
4.1 启动卡死与配置损坏的恢复
启动问题里最让人头疼的不是报错,而是"没报错,就是卡住"。我遇到过一次典型的:某天LibreOffice突然要半分钟才弹窗,而且任务栏上能看到多个soffice.bin进程。当时第一反应是翻日志,但LibreOffice默认日志信息量很少,图形界面的故障几乎看不出东西。
排查链路是这样的:先用top看进程状态,发现soffice.bin进程CPU占用很低但一直不退出,典型的"卡在等待某个资源"。然后我想到,LibreOffice启动时会扫描字体和配置文件,如果某个字体文件损坏,或者~/.config/libreoffice里的配置被写坏,就会这样。我先做了一个不删配置的验证,用干净的用户配置目录启动:
soffice --headless -env:UserInstallation=file:///tmp/lo_clean_test --convert-to pdf sample.docx这条命令秒过,说明问题出在原有用户配置目录。接着我把~/.config/libreoffice改名备份,让它生成全新配置:
mv ~/.config/libreoffice ~/.config/libreoffice.bak问题立刻消失。事后对比备份目录里的registrymodifications.xcu,发现是一个很早之前手改时留下的陈旧节点在作怪。这个教训后来成了我的铁律:任何改LibreOffice配置文件之前先备份;出问题排查时,永远先用干净配置排除配置因素,再往下查字体和程序本身。
4.2 界面变英文、中文设置无效的根因
这个坑我见得太多次了。典型场景:用户跑apt install libreoffice,装完发现界面是英文,然后去工具 -> 选项 -> 语言里把界面语言改成简体中文,点了确定,提示重启,重启后还是英文。
根因往往不是设置没生效,而是语言包根本没装。LibreOffice的界面语言包是独立软件包,装主程序时不一定会自动带上全部语言。Debian系必须单独检查:
dpkg -l | grep libreoffice-l10n没有libreoffice-l10n-zh-cn就执行:
sudo apt install libreoffice-l10n-zh-cn装完还要注意一点:LibreOffice的语言设置是按用户目录单独存储的。如果你改了设置但启动的还是同一个用户,那没问题;但如果用sudo启动,或者改了两个不同用户的配置,界面语言自然对不上。服务器部署时我见过一个低级错误——用root装了,却用普通用户跑,界面语言当然永远是英文。
如果语言包装了、用户也对,界面还是英文,那就直接编辑配置:
nano ~/.config/libreoffice/4/user/registrymodifications.xcu找到类似这样的内容:
<item oor:path="/org.openoffice.Setup/L10N"><prop oor:name="ooSetupUILang" oor:op="fuse"><value>en-US</value></prop></item>把en-US改成zh-CN,保存后重启。操作前务必先关掉所有LibreOffice进程,否则退出时配置会被旧值覆盖回去。
4.3 字体显示方块与缺字问题
"方块"问题的本质是字体映射链断了。Windows文档里用的字体(宋体、微软雅黑等)在Linux上没有,LibreOffice会去fontconfig里找替代字体,找不到合适的就渲染成占位方块。
我的排查顺序是固定的。第一步,用fc-list :lang=zh确认系统里有没有可用的中文字体,没有就先装Noto Sans CJK或思源黑体。第二步,字体装了还不行,就看文档指定的字体名是什么,用fc-match "Microsoft YaHei"查映射结果,如果映射到空白或者一个纯拉丁字体,就得在fontconfig里手动加别名。
我写过这样一个别名配置,放在/etc/fonts/conf.d/99-liberation-fixes.conf:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="pattern"> <test name="family"><string>Microsoft YaHei</string></test> <edit name="family" mode="assign" binding="strong"><string>Noto Sans CJK SC</string></edit> </match> </fontconfig>配置完跑fc-cache -fv,再重新打开文档验证。这类问题在LibreOffice里看起来像软件bug,实际95%是系统字体配置问题。排查方向一定先从字体层入手,别一上来就重装LibreOffice。
4.4 崩溃与OpenGL硬件加速的恩怨
LibreOffice在某些显卡驱动下启动即崩溃,或者打开特定文档时闪退,我真实遇到过。7.4.x时期,OpenGL加速对老旧显卡和闭源驱动的兼容性一直不稳。症状往往很一致:启动窗口闪了一下,整个进程消失,终端里可能留下"Segmentation fault"之类输出。
排查链路先确认是不是显卡加速问题。最简单的验证办法是禁用OpenGL,图形界面路径是工具 -> 选项 -> LibreOffice -> 视图,取消勾选"使用OpenGL";命令行环境则直接编辑配置,在registrymodifications.xcu里把OpenGLEnabled从true改成false。改完重启,问题消失就基本锁定是显卡驱动或渲染库的问题。
另一个频繁出现的崩溃来源是Java。LibreOffice的Base模块和某些向导依赖Java运行时。如果系统装了好几个Java版本,LibreOffice可能加载到不兼容的那一个。我的做法是在工具 -> 选项 -> LibreOffice -> 高级里明确指定JDK/JRE路径,选一个长期支持版本,让它自己乱选。
4.5 其他值得写进"问题记录"的坑
再说三个我笔记里记着的问题,都是那种不起眼但能耽误一上午的。我把它们整理成了一张速查表:
| 问题 | 常见根因 | 快速定位方法 | 解决动作 |
|---|---|---|---|
| 启动卡死 | 配置目录损坏 | 干净配置启动对比 | 改名备份~/.config/libreoffice |
| 界面英文 | 缺失语言包 | dpkg -l | grep libreoffice-l10n | 安装libreoffice-l10n-zh-cn |
| 中文变方块 | 系统缺中文字体 | fc-list :lang=zh | 安装开源中文字体并fc-cache |
| 启动即崩溃 | OpenGL加速兼容性 | 禁用OpenGL对比 | 关闭硬件加速或换驱动 |
| 双击无法打开 | 文件关联被抢占 | xdg-mime query default docx | 用xdg-mime default重设 |
| 提示文件被占用 | 残留锁文件 | ls ~/.config/libreoffice/*/.~lock.* | 删除对应锁文件 |
第一个是文件关联问题。装完LibreOffice后,双击docx有时还被其他程序抢走。Debian系可以用xdg-mime手动指定默认应用:
xdg-mime default libreoffice-writer.desktop application/vnd.openxmlformats-officedocument.wordprocessingml.document第二个是启动器点不动的问题。如果你在GNOME下发现dock里的LibreOffice图标点了没反应,多半是.desktop文件里的Exec路径和实际安装路径对不上。用官方tar.gz包安装时尤其常见,解法是修正软链接,或直接编辑/usr/share/applications/libreoffice-writer.desktop里的Exec行。
第三个是临时文件清理。LibreOffice异常退出后,用户配置目录下会留下.~lock.*开头的锁文件,下次打开文档时它误以为文件被占用,弹出"文件正在使用"的提示。删掉对应锁文件即可解决。记住这个锁文件命名规则,以后远程排查服务器文档占用问题时会非常有帮助。
5. 从桌面到浏览器:LibreOffice Online搭建笔记
5.1 搭建方式与系统要求
桌面端跑顺之后,很多人会想:能不能在浏览器里直接预览和编辑文档?这就是LibreOffice Online干的事。搭建之前先把丑话说在前面:Online方案的资源消耗不低,它本质上是把LibreOffice核心跑在服务器上,通过浏览器接口交互。官方推荐的服务器配置是至少2核4G内存,并发预览的文档多了,内存还要往上加。如果在最低配置上跑,最好别有超过两三个用户同时操作的预期。
搭建有两条主流路子。第一条是直接用Collabora Online Development Edition(CODE)的Docker镜像,这是最快能跑起来的方案,适合验证和中小规模使用。第二条是从源码编译,能高度定制,但耗时长、依赖复杂,一般场景没必要。我建议绝大多数人先从Docker入手。
5.2 Docker方式实测
我用的镜像和启动命令大致是这样的:
docker run -d -p 9980:9980 \ -e "domain=yourdomain.example.com" \ -e "username=admin" -e "password=secret" \ --name code \ collabora/codedomain参数限定允许请求这个服务的目标域名,多个域名用逗号分隔。如果只是本机测试,可以填localhost,浏览器访问http://localhost:9980能看到一个包含版本号和OK状态的健康页面,说明服务起了一半。
这里必须强调一个关键认知:LibreOffice Online不能单独使用,它需要一个WOPI协议的客户端配合,最常见的是NextCloud或者自行开发的WOPI桥接服务。也就是说,Docker起来之后,你还需要一个宿主应用(比如NextCloud的Collabora Online插件),通过它点击文档,NextCloud再调用Online实例完成渲染和编辑。如果跳过这层直接打开9980端口,大概率只会看到健康检查页面,误以为部署失败。我第一次搭的时候就在这里卡了半小时,一直排查端口和防火墙,后来才明白是WOPI这层关系没搞清楚。
5.3 在线预览与协作测试
Online服务正常之后,我做了一组跟桌面端对应的测试。第一是预览测试:在NextCloud里打开一个带中文的docx和带公式的odt,确认渲染无误。第二是编辑测试:把光标定位到段落中间,输入几个中文字,保存,再下载回桌面端打开,确认内容没有损坏。第三是协作测试:开两个浏览器窗口同时编辑同一个文档,观察光标同步和内容更新情况。CODE版本支持多人实时编辑,但并发多了延迟会明显上升,这个要有心理预期。
在线场景最容易出问题的是字体。服务器上的LibreOffice Online进程使用服务器系统里的字体,而不是客户端电脑的字体。你在自己电脑上装了思源黑体,但服务器上没有,预览时中文就会用服务器默认字体渲染,排版差异立刻显现。解法是在服务器上也装一套中文字体,执行fc-cache -fv,让Online实例和桌面端一样能找到字体。
5.4 在线模式下的典型坑与性能观察
我的问题记录里,Online相关的主要有三条。
第一条,连接被拒绝或一直转圈。先检查9980端口是否被防火墙挡住,再检查domain参数是否与访问域名一致。Collabora对Host头和域名校验非常较真,用IP直接访问时经常不认,所以测试阶段最好配置好域名,或者临时把domain设成*,生产环境千万别这么干。
第二条,文档保存冲突。多人同时编辑时偶尔会出现"该文档已被修改,是否覆盖"的提示。这是正常的冲突保护机制,不是bug。实际经验是:在线编辑适合人数少、单人主要负责一小段文案的场景,密集协作还是传统文件流转方式更稳妥。
第三条,性能观察。我在一台2核4G的小机器上跑,单用户预览流畅,双用户编辑时内存吃紧,切换到计算密集的复杂文档时出现明显卡顿。后来加大了swap空间,情况缓解但治标不治本。结论是:Online方案定位是轻量协作,重负载场景还是让用户下载到本地处理更现实。
写在后面:我的实际体会
写这篇记录的过程里,我又翻了一遍自己的命令历史。从apt安装到官方tar.gz,从界面切中文到Online搭建,每一步都不是一次成功的,大量时间花在了验证和排错上。但恰恰是这些反复,让我对LibreOffice的认知从"一个打开文档的工具"变成"一套需要细心维护的环境"。
说两个我自己反复用到的经验吧。第一个是遇到异常先怀疑配置和字体,这俩是LibreOffice环境里最容易出问题的环节,排查成本也最低;第二个是每次版本升级前,把线上常用的文档全部跑一遍--headless --convert-to pdf的转换测试,能躲掉绝大多数升级后的回归问题。掌握这两条,你基本不会再被大部分启动类故障卡住。工具这东西,用久了就会知道,真正的效率不在于功能多少,而在于你对它的脾气摸得有多清。