跳转到内容

LibreOffice

来自 Arch Linux 中文维基

引自 LibreOffice 官网:

LibreOffice 是一款功能强大且免费的开源办公软件,默认使用开放文档格式 (OpenDocument Format , ODF), 并支持 Microsoft Office (365) 的专有格式。它包含了 Writer, Calc, Impress, Draw, Base 以及 Math 等组件,可用于处理文本文档、电子表格、演示文稿、绘图以及公式编辑。[1]

安装

安装以下官方仓库软件包的其中之一:

  • libreoffice-still 是一个维护分支。 安装稳定版本的简体中文版本:
# pacman -S libreoffice-still libreoffice-still-zh-cn
  • libreoffice-fresh 是一个功能分支,包含新的程序增强功能,适合尝鲜的用户或高级用户。 安装最新版本的简体中文版本:
# pacman -S libreoffice-fresh libreoffice-fresh-zh-cn

LibreOffice 被默认安装有英文用户界面,如果要使用你需要的语言,需要安装对应的语言包。比如简体中文的语言包是 libreoffice-fresh-zh-cn,繁体中文的语言包是 libreoffice-fresh-zh-tw

在启动或重启 LibreOffice 后,用户界面的语言应当自动与系统语言相同;如果不是这样,那有两种可能,要么装错了语言包,要么是手动设置的问题,参见 help.libreoffice.org 来了解更多信息。

注意:

请查看一下 pacman 显示的可选依赖。如果在使用 LibreOffice Base 时嵌入了 HSQLDB,你必须安装 Java 运行时环境。你可能需要 hsqldb2-javaAUR 来启用 LibreOffice Base 中的 一些模块

主题

LibreOffice 包括 GTKQt 主题集合支持。参见文章统一 Qt 和 GTK 应用程序的外观

LibreOffice 会基于您的桌面环境尝试自动检测最合适的 VCL 接口。要强制使用指定 VCL 接口,例如对于 gtk4,设置环境变量 SAL_USE_VCLPLUGIN=gtk4。请在/etc/profile.d/libreoffice-fresh.sh/etc/profile.d/libreoffice-still.sh 中查看更多用户界面选项, 所有变量已被列出,可通过取消注释来启用。

登出(log out)并重新登录后这些更改将会生效。

注意:Wayland 下,若 VCL 接口被设置到 qt6,快速滚动页面时可能会出现性能下降的情况。通过 export SAL_USE_VCLPLUGIN=gtk3 设置 gtk3 的环境变量,似乎就能让系统更加稳定。

管理扩展

有下面的插件可用:

要获取更多插件, 可以查看 AUR、内置的 LibreOffice 扩展插件管理器或访问 libreplanet.

字体

文档基金会 wiki 提到在 Windows 和 macOS 上的 LibreOffice 默认打包的各种字体,而在 Arch 上,安装以下包可获得这些字体:

参见字体#字体包.

语言辅助工具

拼写检查

为了开启拼写检查,首先你需要安装

其次,在 LibreOffice 中勾选 工具 > 选项 > 语言和区域 > 写作辅助 > Hunspell 拼写检查 复选框,重启 LibreOffice 生效。

芬兰语

与其他语言不同,芬兰语的拼写检查和语法检查基于 Voikko。对于 LibreOffice,应安装 voikko-libreofficeAUR

希腊语

项目 Orthos 以 Libreoffice 扩展的形式提供了更完整的希腊语拼写检查。软件包 libreoffice-extension-orthos-greek-dictionaryAUR 提供了纯希腊语拼写词典,而 libreoffice-extension-orthos-greek-english-dictionaryAUR 则提供了希腊语和美式英语词典。

双语言支持

注意:如果你的地区(locale)设置为双语言,Libreoffice 应默认启用 CTL,但有可能会错误设置成印地语.

要启用双语言支持,勾选工具 > 选项 > 语言和区域 > 通用 > 复杂文本排版复选框,并选择合适的语言。可以通过 “右 Ctrl + 右 Shift ”和 “左 Ctrl + 左 Shift ”进行强制语言对齐。有一个已知问题,会在段落样式改变时改变文本方向。

断词换行规则

为了开启换行规则,你需要安装 hyphen 和与语言对应 hyphen 规则(比如英语的 hyphen-en,德语的 hyphen-de 等等)。

