权限导致soffice(libreoffice/openoffice)无法运行的问题
以tomcat8用户运行soffice服务:
1 | $ sudo -u tomcat8 soffice --accept="socket,host=0,port=8100;urp;StarOffice.ServiceManager" --headless --nofirststartwizard --nologo --nodefault --nocrashreport --nolockcheck & |
提示错误:
1 | \[Java framework\] Error in function createSettingsDocument (elements.cxx). |
这是由于soffice没有权限无法写配置文件造成的错误。
tomcat8的用户主目录为/usr/share/tomcat8,此目录的所有者和组都是root,soffice需要在用户主目录下写.config和其他配置文件才能正常工作,所以造成了以上问题。
如果非要使用tomcat8用户来运行soffice,则可以这样来解决此问题:
1 | $ sudo chown tomcat8:tomcat8 /usr/share/tomcat8 |
如果一个用户对自己的主目录都没有所有权,这怎么也说不过去吧。
update(17/10/2019):
tomcat9 on debian buster系统,启动soffice时提示:
1 | javaldx failed! |
tomcat9在系统内的用户为tomcat,主目录为/
1 | $ sudo systemctl stop tomcat9.service |
再次运行soffice一切正常。
1 | sudo -u tomcat8 /usr/bin/tomcat soffice --accept="socket,host=0,port=8100;urp;StarOffice.ServiceManager" --headless --nofirststartwizard --nologo --nodefault --nocrashreport --nolockcheck & |
===
[erq]