In Projekten verwende ich öfters OpenOffice (OO) um aus einer Anwendung heraus Office (und PDF) Dokumente zu erzeugen. OO bietet hierfür die Möglich, über das Netz per UNO ferngesteuert zu werden.
Persönlich finde ich die UNO API zwar, hmm, gewöhnungbedürftig, aber man kann sein Ziel erreichen. Leider läßt sich OO nicht so ohne weiteres als Serverdienst starten. Unter Windows kann man mit srvany zwar recht einfach eine OO Installation in einen Dienst verwandeln, unter Linux (im aktuellen Fall handelte es sich um Debian und Ubuntu) stellte es sich leider etwas umständlich dar.
Auf [1] ist zwar eine Anleitung und auch ein Initscript auf der Basis von start-stop-daemon, leider lief da bei mir nicht out of the Box.
[1] http://www.dokeos.com/wiki/index.php/MakeOOOListening
Zum einen war der erzeugte start-stop-daemon Aufruf falsch (Xvfb) beschwerte sich über Parameter, zum anderen setzt das start-stop-daemon die Umgebungsvariable HOME nicht auf das Homeverzeichniss des per -chuid übergebenen users. Bemerkbar macht sich das in der vielsagenden Fehlermeldung:
[Java framework] Error in function createUserSettingsDocument (elements.cxx).javaldx failed!
[Java framework] Error in function createUserSettingsDocument (elements.cxx).
Ein Eintrag auf [2] brachte mich dann auf die Spur.
[2] http://linuxwiki.de/OpenOffice.org
Letzlich läuft OO jetzt als Dienst von /etc/init.d/ aus, auch wenn ich noch nicht recht glücklich bin. Sobald ich das Script etwas robuster hab, werd ich es hier bereitstellen.
0 comments:
Post a Comment