由 Patrick D'Cruze 贡献 ( pdcruze@netpal.com.au)
1. 我没有在我的 .bash_profile 脚本中 sourcing .sd.sh (或 .sd.csh) 文件,而是复制了 .sd.sh 脚本,将其重命名为 swriter 并复制到 /usr/local/bin。然后我通过添加一个
#! /bin/bash
在脚本的开头 和一个
exec swriter3 $*
在脚本的末尾。现在我所要做的就是运行 swriter,它会自动设置适当的环境变量,然后运行 StarWriter。 这样就避免了这些环境变量污染其他应用程序/环境。
2. 我注意到很多人反映 StarOffice 加载时间很长(超过 60 秒)。Usenet 上的共识是,大部分时间是由于动态链接器必须进行的符号重定位。也就是说,对于每个新符号,动态链接器都必须找到相应的库。StarOffice 动态链接了相当多的库,因此动态链接器花费了相当多的时间搜索大量库。
对此有一个解决方案。我在 chroot jail 中运行 StarOffice。在 jail 中,我只放入 StarOffice 使用的二进制文件和库(所有来自 /usr/X11R6/lib、libc/libm 和 libg++/libstdc++ 的库)。StarWriter 在我的 P133/32MB 机器上大约需要 15 秒才能启动。这是因为存在的库只是 StarOffice 需要的库,因此动态链接器花费的时间相对较少,搜索系统上的所有库(即,它不会搜索 /usr/lib 等中的所有无用库来解析符号)。