极光下载站 - 打造齐全的绿色软件家园

极光下载站

当前位置: 首页 操作系统 Linux Wine 的安装和配置,以及wine下运行金山词霸和中文输入法!

Wine 的安装和配置,以及wine下运行金山词霸和中文输入法!

时间:2006/7/19 2:01:34 作者:佚名 人气:440

作者:liuspider
帖出:dsj
来自:

提要:学习一个wine的安装和配置还是有必要,但如果运行金山词霸和输入法就没有太大的必要。因为现在linux中有stardict 2,输入法也有fcitx等。

Wine 的安装和配置

一.实现中文输入法

最后修订于 2003年2月6日 版本 0.4
本文档最新版可以在 http://xbkconfp.cosoft.org.cn/wine.php 得到。 wine 的最新版本是 20030115 ,下面将介绍如何安装配置 wine

1. 下载 wine 20030115 并解压缩:
请到 wine 的官方网站下载最新的 tarball 压缩文件包。或者,如果不想手工打中文输入法的补丁的话,可以直接下载打好补丁的 wine-20030115。这个版本的文件名为 Wine-20030115.tar.gz

tar xvfz Wine-20030115.tar.gz

现在你可以在当前目录中看到一个名为 wine-20030115 的目录。以下假设你将 wine 解压缩到 ~/wine-20030115下,即你在你的home下,运行上述命令。
2. 下载并应用中文输入法补丁:
如果你的手头上已经有一个现成的wine-20030115,那么你可以下载wine中文输入法补丁,并将其存到 ~/wine-20030115 目录下。
将其解压缩到~/wine-20030115 下,并应用之:

cd ~/wine-20030115
tar xvfz XIM.patch.diff.tar.gz
patch -p0 < XIM.patch.diff

注:这个patch也可以使用在最新的(20030118)CVS上。
3. 编译安装 wine :

cd wine-20030115
./configure --prefix=/usr/local/wine

注意:强烈建议指定安装目录,此处为 /usr/local/wine,这样后面会方便很多。
请检查此命令的输出,如果他没有找到一些需要的包,而你又希望使用那个包提供的功能时,请安装相应的 devel 包(mandrake 下的命名方法)。
一切正常后,编译并以root 身份安装

make depend && make && make install

4. 配置 wine:
建立目录和配置文件

cd
mkdir .wine
cp wine-20030115/documentation/samples/config .wine/

使用您习惯的文本编辑器,修改.wine/config 使其反应您的系统状态。打开 config 后,主要修改最前面的定义驱动器的部分。下面给出我的一部分

[Drive C]
"Path" = "/backup/c_drive/"
"Type" = "hd"
"Label" = "Dos Drive"
"Filesystem" = "win95"

[Drive D]
"Path" = "/mnt/d/"
"Type" = "hd"
"Label" = "My Home"
"Filesystem" = "win95"

建议:不要将 c: 指向一个存在的真实 windows 盘,而是自己建立一个 “假”的,比如,你想在 /backup/c_drive/ 下建立一个虚拟 windows 的 c 盘,则执行如下命令(执行一下命令一般需要root 权限)

mkdir /backup/c_drive/
cd /backup/c_drive/
mkdir -p windows windows/Start\ Menu windows/Start\ Menu/Programs windows/Fonts windows/system32 windows/Desktop
ln -s /backup/c_drive/windows/system32 windows/system

为了可以运行不论处于你linux 任何目录下的程序,建议添加一个盘,如下(盘符是你现有的下一个就可以了)

[Drive G]
"Path" = "/"
"Type" = "hd"
"Label" = "root"
"Filesystem" = "win95"

别的基本不需要修改,默认值就可以了。
5. 配置共享库目录:
由于我们自己指定了安装目录,所以共享库不位于系统已知的目录中,为了告诉系统到哪里找,可以修改 /etc/ld.so.conf 文件,但是,一个更好的方案是使用 shell 的环境变量:LD_LIBRARY_PATH。 在一个 console 中,执行命令

export LD_LIBRARY_PATH="/usr/local/wine/lib"


现在在这个 console 中,你可以继续下一步了。(是不是觉得太麻烦了,每次要执行一个 windows 程序就要这样做,不用担心,后面提供一个脚本,自动完成这些工作)
6. 复制几个字体到 windows/Fonts 下,推荐至少将 simsun.ttf 复制/连接到这个目录下(不可一个字体都没有,否则会造成 X 自动退出)。
7. 测试你的 wine :
运行 /usr/local/wine/bin/notepad (注意,这个前面不需要 加 wine ),如果一切正常,则说明 wine 已经可以正常工作了;如果出现错误信息,请根据提示检查上面的各步。如果你得到的错误信息类似于 找不到 libnt.dll.so 或者 version.dll 之类的,那么你应该是忘记了做 步骤4。

