3. 技术问题。

3.1. WP 8.0 DPE for Linux 在我的 Linux 发行版上安装了,但是无法启动。我该如何解决?

WP 8.0 for Linux 以动态链接的 ELF 二进制文件的形式发布,链接到 libc5 (C 库), libm (相关的数学库), 一组用于基于 libc5 软件的五个 X11 库,以及 ld-linux.so.1.9.* (又名 ld.so 1.9.*),即当时 Linux 上流行的动态链接器/加载器软件。这些旧库在当前的 Linux 发行版中经常被省略。在这种情况下,你需要回溯安装这些库。(你可以通过对 WordPerfect "xwp" 主可执行文件运行 "ldd" = 列出库依赖项 来查看确切的库链接。) 具体来说:在运行 WP 8.0 安装程序之前,你必须安装 ld-linux.so.1.9.* (通常在 ld.so 包中), 版本从 5.3.12 到 5.4.46 的 libc,以及 libm.so.5.* (两者通常都在 libc5 包中), 以及一组针对 libc5 编译的 X11 向后兼容库 (libXt.so.6, libX11.so.6, libXpm.so.4, libSM.so.6, 和 libICE.so.6)。不要忘记确保库的目录列在 /etc/ld.so.conf 中,然后重新运行 /sbin/ldconfig。

这些库和动态链接器/加载器将占用哪些二进制包因发行版而异。如果有疑问,从 http://linux-sxs.org/utilities/wp_index.html 链接的文档可能会提供你发行版的详细信息。(此外,FAQ 章节 "在我找到 WP 8.0 DPE for Linux 后,如何安装它,以及我可以做些什么来改进和修复它?" 提供了更多关于安装问题的细节和补救措施。)

3.2. WP 8.0 DPE for Linux 安装完美,root 用户可以正常运行,但是如果任何非 root 用户启动它,则会因段错误而退出。这是什么原因?

你安装了 Accelerated-X,一个专有的 X11 服务器,并在你的安装中包含了它的 X11 库版本,这些库是用 glibc 编译的。你需要更传统的 XFree86 版本的这些库 (libXt.so.6, libX11.so.6, libXpm.so.4, libSM.so.6, 和 libICE.so.6),特别是那些为 libc5 X11 客户端编译的版本。完全删除 Accelerated-X,重新安装用于 libc5 客户端的 XFree86 共享库 (可能有各种包名,例如 xlib-compat, oldlibs/xlib6 等), 然后仅重新安装 Accelerated-X 服务器 (最小安装)。WordPerfect 应该就能正常运行了。

3.3. 如何阻止 WP 8.x 安装程序收到诊断消息 "../install.wp: [: 18-10: integer expression expected",然后在不久之后因段错误而终止?

你正在启用 "libsafe" 的情况下运行,这是一个包装库,旨在通过阻止已知容易受到缓冲区溢出攻击的库调用来保护系统安全。不幸的是,该技术会阻止任何尝试动态库调用 libc5.x 的二进制文件的执行。WP 8.x 安装程序和 WP 8.0 的运行时二进制文件都是作为 libc5 可执行文件编译的。

要确认 libsafe 是罪魁祸首,请键入 "echo $LD_PRELOAD | grep libsafe"。你可以通过键入 "unset LD_PRELOAD" 来关闭该设置。然后,删除 /etc/ld.so.preload 中的 libsafe 引用,如果存在的话。现在你应该能够成功运行安装程序,并且可以使用一个 shell 脚本来调用主 "xwp" 二进制文件,该脚本在执行 xwp 之前运行 "unset LD_PRELOAD"。

3.4. 如何修复 WP 8.x 安装程序因将文件复制到我的 NFS 网络驱动器时出错而导致的失败?

你可能正在使用 WP 8.x 的个人版之一。只有服务器版本包含启用 NFS 文件锁定支持所需的代码 (在服务器版本中,你可以通过 WPadmin 登录工具启用)。否则,如果任何组件位于 (或将要安装到) 任何 NFS 挂载的驱动器上,包括用户主目录中的用户设置和 /tmp 中的临时文件,安装程序和 WP 程序二进制文件都将无法运行。

3.5. 如何修复 WP 8.x for Linux 上的 MS-Word 导入/导出过滤器 (Filtrix 模块)?

由于编程上的疏忽,关于日期处理的第三方 Filtrix 模块在当前日期设置为 2001 年 9 月 9 日之后的系统上无法工作:在尝试导入/导出 MS-Word 文件时,它会失败并显示错误消息 "Filtrix unable to convert this file"。该问题可以通过安装 Valentijn Sessink 提供的包装器来修复,该包装器可在 http://olivier.pk.wau.nl/~valentyn/wp8fix/ 获取。(此修复程序对于 2003-4 年的 "pilot project" 重新发布版本不是必需的,该版本包含等效的修复程序。)

注意:据报道,Filtrix 模块将无法处理在 MS-Word 中保存时应用了密码保护的 MS-Word .doc 文件。这不是一个 bug:Filtrix 从未处理过此类文件。(Filtrix 也无法处理包含嵌入式非 MS-Word COM 对象 (例如 MS-Excel 中的电子表格) 的 MS-Word 文档。)

导入也会在任何以 Word97 之后版本的 Microsoft .doc 格式保存的文件上失败。这不是一个 bug,只是程序年代久远且缺乏维护的必然结果。

3.6. 为什么 Corel 自己没有发布任何针对 MS-Word / Filtrix 问题的修复程序,特别是考虑到它对盒装版本购买者的义务?

好问题。当问题出现时,Corel 已经停止了所有与 Linux 相关的业务。在此之前不久,微软公司对 Corel 进行了重大投资,防止了后者的倒闭。可能是缺乏精通 Linux 的员工是一个问题,Corel 不希望惹恼其投资者,该公司认为廉价的 Linux 版本正在损害其针对其他 Unix 系统的 500 美元版本的销售 (特别是考虑到这些 Unix 系统上对 Linux 原生二进制文件的支持越来越普遍),或者是在清算整个 Linux 部门后的公司惯性导致了这种疏忽。(Corel 后来被转让给了 Vector Capital,微软联合创始人 Paul Allen 的风险投资公司,该公司将 Corel 私有化。)

Corel 唯一的评论 (2001 年 11 月 5 日) 是 "公司不准备发表任何评论",并在 http://linux.corel.com/support/updates.htm#wp8 上发布了一条自 2001 年底以来未更改的评论,称 "Corel 目前正在与过滤器制造商合作解决此问题"。(当 Corel 在 2003 年 2 月 26 日关闭 linux.corel.com 机器时,该声明仍然存在。)

3.7. 如何使 WP for Linux 与 KDE 地址簿 ("kab") 的集成在 KDE2 / KDE3 中工作?

你不能。WP 仅与 KDE 1.1 中的 "kab" 版本兼容,那是 CLOS 附带的 KDE 版本。由于不明原因,此功能在 Linux 2.4.x 或更高版本的内核上也不起作用。

3.8. 当在大于 16 位/像素的情况下运行 WP for Linux 时,我在图标和其他图形对象上遇到渲染问题。我该如何解决?

这是颜色调色板耗尽的常见症状。唯一的真正解决方法是在较低的颜色深度下运行 X11。32 bpp 有时可以在 24 bpp 不起作用的情况下工作,但 16 bpp 始终有效 (假设硬件支持)。

3.9. 我可以使 WP for Linux 使用 TrueType 字体吗?

不可以。WP 只能使用 PostScript Type 1 字体。Rod Smith 在这里全面介绍了这个问题 (包括描述一个用于从 TrueType 字体生成 PostScript Type 1 字体的实用程序 -- 毫无疑问,由于 "hinting" 例程的省略和其他转换伪影,会导致不可避免的细节损失):http://www.rodsbooks.com/wpfonts/

3.10. 如何使打印工作?

