Lotus Notes 从版本 7 开始正式支持 Linux 平台,但是官方只支持 Red Hat Linux。本文介绍了在颇为流行的桌面操作系统 Ubuntu Linux 6.10 上安装和使用 Lotus Notes 7.0.1 时会遇到的问题,以及如何解决这些问题。这些经验同样可以适用于其他 Linux 分发版。
从版本 7 开始,IBM 的群件产品 Lotus Notes 正式开始支持 Linux 平台,v7.0.1 是 Lotus Notes for Linux 的第一个公开发布。与相应的 Windows 版本的 Lotus Notes 客户端不同的是,Lotus Notes for Linux 是通过一个名为 IBM Workplace Managed Client 的框架来提供功能的。正因如此,在安装 Lotus Notes for Linux 的同时也会安装此 IBM Workplace Managed Client 框架。在以下对安装过程的描述中将会对此有详细说明。
Ubuntu 是一款起步于 Debian 的 Linux 分发版,当然也是开放源码、完全免费的。Ubuntu 的目标是构建一个面向最终用户、易用的操作系统,事实也的确如此。它每六个月发布一个新版本,开发团队和社区为每个版本都提供 18 个月的支持,其中 v6.06 拥有长达 3 年的支持时间(服务器版是 5 年)。最近的一个版本是 v6.10,发布于 2006 年 10 月。Ubuntu 使用 GNOME 作为桌面环境,它还有两个相关项目组:Kubuntu(使用 KDE 桌面),Xubuntu(使用 Xfce 桌面)。Ubuntu 的主要赞助者、支持者是 Canonical 公司。
约定与目标
正如摘要中所说,本文的目标是在 Ubuntu Linux 6.10 上安装 Lotus Notes for Linux 7.0.1,为了行文的方便,特做如下约定:
使用的操作系统用户名为 huangys,其宿主目录为 /home/huangys/
原始安装文件位于 /home/huangys/notes_inst_files/
IBM Workplace Managed Client 框架将被安装到 /opt/IBM/WorkplaceManagedClient/
切换 Ubuntu 系统至英文状态
Ubuntu 默认统一采用 UTF-8 作为字符集,而不是匹配各种语言的常规字符集(比如简体中文的 GB2312,GBK 等)。查看中文状态的 Ubuntu 如下:
huangys@sea:~$ locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh
LC_CTYPE=”zh_CN.UTF-8″
LC_NUMERIC=”zh_CN.UTF-8″
LC_TIME=”zh_CN.UTF-8″
LC_COLLATE=”zh_CN.UTF-8″
LC_MONETARY=”zh_CN.UTF-8″
LC_MESSAGES=”zh_CN.UTF-8″
LC_PAPER=”zh_CN.UTF-8″
LC_NAME=”zh_CN.UTF-8″
LC_ADDRESS=”zh_CN.UTF-8″
LC_TELEPHONE=”zh_CN.UTF-8″
LC_MEASUREMENT=”zh_CN.UTF-8″
LC_IDENTIFICATION=”zh_CN.UTF-8″
LC_ALL=
而另一方面,IBM Workplace Managed Client 的安装向导会根据当前系统的 locale 设置来启用相应的语言,这时就会出现乱码状况了(见图1)。因此,我们需要临时将 Ubuntu 切换至英文状态,待安装完成后再切换回到简体中文状态。
图1. 向导中的中文乱码
准备 Mozilla 环境
安装 Lotus Notes for Linux 7.0.1 需要 Mozilla 1.7.12 的支持,且 Mozilla 必须注册到 GRE,但是 Ubuntu 6.10 中默认的浏览器是 Firefox 2.0,且没有相关的绑定设置。因此,我们需要准备一下 Mozilla 环境以满足 Notes 的安装、运行需要。
1,下载 Mozilla 1.7.12
$ wget http://releases.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7.12/mozilla-i686-pc-linux-gnu-1.7.12.tar.gz
2,安装 Mozilla,目标目录是 /opt/mozilla-1.7.12/
$ tar zxvf mozilla-i686-pc-linux-gnu-1.7.12.tar.gz
$ sudo mv mozilla-1.7.12 /opt
3,创建绑定文件 /etc/gre.d/gre.conf
$ sudo vi /etc/gre.d/gre.conf
清单1:/etc/gre.d/gre.conf 内容
[1.7.12]
GRE_PATH=/opt/mozilla-1.7.12
注意,如果文件 /etc/gre.d/gre.conf 已经存在,就把以上两行内容加入到该文件的首部。
创建 /tmp/iwcttmp.out
在安装过程中,安装程序会在 /tmp/ 下寻找一个名为 iwcttmp.out 的文件,若没有这个文件,安装程序会创建一个名为 iwcttmp<#####>.sh 的 SHELL 脚本,这个脚本将负责生成 iwcttmp.out 文件。该脚本的相关内容是:
清单2
#!/bin/sh
ldd “/usr/lib/mozilla/libgtkembedmoz.so” | grep gtk>&/tmp/iwcttmp.out
这个脚本总是因为其中的 & 符号而执行失败(Syntax error: Bad fd number)。因此,我们只好手动创建此 iwcttmp.out文件:
$ ldd “/usr/lib/firefox/libgtkembedmoz.so” | grep gtk > /tmp/iwcttmp.out
该文件的内容很简单,如下:
清单3
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7ba8000)安装
在安装包中共有四个文件。其中,Personality.zip 是 IBM Workplace Managed Client 框架安装包,它包含框架本身所需的组件以及 Notes 所需的特性和插件。setuplinux.bin 包含了 Notes 的组件。另外的两个文件 readme.pdf, readme_languageSpecial.txt 是相关的“读我”信息文件。
准备安装目录
我们计划将 Workplace Managed Client 安装到 /opt/IBM/WorkplaceManagedClient/ 下,所以需要先行创建目录 /opt/IBM/,且需要设置其权限属性为 777,因为 Lotus Notes for Linux 要求以非 root(non-root) 用户安装。
$ cd /opt
$ sudo mkdir IBM
$ sudo chmod 777 IBM
启动安装向导
经过以上的准备工作,我们终于可以开始运行安装向导了。
1,进入安装包所在目录,并解开 Personality.zip 包
$ cd /home/huangys/notes7_inst_files
$ unzip Personality.zip
2,将 Notes 组件安装包移到相应的目录下,以便通过框架部署
$ mv setuplinux.bin updateSite/features/com.ibm.workplace.notesinstall.linux.feature_7.0.1.0000-0900/bin/linux/ 3,启动向导
$ chmod a+x setup_wct_platform.bin
$ ./setup_wct_platform.bin
安装程序会先安装 Workplace Managed Client,请记得在向导中指定安装目录到 /opt/IBM/WorkplaceManagedClient/。安装程序接着会安装 Lotus Notes for Linux 的组件,此安装目录无法选择,默认是当前用户的宿主目录下,在本文中即为 /home/huangys/notes/。
按照安装向导的提示,顺利完成安装后,Notes 会自行启动,但是我们只是看到一个两栏的空白面板(见图2),无法执行任何操作。这是为什么?怎么办?
图2. 空白面板
启动脚本
之所以出现如图2所示的空白面板,通常是因为当前用户的环境中缺少 Lotus Notes 相关的环境变量,比如 NOTESBIN, NOTESDATA, NOTESDIR 等。
Lotus Notes for Linux 安装程序将这些环境变量的设定写到了.bash_profile中,但很不幸,该文件只是针对用户使用 BASH 时方有效,所以并非总是被执行。我们可以将其内容复制出来,形成一个自己的启动 Notes 的脚本。以下是我的 startNotes.sh 内容:
清单4:启动脚本 startNotes.sh
# Begin INSTALLSHIELD Environment Variable Section
# var 1 : CLASSPATH=”/home/huangys/notes”:`echo $CLASSPATH`
if [ -z “`echo $CLASSPATH`” ]
then
CLASSPATH=”/home/huangys/notes”
else
CLASSPATH=”/home/huangys/notes”:`echo $CLASSPATH`
fi
export CLASSPATH
# var 1 : PATH=”/home/huangys/notes/jvm/bin”:”/home/huangys/notes”:`echo $PATH`
if [ -z “`echo $PATH`” ]
then
PATH=”/home/huangys/notes/jvm/bin”:”/home/huangys/notes”
else
PATH=”/home/huangys/notes/jvm/bin”:”/home/huangys/notes”:`echo $PATH`
fi
export PATH
# var 0 NOTESDATA=”/home/huangys/notes/data”
NOTESDATA=”/home/huangys/notes/data”
export NOTESDATA
# var 0 NOTESBIN=”/home/huangys/notes”
NOTESBIN=”/home/huangys/notes”
export NOTESBIN
# var 1 : LD_LIBRARY_PATH=”/home/huangys/notes/jvm/bin/classic”:\
# “/home/huangys/notes/jvm/bin”:”/home/huangys/notes”:`echo $LD_LIBRARY_PATH`
if [ -z “`echo $LD_LIBRARY_PATH`” ]
then
LD_LIBRARY_PATH=”/home/huangys/notes/jvm/bin/classic”:\
“/home/huangys/notes/jvm/bin”:”/home/huangys/notes”
else
LD_LIBRARY_PATH=”/home/huangys/notes/jvm/bin/classic”:\
“/home/huangys/notes/jvm/bin”:”/home/huangys/notes”:`echo $LD_LIBRARY_PATH`
fi
export LD_LIBRARY_PATH
# End INSTALLSHIELD Environment Variable Section
# start!
/opt/IBM/WorkplaceManagedClient/rcp/richclient \
-personality com.ibm.workplace.noteswc.standalone.linux.personality初始化配置
使用上一步完成的启动脚本启动 Notes 时,你还是会碰见如图3所示的错误信息。notes.ini 应该位于 Notes 的安装目录(本文中即为/home/huangys/notes/)下,但我们没有找到,所以手动创建一个最简单的notes.ini以启动配置向导,当配置完成后,这个文件会被重写。
图3. notes.ini 没有找到
清单5:手动创建的最简 notes.ini
[Notes]
Directory=/home/huangys/notes/data
现在,再运行脚本 startNotes.sh 就可以启动配置向导了。以下的图4、图5分别表示输入用户信息、提供 Notes ID 文件的截屏。其他配置步骤从略,按照向导提示操作即可。图4. 输入用户信息
图5. 提供 Notes ID 文件
杂项
启动时可能出现有关 libXm.so.3 的错误,出错信息如下:
Error while loading shared libraries: libXm.so.3: cannot open shared object file: No such file or directory
libXm.so.3 是 libmotif3 的一部分,你需要安装它。
$ sudo apt-get install libmotif3
结束语
本文为您介绍了在 Ubuntu 6.10 (Edgy Eft) 上安装、配置、并使用 Lotus Notes for Linux v7.0.1 时会遇见的问题,以及如何解决这些问题。这些技巧也可以为其他 Linux 分发版提供参考。随着 Linux 在桌面操作系统领域的发展、各主流应用的逐渐支持,我们可以开始尝试将工作环境迁移到 Linux 系统了。