跳至內容

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 以緩解該問題。

參見