默认情况下,WP for Linux (独特地) 忽略 Linux 的系统打印工具,并使用自己的打印引擎和驱动程序。(后者与 MS-DOS 上的 WP 相同,为程序提供了非常广泛的打印机支持。更多信息可在 http://www.columbia.edu/~em36/wpdos/ 获得,应该也可以通过 http://www.wpdos.org/ 访问。) 你需要配置打印子系统。以 root 用户身份,使用 -admin (或 -adm) 命令行选项启动 xwp,然后使用 "添加打印机驱动程序" 小部件选择并安装合适的打印机驱动程序。(在这些情况下,但不包括接下来讨论的 "Passthru Postscript" 选项,在 "选择目标" 子页面的 "WP8 打印机设置" 对话框的 "Lpr 选项" 框中指定 "-oraw",或者在你的系统打印守护程序 (例如 CUPS) 中定义 "raw" 打印目标。) 或者,选择 "Passthru Postscript" 将作业交给系统打印守护程序,并改用后者的打印驱动程序。

2003-4 年的 "WordPerfect 8 for Linux" 试点项目版本保留了此打印引擎,但默认情况下使用打印目标 WPSpool 的 "Passthru Postscript",这对于与现代 Linux 系统现有的系统打印机制 (主要使用 CUPS) 的兼容性来说是一个合理的默认设置。(你仍然可以选择使用 WP 自己的打印驱动程序,并在你的系统打印后台处理程序中指定 "raw" 打印或在 WP 的打印选项中指定 "-oraw",如上所述。)

3.11. 如何防止 "WordPerfect 8 for Linux" 重新发布版本的安装程序崩溃?

由于安装脚本中的一个错误,2003-4 年 "WordPerfect 8 for Linux" 试点项目版本的安装程序必须在初始设置中将美国英语选项设置为默认值才能运行,否则会失败。然后你可以在安装后选择其他已安装的语言选项之一。

3.12. 我语言的缺失可以从 "WordPerfect 8 for Linux" 重新发布版本中修复吗?

是的。"pilot project" 重新发布版本包含了英语 (英国、美国、加拿大和澳大利亚) 和法语 (加拿大和国家) 的语言模块,但不包括荷兰语、德语、意大利语或西班牙语。这些模块可以从本 FAQ 中其他地方提到的单独下载中安装。安装它们后,你需要将 "/usr/i386-compat-gnulibc1/lib" (或者如果你的 WP 没有安装到 /usr/wplinux 默认目录,则根据实际情况) 作为新行添加到 /etc/ld.so.conf 并重新运行 "ldconfig"。(否则,当你执行语言模块的 ./Runme 脚本时,你会看到关于无法找到 libm.so.5 的错误。)

3.13. 为什么我安装的 PostScript Type 1 字体在 WP 中不可用?

你尚未运行 xwpfi 字体安装程序来通知 WP 它们的存在。(Readme 文件解释了如何使用它。) 请注意,xwpfi 是有意从 WP 8.0 DPE 中省略的。请参阅 FAQ 章节 "如何向 WP 8.1 添加字体?" 以获取更多详细信息。

3.14. 为什么我安装的 PostScript Type 1 字体在 WP 以外的应用程序中不可用?

你尚未配置 X11 以了解它们,尽管你可能已经运行了 xwpfi 来通知 WP 它们的存在。两者是不同的,WP 的字体集成相对于标准 Linux 应用程序的字体集成是不完整的。请参阅 FAQ 章节 "如何向 WP 8.1 添加字体?" 以获取更多详细信息。

3.15. 即使在退出 WordPerfect 后,我仍然在系统进程表中看到进程 "wpexc" 正在运行。如果 WordPerfect 程序是 "xwp",那么 "wpexc" 是什么,为什么它需要保持运行?

Valentijn Sessink 的测试已证实,此进程必须与打印有关:如果你重命名 wpexc 二进制文件,然后启动 WP,打印将出现故障,但其他程序功能不会。即使在你退出 WP 后它仍然运行,这似乎是一个 bug。当不运行 WP 时,你可以安全地终止它。

3.16. "xwppmgr" 进程是什么?

它是 WordPerfect 打印管理器。默认情况下,WordPerfect 管理自己的打印,并且仅在配置后才选择性地将作业交给系统打印工具。

3.17. 如何防止 "xwp" 启动错误版本的 WordPerfect?

(此问题显然仅适用于少数保留多个 WP for Linux 版本的用户。) 在某些版本中,例如 2003-4 年的 "pilot project" 重新发布版本和 WP 8.1 PE,"xwp" 是指向启动器脚本的符号链接。(因此,在安装之前,你应该重命名任何现有的 /usr/bin/xwp,因为安装程序会覆盖它。) 在其他版本中,它是一个二进制文件:运行 "file" 命令可以判断。你可能需要进行一些调试并创建你自己的符号链接,以解开多个版本的启动机制。

3.18. 如何使 WP 支持我的滚轮鼠标?

你需要在启动 WP 之前运行 "imwheel -k" (当然,必须安装该实用程序)。这可以作为一行添加到 WP 启动脚本的顶部 (如果不存在此类脚本,你可以创建它)。

3.19. WP9 停止工作/无法安装,即使使用升级的支持包和安装程序也是如此。我该如何解决?

检查 libc 的版本,它应该在 /lib 中。如果它是 2.3.2 或更高版本 (正如当前几乎所有 Linux 发行版中的情况一样),并且你正在使用 Corelwine 的原始捆绑版本或 Michael Torrie 的 corelwine-cvs-20010613-1.i386.rpm 升级包 (或 Andreas von Heydwolff 的 corelwine-cvs_0.1-2_i386.deb 转换 为 Torrie 发布的 .deb 格式),那就是原因:存在 libc-support 问题,这将需要修复和重新发布 Corelwine。(ld.so 的动态链接器/加载器中的一个 bug 阻止了使用包装器来使用旧版本的 libc 和现有的 Corelwine 库来解决此问题。) 然而,在 2004 年 9 月,Torrie 慷慨地提供了他的 Corelwine 源代码。希望很快会有志愿者编写所需的补丁。