词库

对于词库选项, 你需要 libmythes 和一个 mythes 语言词库 (比如英语的 mythes-en , 德语的 mythes-de 等等))。

希腊语

对于希腊语,您可以尝试使用 libreoffice-extension-orthos-greek-thesaurusAUR 替代 mythes-elAUR ,前者包含更多单词。

语法检查

语法检查有多种工具可供选择。最常用的是 languagetool。使用方法会因 LibreOffice 版本的不同而不同。

自版本 7.4 以后,LibreOffice 开始本地支持 LanguageTool,无需安装扩展:

  1. 点击工具 > 选项... > 语言和区域 > LanguageTool 服务器
  2. 勾选启用LanguageTool 复选框。
  3. 使用的 URL 取决于您是拥有远程账号(免费或高级),还是使用本地服务器:
    • 如果您使用远程免费账号,请使用 https://api.languagetool.org/v2。其余两个文本框留空。
    • 如果您使用远程高级账号,请使用 https://api.languagetoolplus.com/v2 作为 “基本 URL”,填写您的电子邮件地址,并输入 API 密钥。
    • 如果已安装 本地 LanguageTool 服务器,请使用 http://localhost:8081/v2 作为 “基本 URL”。用户名 “和 ”API 密钥 "留空。
  4. 点击确定,并打开一个未打开文档。
  5. 勾选复选框工具 > 自动拼写检查

WritingTool 提供了拼写和语法上的写作帮助(由 LanguageTool 驱动)、

访问 LanguageTool 页面了解更多信息.

离线帮助

软件包 libreoffice-stilllibreoffice-fresh 提供 en-US 的离线帮助文件。不同语言的离线帮助文件由相应的 libreoffice 语言包提供(例如,libreoffice-fresh-zh-cn 提供简体中文的帮助文件)。

提示和技巧

更改工具栏图标和图标大小以适应高分辨率屏幕

高分辨率情况下,工具栏的图标会出现模糊和说明文字过小的情况,在默认暗色图标下尤为明显。

解决方案:在工具>选项>外观 中,更改图标,并且把 大小 选项从 自动 调整为 或者 特大

加速启动

本文或本章节的事实准确性存在争议。

原因: 拼写检查和语法检查可能不会影响 LibreOffice 的启动速度并且关闭会限制它的功能。(在 Talk:LibreOffice 中讨论)


  • 关闭启动 LOGO: 如果你希望开启 libreoffice 时启动 logo 不再出现, 可以打开 /etc/libreoffice/sofficerc, 找到Logo= 那一行并且设置 Logo=0。或者使用--nologo CLI 选项。
  • 禁用 Java 运行时: 如果你不使用依赖 Java 的功能,可以考虑禁用 Java 运行时。选择工具 > 选项 > LibreOffice > 高级并取消勾选使用 Java 运行时环境
  • 关闭自动拼写检查: 在工具 > 选项 > 语言和区域 > 写作辅助并取消勾选输入时检查拼写输入时检查语法

宏的安装

如果打算使用宏,你必须启用 Java 运行时 。

对于 Arch Linux 而言,LibreOffice 宏的默认路径与大多数 Linux 发行版不同,该路径位于~/.config/libreoffice/4/user/Scripts/

使用 Base 作为数据库前端

Base 可以作为 PostgreSQL 之类的数据库前端。即使它不能编辑表,但能很好的查看表的属性和字段,还可以隐藏属性,以便更好地概览相关数据。它还可以过滤数据,选择多个字段进行删除,并轻松编辑每个属性值。

它还可以帮助用户通过图形界面构造 SQL 查询。

使用 LibreOffice 或 OpenOffice 进行自动文档转换

使用 LibreOffice 的 --headless 命令行选项可以立即完成文档转换。例如,将当前目录所有的 .odt 文档转换为 .pdf 文件,你可以输入:

$ libreoffice --headless --convert-to pdf ./*.odt

你也可以

$ libreoffice --cat ./*.odt

但这两者都不能打开受密码保护的文档。在使用旧的窗口管理器时,也需要进行相应的调整。[4]

另一种不依赖 OpenOffice 的命令行工具是 unoconvert,而它需要搭配 unoserver 使用(可从 python-unoserverAUR 获得)。unoconvert 是一个使用 LibreOffice 进行自动转换和样式工具,它依靠 unoserver 来与 LibreOffice 进行连接。这个包另外也包含 unocompareunoping 这两个工具,截至 LibreOffice 26(大约是在 2026 年 2 月),这些工具取代了先前的 unoconv 命令[5]unoconvunoconvert 不同之处有:输出显示的区别[6]unoconv 会依赖 OpenOffice 而 unoconvert 不会,更多细节参见与 unoconv 的比较。上述工具的使用都不需要图形界面,并且它们可以打开受密码保护的文档。

提示音

某些用户操作,例如文档未保存时关闭 LibreOffice 会弹出“是否保存文档?”的提示窗口并播放提示音。可以通过更改 GTK 配置选项gtk-enable-event-sounds来启用或禁用提示音。参见 GTK#示例

疑难解答

通常情况用 LibreOffice 的安全模式追踪问题:

$ libreoffice --safe-mode

字体替换

如果文档中存在系统缺失的字体,LibreOffice 会使用另一种的字体来渲染文档,这被称为“字体替换”。

LibreOffice 使用 fontconfig 来解析字体。

为了找出缺少字体的替换字体,你可以执行:

$ fc-match "某字体名称"

如果输出的结果中出现像 某字体名称.otf 这样的内容,代表该字体被正确安装了;如果结果中没有出现,代表没有被安装,从而会被在文档中替换为其他字体。

注意发生字体替换时,LibreOffice 不会表示任何错误或消息,而只是在工具栏中将字体名称显示成斜体来告知发生了字体替换。

LibreOffice 可以覆盖 fontconfig 所指定的字体替换设置。若要覆盖这种 fontconfig 替换,可按以下步骤操作。

从下拉菜单中选 工具 > 选项 > LibreOffice > 字体。勾选“应用替换表”选项。在字体名称输入框中输入所需字体的名称,然后在“替换为”选项中选择想要的字体。完成后点击确认按钮。接着在下面的选项框中选择“始终”和“仅屏幕显示”选项,最后点击“确定”。

抗锯齿

本文或本章节可能需要合并到字体配置

附注: 请提供模板的second参数以more detailed indications。(在 Talk:LibreOffice 中讨论)

执行

$ echo "Xft.lcdfilter: lcddefault" | xrdb -merge

如需使其永久生效,请添加 Xft.lcdfilter: lcddefault 到你的 ~/.Xresources 文件,并且确保执行 xrdb -merge ~/.Xresources来源). 更多信息请查看 X 资源

如果这样不起作用的话,你也可以尝试添加 Xft.lcdfilter: lcddefault 到你的 ~/.Xdefaults 文件。如果文件不存在请创建一个。

使用 NFSv3 共享时突然停止运行

如果在你试图打开或者保存一个位于 NFSv3 共享的文档的时候 LibreOffice 停止运行,试着在 /usr/lib/libreoffice/program/soffice 中添加以下几行,以 # 开头:

# file locking now enabled by default
SAL_ENABLE_FILE_LOCKING=1
export SAL_ENABLE_FILE_LOCKING

为了避免覆盖更新你可以将 /usr/lib/libreoffice/program/soffice 复制到 /usr/local/bin. 原始链接在这里.

对Java framework错误的修正

当你试图运行Libreoffice时可能会出现以下错误。

[Java framework] Error in function createSettingsDocument (elements.cxx).
javaldx failed!

如果是这样的话, 将你的权限赋像这样给 ~/.config/ :

# chown -vR username:users ~/.config

参照 Arch Linux forums 上的这篇帖子.

LibreOffice 无法检测到你的证书

参见官方文档

在编辑模式下运行 .pps 文件(没有幻灯片)

针对此问题的唯一解决办法就是将 .pps 文件的后缀改为 .ppt.

你可以使用下面脚本打开 .pps 文件,它的使用场合是:在不保存的情况下打开 .pps 文件。

#!/bin/sh
f=$(mktemp --suffix .ppt)
cp "$1" "${f}" && libreoffice "${f}" && rm -f "${f}"

参考书目的问题

如果 Writer 在打开工具 > 文献数据库 时崩掉, 且出现了以下提示语句:

com::sun::star::loader::CannotActivateFactoryException

请安装 libreoffice-base[损坏的链接:package not found] ,这是对于一个已知bug的解决办法,请参照解决.

多媒体支持

如果插入的视频只显示为灰框,请先确保你安装了必须的 GStreamer plugins

在 Xfwm4 下内容未按照窗口改变自身大小

如果在 Xfce (或者仅仅使用 Xfwm4) 时你在 LibreOffice 窗口下的内容并未随着窗口变化而改变大小,就类似在这个帖子里描述的: [7]。请安装 libreoffice-still-gnome[损坏的链接:package not found] 来解决这个问题。

gvfs 映射

如果你需要在 gvfs 映射下打开/保存文档,你需要安装 libreoffice-still-gnome[损坏的链接:package not found] .

Writer 和 Draw 中的默认纸张大小

如果空白 Writer 和 Draw 文档中的默认纸张大小在您的区域设置中一直不正确,请尝试安装 libpaper 作为可选依赖项,并通过更新 /etc/papersize(对于系统级更改)或创建 ~/.config/papersize(对于用户级更改)并写入您偏好的纸张大小。参见 paper(1)paper --no-size --all

注意:如果未设置其他值,libpaper 默认使用 Letter 纸张大小。

在非 en_US 系统区域设置下,自动图文集预期默认行为无效

如果系统区域设置不是 en_US,但预期的默认自动图文集行为不存在(例如,在 Writer 文档中输入 fn 后按 F3 键不会自动插入编号函数),则需要将默认的 en_US 自动图文集模板添加到您的自动图文集路径中。操作方法:转到 工具 > 自动图文集...,然后点击 路径...,并将以下路径添加到列表中:/usr/lib/libreoffice/share/autotext/en-US。此时自动图文集应能按默认预期正常工作。

LibreOffice 冻结或崩溃

通过设置环境变量 SAL_DISABLE_OPENCL=1 和/或 SAL_DISABLEGL=1 来禁用 OpenCL 和/或 OpenGL。LibreOffice 安全模式也提供了同时禁用这两者的选项。

如果 LibreOffice 冻结或启动失败并显示“应用程序错误”消息,但在禁用 OpenCL 后正常工作,请尝试安装 OpenCL 运行时

Wayland 和 HiDPI

要解决在 HiDPI 屏幕上 Wayland 下 UI 元素缩放的问题,请尝试指定 VCL 接口(例如 gtk3qt6)。参见 #主题

具有不同缩放比例的多屏幕会受到 一个导致所有屏幕无法正确缩放的错误 的影响。作为临时解决方案,可以在 Xwayland 模式下启动 LibreOffice(例如 WAYLAND_DISPLAY= libreoffice)。

kio-fuse 和 webdav

为确保 LibreOffice 始终回退到 kio-fuse 来处理远程文件(而不是使用其内部的 webdav 实现和密码存储),请从所有 libreoffice*.desktop 文件中的 X-KDE-Protocols 键里移除 ,webdav,webdavs

KDE Plasma/GNOME + Wayland 带或不带分数缩放导致滚动时严重卡顿

KDE Plasma 6 和 5 的用户以及一些在 GNOME 下测试的用户报告了在滚动文档时出现严重卡顿的问题,详见 [8]。通过 X11 运行 LibreOffice 可以 解决该问题(有 报告 指出,在 GNOME 下使用 GTK3 后端时该问题未解决)。可以通过设置环境变量单独实现:在 KDE Plasma(QT)下使用 QT_QPA_PLATFORM=xcb libreoffice,或在 GNOME(GTK)下使用 GDK_BACKEND=x11 libreoffice。有多种应用修复的方法:

  • 可以通过在 ~/.local/share/application/ 中放置同名副本并调整 Exec= 行来覆盖 /usr/share/application/ 中的每个 libreoffice-*.desktop 桌面项
  • 可以在 /usr/local/bin/ 中放置一个可执行脚本以应用系统级修复。例如:
/usr/local/bin/libreoffice
#!/bin/sh

## 重要:请根据您的桌面环境取消注释下面一行,否则 LibreOffice 将无法工作!
#exec env QT_QPA_PLATFORM=xcb /usr/bin/libreoffice "$@"
#exec env GDK_BACKEND=x11 /usr/bin/libreoffice "$@"
  • 用户可以切换回 X11 以缓解该问题。

参见