LinuxCommandLibrary

unopkg

Manage OpenOffice.org/LibreOffice extensions

TLDR

Add and deploy given extension

$ unopkg add [path/to/extension]
copy

Remove extension
$ unopkg remove [extensions_id]
copy

Display information about deployed extensions
$ unopkg list
copy

Raise extensions dialog (GUI)
$ unopkg gui
copy

Reinstall all deployed extensions
$ unopkg reinstall
copy

Display help
$ unopkg [[-h|--help]]
copy

SYNOPSIS

unopkg [] []
unopkg install [--shared]
unopkg remove [--shared]
unopkg list [--shared]
unopkg pack
unopkg gui
unopkg --help | -h
unopkg --version | -V

PARAMETERS

install
    Installs the specified UNO package. If is a URL, unopkg will download and install the extension.

remove
    Removes the UNO package identified by its unique ID or its registered name. Use list to find identifiers.

list
    Lists all currently installed UNO packages, displaying their IDs, names, and versions.

update
    Updates the specified UNO package. The exact behavior can vary; sometimes it requires a new .oxt file path.

pack
    Packs a directory containing extension files into a new .oxt package file, ready for distribution or installation.

gui
    Launches the graphical Extension Manager, providing an interactive interface to manage extensions.

--shared
    When used with install, remove, list, or update, this option directs the operation to system-wide shared extensions. This typically requires root privileges. By default, operations affect user-specific extensions.

--user
    Explicitly specifies that the operation should be performed on user-specific extensions. This is the default behavior if --shared is not specified.

--help, -h
    Displays a brief help message with common usage and options, then exits.

--version, -V
    Shows the version information of the unopkg utility and exits.

--verbose
    Increases the verbosity of the output, providing more detailed information about the executed operations. Useful for debugging.

DESCRIPTION

unopkg is a command-line utility used to manage extensions for LibreOffice and OpenOffice.org, often referred to as UNO packages. These extensions, typically found in .oxt files, can add new functionalities, templates, dictionaries, or modules to the office suite. The unopkg tool allows users and administrators to perform various operations such as installing new extensions, removing existing ones, listing installed packages, updating packages, and even creating (packing) new .oxt files from a development directory. It's particularly useful for automating the deployment of extensions in corporate environments, for managing LibreOffice instances running in a server context (e.g., headless mode), or for developers who need to quickly install and test their extensions without using the graphical Extension Manager. Extensions can be installed for the current user only or system-wide, affecting all users on the system, depending on the options used and user permissions.

CAVEATS

Running unopkg operations that affect system-wide shared extensions (using the --shared option) typically requires root or administrator privileges. Without LibreOffice or OpenOffice.org being properly installed and configured on the system, unopkg will not function correctly. Extension compatibility can be an issue; an extension designed for one version of LibreOffice might not work or install correctly on a significantly different version. While powerful for automation, direct manipulation of extension files outside unopkg or the GUI manager is generally discouraged to avoid corruption.

EXTENSION LOCATIONS

UNO packages can be installed in two primary locations:
User-specific: Typically located in the user's LibreOffice configuration directory (e.g., ~/.config/libreoffice/4/user/uno_packages/cache/uno_packages on Linux). These extensions are only available to the user who installed them.
Shared (System-wide): Usually found in a system-wide LibreOffice installation directory (e.g., /usr/lib/libreoffice/share/uno_packages/cache/uno_packages or /opt/libreoffice/share/uno_packages/cache/uno_packages). These extensions are available to all users on the system and require administrative privileges to manage.

HISTORY

The unopkg command has been an integral part of the OpenOffice.org suite since its early days, designed to manage extensions built upon the Universal Network Objects (UNO) framework. Following the fork, it continued its development as part of the LibreOffice project. Its primary purpose has always been to provide a robust command-line interface for IT administrators, developers, and users who need to automate the installation, removal, or update of extensions, especially in headless or large-scale deployment scenarios, bypassing the graphical Extension Manager.

SEE ALSO

Copied to clipboard