Skip to content

Instantly share code, notes, and snippets.

@nathanielvarona
Last active October 27, 2015 06:44
Show Gist options
  • Save nathanielvarona/ec439401eb501731e840 to your computer and use it in GitHub Desktop.
Save nathanielvarona/ec439401eb501731e840 to your computer and use it in GitHub Desktop.
Collection of startup scripts for headless OpenOffice/LibreOffice soffice listener server. https://github.com/dagwieers/unoconv#conversion-problems

sofficelistener

Collection of startup scripts for headless OpenOffice/LibreOffice soffice listener server

Installation

For SysV Generic Startup Script

$ sudo -s
$ git clone https://gist.github.com/[GIST_ID].git /opt/sofficelistener
$ ln -s /opt/sofficelistener/generic-init.d-sofficelistener.sh /etc/init.d/sofficelistener
$ update-rc.d sofficelistener defaults
$ invoke-rc.d sofficelistener start

Contributing

Other startup scripts to work on.

.
├── sysv-generic-init.d-sofficelistener.sh [DONE]
├── launchagents-org.libreoffice.soffice.plist [TODO]
├── supervisord-soffice.conf [TODO]
├── systemd-soffice.service [TODO]
└── upstart-soffice.conf [TODO]
#!/bin/bash
#
### BEGIN INIT INFO
# Provides: openoffice/libreoffice
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start headless soffice listener server.
# Description: Enable headless soffice listener service.
### END INIT INFO
#
# generic startup script for headless openoffice/libreoffice soffice listener server
#
# chkconfig: 2345 80 30
# description: headless soffice listener server script
# processname: sofficelistener
#
# Author: Nathaniel Varona
# Date: 2014-Sep-11
#
# If sudo user still asking for a password, to avoid this just edit the following.
# sudo nano /etc/sudoers
# %admin ALL=(ALL) NOPASSWD: ALL
SOFFICE_USER="www-data"
SOFFICE_PATH="/usr/bin/soffice"
SOFFICE_ARGS="--headless --nologo --nofirststartwizard --accept=socket,host=localhost,port=2002;urp;StarOffice.ServiceManager"
set -e
case "$1" in
start)
if [[ `pidof soffice.bin` ]]; then
echo "Headless soffice listener server has already started."
exit
fi
echo "Starting headless soffice listener server."
sudo -i -u $SOFFICE_USER $SOFFICE_PATH $SOFFICE_ARGS & > /dev/null 2>&1
;;
stop)
if [[ `pidof soffice.bin` ]]; then
echo "Stopping headless soffice listener server."
kill `pidof soffice.bin`
exit
fi
echo "Headless soffice listener server is not running."
exit
;;
restart)
$0 stop; sleep 5 ; $0 start
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment