OpenOffice“Java framework”函数createSettingsDocument(elements.cxx)中的错误


5

在RedHad版本的linux上我的openoffice.org有问题。

OpenOffice已成功安装,如果我以root身份运行以下命令行,则从命令行中获取:

[root@s15548792 ~]# /usr/bin/ooffice "StarOffice.ServiceManager" -headless &
[1] 17321
[root@s15548792 ~]# ps | grep soffice.bin
17331 pts/0    00:00:00 soffice.bin

当我更改用户apache时,我得到了这个:

[root@s15548792 ~]# su apache
bash-3.2$ /usr/bin/ooffice "StarOffice.ServiceManager" -headless &
[1] 17341
bash-3.2$ [Java framework] Error in function createSettingsDocument (elements.cxx).
javaldx failed!

[1]+  Done                    /usr/bin/ooffice "StarOffice.ServiceManager" -headless
bash-3.2$ ps -u `whoami` | grep soffice.bin
bash-3.2$

它显然是一个用户问题,但在我看来,所有的OpenOffice.org文件都归apache所有。我现在已经搜索了几天,主要解决方案似乎是将〜/ .config的所有者更改为apache但我无法弄清楚如何做到这一点。

如果在使用php运行命令时有帮助,我会得到以下输出

[0] => Trying to open office... . /usr/bin/ooffice
[1] => [Java framework] Error in function createSettingsDocument (elements.cxx).
[2] => javaldx failed!
[3] => creation of executable memory area failed: Permission denied
[4] => creation of executable memory area failed: Permission denied
[5] => creation of executable memory area failed: Permission denied
[6] => creation of executable memory area failed: Permission denied
[7] => creation of executable memory area failed: Permission denied
[8] => creation of executable memory area failed: Permission denied
[9] => timeout - office could not be started

文件/ usr / bin / ooffice还包含以下内容:

#!/bin/sh
exec openoffice.org "$@"

任何帮助将非常感激。

Answers:


4

我有类似的问题(类似的消息):

在我们的服务器上,nginx在用户下运行 www-data。当我们运行OpenOffice(或我们使用的任何其他应用程序)时,出于安全原因,我们在用户下运行它 www-apps (用户 www-data 能够sudo到 www-apps )。

不幸的是,我得到了这个:

www-data@server:/tmp$ sudo -u www-apps /bin/bash
www-apps@server:/tmp$ oowriter -headless -nologo -norecovery -p report-8846.odt
[Java framework] Error in function createSettingsDocument (elements.cxx).
javaldx failed! 
creation of executable memory area failed: Permission denied

问题是我需要运行 sudo 命令用 -H 更改主目录的参数 /home/www-data/home/www-apps。比起它的魅力。


2

您可能现在已经解决了这个问题,但如果没有,请通过执行找出用户apache的主目录 cat /etc/passwd | grep apache (主目录将是行中的最后一个字段)。将此目录设置为可由用户apache写入。在我的情况下,这解决了问题(虽然我没有使用apache,但使用的是lighttpd,在这种情况下我必须对/ var / www /执行此操作并将其设置为可由www-data写入)。

但是,我是服务器管理的新手,并且不知道这是否会使您的Web服务器不安全。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.