优化我们的 wine
现在,wine 可以正常使用了,但是,还是太麻烦了,所以,我们来进行一些小小改进。同时,为了正常运行 xdict,我们也要作些 关键性 的调整。

1. 下载 wine 工具包,其中有一个名为 wine 的文件,他的工作就是自动设定 LD_LIBRARY_PATH 目录。如果你的安装目录不同于我的,那么请修改之。将其保存到 /usr/bin 下,并使其可以执行

chmod +x /usr/bin/wine

2. 安装支持文件 dcom98:为了在 linux 下安装使用 installshield 做的 setup,必须要装这个东东,请在微软 下载,并使用 wine dcom98.exe 来安装。
3. 可以在本站下载 常用的 win98 DLL包,并将其解压到你的虚拟C盘下的 windows/system32 下面。

注:
以上在 mandrake 9.0, kde 3.0.3,gcc3.2
gentoo 1.4rc_2, kde 3.1.0, gcc 3.2
下测试通过。
测试通过的输入法

尽管理论上,所有的输入法都应该没问题,但我认为这个部分可以让你知道你喜爱用的输入法是否被支持。
以下是我测试过的输入法:

* xsim
* chinput
* erb-fcitx
minichinput 是由 chinput 修改而成,fcitx 是 erb-fcitx 的基础,所以我觉得这2个输入法也应该没有问题。
二.在 linux 下使用 金山词霸 2002
liuspider 最后修订于 2003年1月18日 版本 0.9 wine 的最新版本是 20030115 ,使用这个 wine 可以近乎完美的使用 金山词霸 2002!

下面将介绍如何可以使用 金山词霸 2002 的过程。
首先,解决 wine 本身,请参阅 《Wine 的安装和配置(实现中文输入法)》:
然后修改 wine 的配置文件并复制需要的 DLL

1. 复制 几个windows dll :他们是 comctl32.dll, commdlg.dll, commctrl.dll,shell.dll,shell32.dll,shfolder.dll,ole32.dll,oleaut32.dll,rpcrt4.dll 位于 你的真实windows 目录下的 system 下,将他们复制到你的虚拟windows目录下的 system32下。可以使用 wine 工具包 中的 install_win_lib 来自动完成这个工作。格式如下:

./install_win_lib /mnt/c /backup/c_drive/

其中,第一个参数是你的 真实windows 所在的挂载点 (mandrake 的默认挂载位置为 /mnt/win_c),第二个参数是你在刚才设置的 fake windows 的c盘所在的目录。
注意:这几个文件必须是 win98 版本的!如果你手头没有,可以上 google 找到。
2. 修改 wine 的 config 文件:打开 ~/.wine/config ,在某个空行中,插入以下内容(可以在 [DllOverrides] section 的后面的空行中插入)

[AppDefaults\\setup.exe\\x11drv]
"Managed" = "N"
"Desktop" = "800x600"
[AppDefaults\\setup.exe\\DllOverrides]
"ole32" = "native"
"oleaut32" = "native"
"rpcrt4" = "native"
"comctl32" = "native"
"commdlg" = "native"
"commctrl" = "native"
"shell" = "native"
"shell32" = "native"
"shfolder" = "native"


[AppDefaults\\ikernel.exe\\x11drv]
"Managed" = "N"
"Desktop" = "800x600"
[AppDefaults\\ikernel.exe\\DllOverrides]
"ole32" = "native"
"oleaut32" = "native"
"comctl32" = "native"
"commdlg" = "native"
"commctrl" = "native"

[AppDefaults\\xdict.exe\\DllOverrides]
"comctl32" = "native"
"commdlg" = "native"
"commctrl" = "native"
"shell" = "native"
"shell32" = "native"
"shfolder" = "native"

[AppDefaults\\xdict.exe\\Version]
"Windows" = "win2000" ;关键所在

3. 将 wine 工具包 中的 updatereg 放到 wine 源码的根目录中,并执行他

./updatereg

如果你在后面执行 金山词霸 2002 的安装程序时,得到找不到 ikernel.exe 的错误提示,那么就是因为少做了这一步。

安装 金山词霸 2002
现在,你有两个选择,如果你有他的安装程序,那么强烈建议你在 linux 下安装他,因为这样 金山词霸 2002 的绝大部分功能都是正常的;如果实在没有,请跳过这一部分,直接转到 使用 金山词霸 2002。

1. 放入光盘,进入 /mnt/cdrom 下运行安装程序:

cd /mnt/cdrom
wine setup.exe

2. 此时会弹出两个窗口,一个是欢迎画面,和一个进度条,当这个进度条到 100%时,在第二个窗口(IKernel.exe)中就会出现一条错误信息,说 “在词汇表中找不到叫 XXX 的词汇” 这一类的错误,这种错误一点影响都没有,尽管点确定就可以了,在整个安装过程中时常出现,不用管他,只是有些名字显示不出来,但是不影响安装。(也许不发生这种情况)
3. 在 ikernel.exe 窗口中,出现了几个那种错误后,就会有一副背景图出现,而此后弹出的对话框都被复盖在了下面。不过,只需要将这个 ikernel.exe 窗口完全用其他的窗口复盖住(或者最小化,或者 shade),再还原,就会看到了。(也许不发生这种情况)
4. 在选择安装类型时,不要选择 定制安装,否则会 crash 掉的,安装程序!
5. 复制完全部文件后,下一个对话框询问你一些选项,如果让他可以读出单词的发音的话,一定要选择安装那个语音引擎。
6. 安装应该没有任何问题。只是在安装结束后,那个 ikernel.exe 窗口不会自动消失,需要在某个 console 中输入一下命令

killall wine
killall wineserver

注意:每次运行完一个windows程序后,稍等片刻,执行以上两句,再在运行其他 windows程序,可以免除很多麻烦的!

使用 金山词霸 2002
现在你有了一个完全的 xdict 目录了,我们假设其位于 /backup/c_drive/Program File/xdict 下面

1. 如果你没有在wine下安装,那么需要手工安装音标字体。将位于 /backup/c_drive/Program File/xdict/fonts 目录下的 4 个 ttf 复制到 你虚拟C盘的 c:\windows\fonts 下

cp /backup/c_drive/Program\ File/xdict/* /backup/c_drive/windows/Fonts/

2. 好,现在我们来试运行

cd /backup/c_drive/Program\ File/xdict/
wine xdict.exe

你应该在得到一个说 不能屏幕取词的警告后,就可以看到熟习的画面了,试着输入一个单词,按回车,看看解释,如果你看到的英文,中文大部分正常,那么恭喜你。如果你看到很多的方框,像我一样,那么,请继续。
3. 先退出 刚才启动的 金山词霸,删除刚才 c:\windows\fonts 下的那4个考过来的 ttf 文件,而后,将原来那4个连接到 c:\windows\fonts,如下

ln -s /backup/c_drive/Program\ File/xdict/fonts/* /backup/c_drive/windows/fonts/

现在,再次启动 xdict (别忘了先 cd 到它的安装目录下)。这次,你应该可以看到基本正常的界面了。

说明一下,通过以上的步骤,也许你得到的结论是必须要将字体连接到 c:\windows\fonts 下面,而不能 copy 过去。其实,不然,如果你先 连接,试一下显示不正常,删除,再copy 过去,也是可以的!我不知道什么原因,望明白人指点。
效果图:
单击图片,可看到原图(1240x1024)
http://xbkconfp.cosoft.org.cn/images/xdict_spider.jpg
http://xbkconfp.cosoft.org.cn/image...manage_dict.jpg
http://xdict_spider.jpg xdict_manage_dict.jpg
查找 spider 这个单词 主菜单-> 专业词库

存在的问题
以下每一条后面括号中,BOTH 表示不论是否在linux 下安装,都存在的问题,而 UNINSALLED 表示如果在 linux 下安装,则不存在的问题。
从下面的列表可见,在linux 安装的话,会解决很多问题的。

* 不能使用 主菜单=》设置,否则 xdict 会 crash 掉。补救方法:直接修改 xdict 目录下的 ini 文件。下面是一份不完整的对应表。(UNINSALLED)
文件名
功用
config.ini
设置程序的ID,一般不需要修改
dicts.ini
专业词库定义文件,不需要手工修改,可以通过使用主菜单-> 专业词库 设置
Display.ini
颜色与字体设置
network.ini
网络相关选项
ScrollWord.ini
ScrollWord 程序配置文件(不能正常运行)
xdict.ini
主菜单->设置中的内容就保存在此文件中

* 不能屏幕取词。(BOTH)
* 某些字符显示的不正确,但是基本不影响正常使用。(UNINSALLED)
* 不能发音。尽管我可以使用 wine 流畅的运行 Diablo II 以及 starcraft ,而且他们的声音都正常,但是这个就是不行。 (UNINSALLED)
* 生词本和背单词都不能运行。估计应该是没有通过 wine 安装的原故。(UNINSALLED)
* 词霸左边单词列表窗口中的字总是一片黑,虽然用鼠标单击一个,就可以好一个,但是一旦 xdict 窗口被别的应用程序遮住,再回来时,又是黑的了。(UNINSALLED)
* 通过修改 xdict.ini 可以让 xdict 使用大字体,但是,在 linux 下没有任何改变。(BOTH)
* 字体不受 wine 中字体分辩率的控制。(UNINSALLED)

注:
以上均在 mandrake 9.0 下通过,使用的是 kde 3.0.3,编译器 gcc3.2。
<
标签
分享到:

公众号