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

环境:

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

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

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

解决方案整理如下:
这里写图片描述

步骤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 openoffice.org-headless 

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

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 {start | stop | restart | status}"
  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 --color=auto soffice

至此,问题解决。

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

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

作者:铭毅天下
转载请标明出处,原文地址:
http://blog.csdn.net/laoyang360/article/details/77342583
如果感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力,谢谢!

发布了359 篇原创文章 · 获赞 2735 · 访问量 329万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览