LibreOffice
From LibreOffice website:
- LibreOffice is a powerful, free and private office suite - the successor project to OpenOffice - used by millions of people around the world. It's compatible with Microsoft Office (365) and is backed by a non-profit organisation, The Document Foundation. LibreOffice includes Writer (word processing), Calc (spreadsheets), Impress (presentations), Draw (vector graphics and flowcharts), Base (databases), and Math (formula editing).[1]
Installation
Install one of the following packages:
- libreoffice-still is the stable maintenance branch with relatively rare updates, for conservative users.
- libreoffice-fresh is the feature branch, with new program enhancements for early adopters or power users.
- In the past, the installation of at least 1 language pack was required. Currently, LibreOffice detects your system defaults and sets as locale setting; manual installation of a language pack is no longer needed, except to add additional languages. See help.libreoffice.org for additional information.
- The British English language pack (libreoffice-fresh-en-gb) should not be confused with the pack for Ukranian (libreoffice-fresh-uk) or Breton (libreoffice-fresh-br).
- For the SDK install libreoffice-fresh-sdk.
Check the optional dependencies pacman displays. If you use HSQLDB Embedded in LibreOffice Base, you must install a Java Runtime Environment. You may need hsqldb2-javaAUR to use some modules in LibreOffice Base.
Theme
LibreOffice includes support for GTK and Qt theme integration. See also Uniform look for Qt and GTK applications.
LibreOffice will try to auto detect the most suitable VCL interface based on your desktop environment. To force the use of a certain VCL interface, e.g. "gtk4" set the environment variables SAL_USE_VCLPLUGIN=gtk4
. For more user interface options see /etc/profile.d/libreoffice-fresh.sh
or /etc/profile.d/libreoffice-still.sh
, where the variables are listed and can be uncommented.
Extension management
The following additional extensions are available:
- libreoffice-extension-texmaths, which can create LaTeX mathematical equations (as PNG or SVG images) inside Writer, Impress, and Draw [2]
- libreoffice-extension-writer2latex, which can convert Writer documents to LaTeX files [3]
For more extensions, check the AUR, the built-in LibreOffice Extension manager, or libreplanet.
Fonts
The Document Foundation wiki mentions various fonts that are packaged by default with LibreOffice on Windows and macOS. On Arch, the following packages may be installed for the fonts:
- ttf-caladea
- ttf-carlito
- ttf-dejavu
- ttf-gentium-basicAUR
- ttf-liberation
- ttf-linux-libertine-g
- noto-fonts
- adobe-source-code-pro-fonts
- adobe-source-sans-fonts
- adobe-source-serif-fonts
Also see Fonts#Font packages.
Language aids
Spell checking
For spell checking, please make sure hunspell is properly installed; this should be the case for both still and fresh LibreOffice versions. Then install a language dictionary for hunspell like hunspell-en_us for American English or hunspell-de for German (check the AUR if your language is not in the official repositories). Then enable the Writing aids by selecting the check-box in Tools > Options > Language Settings > Writing Aids > Hunspell SpellChecker after restarting LibreOffice.
- Finnish
Unlike other languages, Finnish spellchecking and grammar checking are based on Voikko. For LibreOffice voikko-libreofficeAUR should be installed.
- Greek
Project Orthos provides more complete Greek spell checkers as Libreoffice extensions. Package libreoffice-extension-orthos-greek-dictionaryAUR provides a Greek-only spelling dictionary, while libreoffice-extension-orthos-greek-english-dictionaryAUR provides one that bundles Greek and US English.
Bidirectional support
To enable Bidi support, select the check-box for Complex Text Layout (CTL) from: Tools > Options... > Languages and Locales > General > Default Languages for Documents, then choose the appropriate language. Language alignment can then be forced by RCtrl + RShift and LCtrl + LShift. There's a known issue that switches text direction when paragraph style changes.
Hyphenation rules
For hyphenation rules, you will need hyphen and a language hyphen rule set (hyphen-en for English, hyphen-de for German, etc).
Thesaurus
For the thesaurus option, you will need libmythes and a mythes language thesaurus (like mythes-en for English, mythes-de for German, etc).
- Greek
For Greek, instead of mythes-elAUR you may want to try out libreoffice-extension-orthos-greek-thesaurusAUR, which includes more words.
Grammar checking with LanguageTool
For grammar checking, several tools are available. The most common is languagetool. Instructions on how to use it depend on which version of LibreOffice you have.
Since version 7.4, LibreOffice supports LanguageTool natively, no extensions are needed:
- Click on Tools > Options... > Language and Locales > LanguageTool Server.
- Enable LanguageTool by selecting the check-box.
- The URL to use depends on whether you have a remote account (free or premium), or are running a local server:
- If you have a remote free account, use
https://api.languagetool.org/v2
. Leave the other two text fields blank. - If you have a remote premium account, use
https://api.languagetoolplus.com/v2
as "Base URL", write your email address, and type in the API key. - If you have set up a local LanguageTool server, use
http://localhost:8081/v2
as "Base URL". Leave User name and API Key empty.
- If you have a remote free account, use
- Click OK, and open a Writer document if one is not already open.
- Select the check-box Tools > Automatic Spell Checking.
See LanguageTool page for more information.
Offline help
libreoffice-still and libreoffice-fresh provide the offline help files for en-US. Help files for different locales is provided by the appropriate libreoffice language package, (i.e., libreoffice-fresh-en-za provides the help files for en-ZA locales).
Tips and tricks
Speed up startup
- Disable startup logo: If you prefer to disable the startup logo screen with loading progress, open
/etc/libreoffice/sofficerc
, find theLogo=
line and set it toLogo=0
. Alternatively, use the--nologo
CLI option. - Disable Java Runtime: If you are not using features that rely on Java, consider disabling the Java runtime. Go to Tools > Options > LibreOffice > Advanced and uncheck Use a Java runtime environment.
- Turn off AutoSpellcheck: in Tools > Options > Language Settings > Writing Aids uncheck Check spelling as you type and Check grammar as you type.
Installing macros
If you intend to use macros, you must have a Java Runtime Environment enabled.
The default path for macros in Arch Linux is different from most Linux distributions. Its location is: ~/.config/libreoffice/4/user/Scripts/
.
Base as a database frontend
Base can be used as a frontend to a database like PostgreSQL. It cannot edit the tables but It gives a very nice overview of the columns and rows of a table with the possibility of hiding columns for better overview of the relevant data. It can also filter the data and enables deletion of multiple rows by selecting them and easy editing of single cells.
It can also help construct SQL queries with the help of a query GUI.
Automated document conversion based on LibreOffice or OpenOffice
Document conversion can be done by libreoffice directly if called with the --headless
command line option. For example, to convert a .odt
into .pdf
file, you can issue:
$ libreoffice --headless --convert-to pdf ./*.odt
Another option is to use the command line tool unoconv, which is an automated conversion and styling tool that uses LibreOffice. Even though it requires more work [4], it is still very useful as it is. It either connects to a running LibreOffice, starts one for its own usage, or connects to a running instance that was started explicitly for its usage. A running X server is not required.
Notification sounds
Some user actions like closing LibreOffice with an unsaved document will bring up the "Save Document?" popup window together with a notification sound. Enabling/disabling notification sounds can be tried by changing the GTK configuration option gtk-enable-event-sounds
, see GTK#Examples.
Troubleshooting
A general way to track down problems is the safe mode in LibreOffice:
$ libreoffice --safe-mode
Font substitution
In case the document uses a font that is not installed in the system, LibreOffice will use an alternative font to render the document. This is called "font substitution".
LibreOffice uses fontconfig to resolve fonts.
To find out which font is the substitute for a missing font, you can issue:
$ fc-match "My Font"
If the result is something like My Font.otf
, it means the font is correctly installed. If the result is something different, it means that "My Font" is not installed and is being substituted by something else.
Note that LibreOffice will not issue any errors or messages when it substitutes a font with another. It just puts the name of the font on the toolbar in italics, which mean the font is missing and is being substituted.
Substitution proposed by fontconfig can be overridden with LibreOffice. To override a fontconfig substitution, proceed as follows.
From the drop-down menu, select Tools > Options > LibreOffice > Fonts. Check the box that says Apply Replacement Table. Type the name of your font, for example My Font
, in the font box and choose your desired font for the Replace with option. When done, click the checkmark. Then choose the Always and Screen only options in the box below. Click OK.
Anti-aliasing
Execute:
$ echo "Xft.lcdfilter: lcddefault" | xrdb -merge
To make the change persistent, add Xft.lcdfilter: lcddefault
to your ~/.Xresources
file, and make sure to run $ xrdb -merge ~/.Xresources
(source). See X resources for more details.
If this does not work, you can also try adding Xft.lcdfilter: lcddefault
to your ~/.Xdefaults
. If you do not have this file, you will have to create it.
If LibreOffice hangs when trying to open or save a document located on a NFSv3 share, try prepending the following lines with a #
in /usr/lib/libreoffice/program/soffice
:
# file locking now enabled by default SAL_ENABLE_FILE_LOCKING=1 export SAL_ENABLE_FILE_LOCKING
To avoid overwriting on update you can copy /usr/lib/libreoffice/program/soffice
in /usr/local/bin
. Original post here.
LibreOffice does not detect certificates
See the official documentation.
Run .pps files in edit mode (without slideshow)
The only solution is to rename the .pps
file to .ppt
.
Add the following script to your home directory and use it to open every .pps
file. Very useful to open .pps
files received by email without the need to save them.
#!/bin/sh f=$(mktemp --suffix .ppt) cp "$1" "${f}" && libreoffice "${f}" && rm -f "${f}"
Media support
If embedded videos are just gray boxes, make sure to have installed the GStreamer plugins required.
Default paper size in Writer and Draw
If the default paper size in blank Writer and Draw documents is persistently incorrect for your locale, try installing the libpaper optional dependency and either updating /etc/papersize
(for a system-wide change) or exporting the PAPERSIZE
environment variable (for a user change) with your preferred paper size. See papersize(5)[dead link 2023-03-12].
LibreOffice toolbars unreadable with dark Breeze/Plasma 5 theme
Change the icon style in Tools > Options > LibreOffice > View > Icon Style to "Breeze Dark" or another readable icon style. You may need to install the breeze-gtk package.
If that is not enough, ensure that LibreOffice starts using the gtk3
or gen
interface (see #Theme).[5]
AutoText expected default behaviour not functional in system locales other than en_US
If expected default AutoText behaviour is not present (for example, typing fn
in a document in Writer and then pressing the F3
key does not result in the automatic insertion of a numbered function) when the system locale is not en_US
you need to add the default en_US
AutoText templates to your AutoText path. To do this, go to Tools > AutoText..., then click on Path... and add the following path to the list: /usr/lib/libreoffice/share/autotext/en-US
. AutoText should now work as expected by default.
LibreOffice freezes or crashes
Disable OpenCL and/or OpenGL by setting the environment variable SAL_DISABLE_OPENCL=1
and/or SAL_DISABLEGL=1
. The LibreOffice safe mode also offers the option to disable both.
If LibreOffice is freezing or failing to start with the message "Application Error" but works fine when OpenCL is disabled, try installing an OpenCL runtime.
Wayland and HiDPI
To work around issues with scaling UI elements in Wayland on HiDPI screens, try to specify a VCL interface (e.g., gtk3
or qt6
). See #Theme.
Multiple screens with different scaling are affected by a bug preventing proper scaling on all screens. As a workaround start LibreOffice in Xwayland-mode (e.g. WAYLAND_DISPLAY= libreoffice
).
KDE Plasma under Wayland only shows the generic LibreOffice icon for each application
The KDE Plasma taskbar under Wayland only displays the generic LibreOffice icon instead of specific icons for Writer, Calc, Impress, etc. To address the issue, modify the .desktop files for each LibreOffice application to include the environment variable QT_QPA_PLATFORM=xcb
. Log out and log back in for the fix to go into effect.
kio-fuse and webdav
To ensure LibreOffice always falls back on kio-fuse for remote files (instead of its internal webdav implementation and password store), remove ,webdav,webdavs
from the X-KDE-Protocols
key in all libreoffice*.desktop
files.
KDE Plasma/GNOME + Wayland with or without fractional scaling results in terrible lag when scrolling
Users of KDE Plasma 6 and 5 and some users testing with GNOME have reported issues of terrible lag while scrolling through documents as reported in [6]. Running LibreOffice through X11 can solve the issue (There are reports that the issue is not resolved in GNOME when using the GTK3 backend). This can be done individually by the setting the environment variable QT_QPA_PLATFORM=xcb libreoffice
while in KDE Plasma (QT) or GDK_BACKEND=x11 libreoffice
while in GNOME (GTK). Each .desktop file can be edited to permanently apply the change until a fix is found. Users can also switch back to X11 to mediate the issue.