在侦听模式启动 OpenOffice.org

From Apache OpenOffice Wiki
Jump to: navigation, search



《开发者指南》中的大多数示例连接到正在运行的 OpenOffice.org 并执行 API 调用,然后在 OpenOffice.org 中执行 API 调用。默认情况下,出于安全考虑,办公软件不对资源进行侦听。这样,就有必要使OpenOffice.org 对进程间连接资源(例如套接字)进行侦听。目前,侦听可通过两种方法来完成:

  • 通过附加参数启动办公软件:
 soffice -accept=socket,host=0,port=2002;urp;

在 Unix shell 上,必须用引号将该字符串引起来,因为 shell 会解释分号 ';'


  • 将上面的同一字符串去掉 '-accept=' 写入配置文件中。您可以编辑文件
<OfficePath>/share/registry/data/org/openoffice/Setup.xcu
并且可以将标记
  <prop oor:name="ooSetupConnectionURL"/>

替换为

  <prop oor:name="ooSetupConnectionURL">
  <value>socket,host=localhost,port=2002;urp;StarOffice.ServiceManager
  </value>
  </prop>

如果此标记不存在,请在以下标记

  <node oor:name="Office"/>

此更改会影响整个安装。如果要为网络安装中某个具体用户配置此标记,请在节点 <node oor:name="Office/> 内添加同一标记到用户相关配置目录<OfficePath>/user/registry/data/org/openoffice/的文件Setup.xcu


选择所需的过程,并在侦听模式下立即启动 OpenOffice.org。通过在命令行中调用 netstat -a-na 来检查它是否正在侦听。如果输出与下面显示的结果类似,则表示办公软件正在侦听:

 TCP <Hostname>:8100 <Fully qualified hostname>: 0 Listening

如果使用 -n 选项,netstat 将以数字形式显示地址和端口号。这对于 UNIX 系统有时会很有用,因为在 UNIX 中可能会将逻辑名称指定给端口。


如果办公软件没有侦听,可能是由于启动办公软件的连接 URL 参数不正确。检查 Setup.xcu 文件或命令行中是否存在拼写错误,然后重试。


Documentation note.png 注:在 OpenOffice.org 1.1之前的版本中,会有几处不同。

使办公软件每次进行侦听的配置设定位于其他位置。在编辑器中打开文件 <OfficePath>/share/config/registry/instance/org/openoffice/Setup.xml,然后查找以下元素:

<ooSetupConnectionURL cfg:type="string"/>

使用以下代码扩展该元素:

<ooSetupConnectionURL cfg:type="string">
  socket,port=2083;urp;
  </ooSetupConnectionURL>

如果存在运行的办公软件实例(包括快速启动和联机帮助),将忽略命令行选项 -accept。如果要使用该命令行选项,请确保系统中没有任何正在运行的 soffice 进程。


下节讨论连接 URL 的各个部分。

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages