Running a LibreOffice serverΒΆ

Read Lino and LibreOffice before reading this page.

This page is probably useless because getlino does these things automatically.

The lino_xl.lib.appypod plugin uses appy.pod which in turn uses python3-uno to connect to a LibreOffice server.

appy.pod is part of the appy Python package and was automatically installed together with Lino into your Python environment.

But appy requires two system packages libreoffice and python3-uno which must be installed using something like this:

$ sudo apt-get install libreoffice python3-uno

If this fails, you might try with adding the LibreOffice Fresh PPA:

$ sudo add-apt-repository ppa:libreoffice/ppa
$ sudo apt update
$ sudo apt upgrade

Then you need to run a LO server. For occasional or experimental usage you can fire it up manually using something like this:

$ libreoffice '--accept=socket,host=127.0.0.1,port=8100;urp;' &

You might create an executable bash script named oood in your PATH with above line.

But for regular usage and especially on a production server you will want to use a startup script. We recommend supervisor (which is also used for The Lino Daemon):

  • Install the Supervisor package:

    $ sudo apt-get install supervisor
    

    Note that the supervisor package is being installed system-wide, it is not related to any specific project.

  • Create a file libreoffice.conf in /etc/supervisor/conf.d/ with this content:

    [program:libreoffice]
    command=libreoffice --accept="socket,host=127.0.0.1,port=8100;urp;" --nologo --headless --nofirststartwizard
    user = root
    
  • Restart supervisord:

    $ sudo service supervisor restart
    
  • Have a look at the log files in /var/log/supervisor and check the status:

    $ sudo service supervisor status
    
  • When everything works, then add supervisor as a service so that it gets automatically started after a system restart:

    $ sudo systemctl enable supervisor