Running a LibreOffice serverΒΆ

This page is obsolete 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=,port=8100;urp;'

You can kill this process using Ctrl-C. Having libreoffice running like this can cause another (desktop) libreoffice process to fail.

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 with django-channels, an extension to the notification framework):

  • 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:

    command=libreoffice --accept="socket,host=,port=8100;urp;" --nologo --headless --nofirststartwizard
    user = root
    umask = 0002
  • 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