ubuntu下在VMWare Player里安装Windows 2000

我使用的是ubuntu 6.06 TLS,参考了ubuntu官方论坛里的帖子(链接见本文最后)。

步骤如下(我整理过的):

1. 准备编译的工具
$ sudo apt-get install build-essential
$ uname -r
$ sudo apt-get install linux-headers-"kernel version"
$ sudo apt-get install gcc-3.4 g++-3.4

2. 安装VMWare Player(也可以用apt-get安装)
从vmware下载最新的版本安装,都按默认回答就行。
$ tar xvzf VMware-player-1.0.2-29634.tar.gz
$ cd vmware-player-distrib
$ export CC=/usr/bin/gcc-3.4
$ sudo ./vmware-install.pl

3. 准备虚拟机的磁盘文件。假定把虚拟机文件放在~/vm/win2000这个目录下。
先安装qemu。下载qemu的二进制版本(不用ubuntu自带的)qemu-0.8.2-i386.tar.gz

$ sudo tar -zxf /path/to/downloaded/qemu-0.8.2-i386.tar.gz
$ cd ~/vm/win2000
$ qemu-img create -f vmdk Windows2000Pro.vmdk 2G \
Formating "Windows2000Pro.vmdk", fmt=vmdk, size=2097152 kB

4. 建立虚拟机的配置文件Windows2000Pro.vmx,也放在 ~/vm/win2000目录下。下载Windows2000Pro.vmx

5. 制作用来安装Windows2000的iso文件。可以用dd命令,也可以用gnomebaker这个软件。
$ sudo apt-get install gnomebaker
iso文件的名字要和Windows2000Pro.vmx文件里的一致,也放在~/vm/win2000下。
帖子里提到这样做的iso文件不带启动功能,我试了发现有启动功能。

6. 启动vmplayer,设置虚拟机的bios从光盘启动,就可以开始安装Windows 2000了。
$ vmplayer ~/vm/win2000/Windows2000Pro.vmx
遇到的问题:

在shell里运行vmplayer,出现下面的错误然后退出,从“应用程序”菜单里也不能启动。
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)
解决办法:
$ cd /usr/lib/vmware/lib/
$ sudo mv libpng12.so.0/libpng12.so.0 libpng12.so.0/libpng12.so.0.disabled
$ sudo ln -sf /usr/lib/libpng12.so.0 libpng12.so.0/libpng12.so.0

修改/usr/bin/vmplayer这个脚本,在第一行后面加上unset GTK_IM_MODULE

Ref:

  1. HOWTO: Install Windows XP/2000 in VMWare Player
  2. Vware Server Console und dapper - Problemlösungen
  3. VMware Workstation 5.5.1 won't run at all

vmware.jpeg

让Ubuntu下的Tora支持Oracle

Ubuntu下直接用apt-get安装的Tora只有PostgreSQL一个provider。我按照 "Rebuilding Tora with Oracle Support"这篇文章的方法给Tora加入了Oracle的支持。大致的步骤如下(有几个地方与文章里不同,包括Tora编译不过去的解决办法):

1. 安装Oracle Instant Client
$ sudo apt-get install oracle-xe-client
OIC安装后的目录是/usr/lib/oracle/xe/app/oracle/product/10.2.0/client

2. 把OIC的安装目录加到/etc/ld.so.conf文件里,然后执行ldconfig命令刷新
$ sudo ldconfig
3. 修改/etc/profile,加入一些新的环境变量
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export TNS_ADMIN=/usr/lib/oracle
export PATH=$PATH:$ORACLE_HOME/bin

保存好后,重新登录使其生效,可以用env或printenv命令检查。

4. 安装Tora和它的源码(需要有source源)
$ sudo apt-get install tora
$ sudo apt-get source tora

5. 安装编译工具
$ sudo apt-get install build-essential
$ sudo apt-get install autoconf automake flex zlib1g-dev docbook-xsl
$ sudo apt-get install libqt3-mt-dev libqt3-compat-headers

6. 修改源码里的debian/rules这个文件
把这行
./configure –prefix=/usr –without-oracle –without-rpath –disable-new-check –with-kde –enable-libsuffix=
改成
./configure --prefix=/usr --with-oracle=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client --without-rpath --disable-new-check --without-kde --enable-libsuffix=
下面是文章里的改法,后面运行rules脚步时会遇到找不到OIC的问题。
./configure –prefix=/usr –with-instant-client –without-rpath –disable-new-check –without-kde –enable-libsuffix=

7. 编译Tora,成功后安装生成的deb文件(在上一级目录)
$ debian/rules binary
$ sudo apt-get remove tora
$ sudo dpkg -i tora_1.3.18-4ubuntu1_i386.deb

8. 在/usr/lib/oracle目录里建一个文件tnsnames.ora,加入你的Oracle数据库的连接信息

9. 现在运行Tora,就可以看到Oracle的provider了。
tora

让Nokia 770支持中文显示

我在"How to add a new locale to Nokia 770"中记录了如何让Nokia 770显示中文以及添加zh_CN语言支持(Locale)。之后我试图简化那些步骤,开始想到的是制作一个rootfs image,包含有中文字体、添加了zh_CN Locale的locale-archive,但没成功。

后来想到制作两个deb 安装包,一个是中文字体,另外一个是locale-archive,基本上成功了。安装这两个包后,fc-list能列出中文字体,locale -a 也可以见到zh_CN,但唯独Opera 浏览器不能正确显示中文。反复试了好几次,情况还是一样。

回想上次成功的情况,有些怀疑是字体的问题了。我下载了两种中文字体,文泉驿和Firefly,每种都是三种格式的文件:TTF,BDF和PCF。PCF的文件比较小一些,所以我做deb包时用的是wqy的PCF文件。经过反复的试验,发现两种字体的PCF或BDF文件都可以使系统显示中文,但Opera浏览器除外。而使用TTF格式的文件时,只有Firefly可以使Opera浏览器正确地显示中文。看了文泉驿的安装说明,里面提到“这个字体采用了一种比较特殊的TTF格式,即SFNT TTF 格式。这种字体中只有点阵部分,而没有矢量部分”,不知道是不是这个原因?由于时间的关系,没有试验它安装说明文件里提到的ttf字体安装方法,也没有再去深究原因。

现在至少明白了只要安装了正确的字体(标准的TTF格式?),就可以让770支持中文显示了。似乎添加zh_CN的Locale有些多余了。

还有,这次参考了Maemotalk的这篇文章, 解决了titlebar不能争取显示中文的问题。只需修改所使用Theme的theme.xml,大概是第13行:
font id="osso-TitleFont" def="Nokia Sans-17.85"
把中文字体的名字(可以在fc-list命令的输出中找到)写到原有字体名的前面,用|分隔,像这样
font id="osso-TitleFont" def="AR PL New Sung,文鼎PL新宋-17.85:18px|Nokia Sans-17.85"
那个18px的数值可以根据情况调整。

等有空了,再做一个安装Firefly字体的deb包吧。