环境:

[root@a786 zwy]# cat /etc/issue
CentOS release 6.7 (Final)
Kernel \r on

openoffice 不能正常启动原因排查。

症状:没有任何输出,启动后,输出对应pid,但是会闪退。

解决方案整理如下:

openoffice4 不能正常启动终极解决方案_解决方案

步骤1:卸载已安装的openoffice4。

1.1 干掉已安装包和文件

[root@dev ~]# rpm -e `rpm -qa |grep openoffice` `rpm -qa |grep ooobasis`
[root@dev ~]# rpm -e `rpm -qa |grep openoffice` `rpm -qa |grep ooobasis`
[root@dev ~]# rm -rf /opt/openoffice4

1.2 查看openoffice是否还存在

1)查看安装包是否还在

rpm -q openoffice*
rpm -q ooobasis*

2)查看进程是否还在

ps ef|grep soffice

3)查看文件是否还在

find / -name *openoffice*

步骤2:安装

yum install

(貌似早期版本,实践证明可用)

2.1 脚本启动openoffice。

1)将如下脚本放到/etc/init.d路径。(其实放哪里都可以)

[root@290bc6e083d6 program]# cat /etc/init.d/soffice
#!/bin/sh
#
# ooffice openoffice conversion service
#
# Author: Ben Ward, <bdw@producepro.com>
#
# Date: June 12, 2012
#
# chkconfig: 345 50 25
# description: Startup script for the Open Office conversion process
# pidfile: /var/run/ooffice.pid

# Source function library.
. /etc/rc.d/init.d/functions

proc="/usr/lib64/libreoffice/program/soffice.bin"
options="--headless \"--accept=socket,host=localhost,port=8100;urp;\" &"
if [ ! -f $proc ]; then
proc="/usr/lib64/openoffice.org3/program/soffice.bin"
options="-headless \"-accept=socket,host=localhost,port=8100;urp;\" &"
fi

prog=ooffice
PID_FILE=/var/run/ooffice.pid

LOG=/var/log/ooffice
if [ ! -f $LOG ]; then
touch $LOG
chmod 644 $LOG
fi

start() {
echo -n $"Starting $prog: "
umask 000
daemon $prog $options
RETVAL=$?
echo
sleep 1
pidofproc $proc > $PID_FILE
echo "`date +\"%Y-%m-%d %T\"` Starting ooffice." >> $LOG
return $RETVAL
}

stop() {
echo -n $"Stopping $prog: "
killproc -p $PID_FILE $prog
RETVAL=$?
echo
echo "`date +\"%Y-%m-%d %T\"` Stopping ooffice." >> $LOG
return $RETVAL
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
status)
status -p $PID_FILE $prog
;;
*)
echo $"Usage: $prog
exit 1
esac

exit $RETVAL

2.2 执行./soffice start 完成启动。

启动后,发现有两个父子进程已经启动。

2.3 ./soffice stop 停止openoffice服务。

结束两个进程。

3. 步骤3:重新安装openoffice4.

3.1 解压openoffice4安装包。

tar -xzvf Apache_OpenOffice_4.1.3_Linux_x86-64_install-rpm_zh-CN.tar.gz

3.2 安装所有rpm

进入RPMS目录,
执行

rpm –ivh *.rpm(安装所有rpm文件)

3.3 安装 noarch.rpm

RPMS目录下有desktop-integration文件夹,进入到desktop-integration目录,里面有四个rpm文件,选择相应的安装即可,这里我选择的是redhat版本。
执行

rpm -ivh openoffice4.1.3-redhat-menus-4.1.3-9783.noarch.rpm

此时openOffice己经安装完成,默认会安装在/opt下

3.4 启动openoffice4

进入/opt/openoffice4/program下,执行如下命令启动openoffice。

soffice -headless -accept="socket,host=192.168.1.177,port=8100;urp;" -nofirststartwizard &

步骤4 判定openoffice是否已经启动成功。

1)查看端口:

[root@z11 ~]# ps -ef |grep 8100
root 2117 18586 0 14:58 pts/1 00:00:00 /usr/lib64/libreoffice/program/oosplash -headless -accept=socket,host=192.168.1.177,port=8100;urp; -nofirststartwizard
root 2134 2117 99 14:58 pts/1 00:11:49 /usr/lib64/libreoffice/program/soffice.bin -headless -accept=socket,host=192.168.1.177,port=8100;urp; -nofirststartwizard
root 3382 3300 0 15:10 pts/11 00:00:00 grep --color=auto 8100

2)查看进程:

[root@zsksvr11 ~]# ps -ef | grep soffice
root 2134 2117 99 14:58 pts/1 00:12:28 /usr/lib64/libreoffice/program/soffice.bin -headless -accept=socket,host=192.168.1.177,port=8100;urp; -nofirststartwizard
root 3476 3300 0 15:11 pts/11 00:00:00 grep

至此,问题解决。

执行脚本参考:
​​​https://pastebin.com/Zcnw7zGN​

2017年08月17日 22:14 于家中床前

作者:铭毅天下 转载请标明出处,​​ 如果感觉本文对您有帮助,请点击支持一下,您的支持是我坚持写作最大的动力,谢谢!