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

简介: 环境:[root@a786 zwy]# cat /etc/issueCentOS release 6.7 (Final)Kernel \r on an \m123openoffice 不能正常启动原因排查。症状:没有任何输出,启动后,输出对应pid,但是会闪退。解决方案整理如下:

image.png

步骤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

3

1.2 查看openoffice是否还存在

1)查看安装包是否还在


rpm -q openoffice*

rpm -q ooobasis*

1

2

2)查看进程是否还在


ps ef|grep soffice

1

3)查看文件是否还在


find / -name *openoffice*

1

步骤2:安装

yum install openoffice.org-headless

1

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


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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

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

1

3.2 安装所有rpm

进入RPMS目录,

执行


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

1

3.3 安装 noarch.rpm

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

执行


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

1

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


3.4 启动openoffice4

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


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

1

步骤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

1

2

3

4

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

1

2

3

至此,问题解决。


执行脚本参考:

https://pastebin.com/Zcnw7zGN

相关文章
|
Linux
Linux环境下安装和配置OpenOffice及常见问题解决
本文主要讲解在Linux环境下,如何安装OpenOfice环境,及配置开机自启动
6539 0
Linux环境下安装和配置OpenOffice及常见问题解决
使用uniapp实现websocket聊天功能
使用uniapp实现websocket聊天功能
|
11月前
|
敏捷开发 测试技术 持续交付
探索软件测试中的自动化与持续集成
在快速迭代的软件开发环境中,自动化测试和持续集成(CI)已成为确保产品质量和加速交付的关键策略。本文将深入探讨自动化测试的基本原理、实施步骤以及它如何与持续集成流程相结合,以提高软件开发的效率和可靠性。我们将通过实际案例分析,展示自动化测试和CI的最佳实践,以及它们如何帮助企业实现更快的市场响应时间和更高的客户满意度。
147 16
|
12月前
|
人工智能 运维 Serverless
Serverless + AI 让应用开发更简单
随着云计算和人工智能(AI)技术的飞速发展,企业对于高效、灵活且成本效益高的解决方案的需求日益增长。本文旨在探讨 Serverless 架构与 AI 技术的结合,如何通过 Serverless 函数计算和 AI 开发平台,助力企业简化应用开发流程,减少企业 AI 业务试错成本,加速业务创新,为企业业务发展提供无限可能。
|
12月前
|
Java Spring
springboot 学习十一:Spring Boot 优雅的集成 Lombok
这篇文章是关于如何在Spring Boot项目中集成Lombok,以简化JavaBean的编写,避免冗余代码,并提供了相关的配置步骤和常用注解的介绍。
667 0
|
10月前
|
SQL Oracle 关系型数据库
Navicat还原DMP文件步骤
Navicat还原DMP文件步骤
423 13
|
12月前
|
搜索推荐 数据挖掘 UED
分享一些利用商品详情数据挖掘潜在需求的成功案例
本文介绍了四个成功利用商品详情数据挖掘潜在需求的案例:亚马逊通过个性化推荐系统提升销售额;小米通过精准挖掘用户需求优化智能硬件生态链;星巴克推出定制化饮品服务满足用户多样化口味;美妆品牌利用数据改进产品配方和设计,制定针对性营销策略。这些案例展示了数据挖掘在提升用户体验和商业价值方面的巨大潜力。
|
监控 数据可视化 BI
ERP系统中的财务报告与财务分析解析
【7月更文挑战第25天】 ERP系统中的财务报告与财务分析解析
647 4
|
安全 jenkins Devops
Jenkins 安全性和权限管理
【8月更文第31天】随着 DevOps 实践的普及,Jenkins 已经成为许多组织中不可或缺的一部分,用于自动化软件开发生命周期中的构建、测试和部署流程。然而,随着 Jenkins 的广泛应用,其安全性也变得越来越重要。Jenkins 提供了一系列的安全特性,包括访问控制列表(ACL)、认证和授权机制,以确保只有经过适当授权的用户才能访问和操作 Jenkins 系统。本文将详细介绍如何配置 Jenkins 的 ACL 以及其他安全措施,以保护 Jenkins 服务器免受未授权访问和攻击。
944 0
|
SQL Java 关系型数据库
【Java】已解决Java中的com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException异常
【Java】已解决Java中的com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException异常
1334 0