LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 32441|回复: 69

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

[复制链接]
发表于 2003-3-6 16:02:21 | 显示全部楼层 |阅读模式
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]
"ath" = "/backup/c_drive/"
"Type" = "hd"
"Label" = "Dos Drive"
"Filesystem" = "win95"

[Drive D]
"ath" = "/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]
"ath" = "/"
"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个输入法也应该没有问题。
 楼主| 发表于 2003-3-6 16:03:23 | 显示全部楼层
二.在 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/images/xdict_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。
发表于 2003-3-8 15:10:05 | 显示全部楼层

如何使用wine安装QQ(在线等待)

wine已经安装完毕,能运行windows的记事本
我的C盘是NTFS系统,下载了win98的DLL文件
请教如何用wine 来安装QQ?
 楼主| 发表于 2003-3-9 23:34:29 | 显示全部楼层
先参考 Wine 的安装和配置(实现中文输入法):

请下载 QQ2000C 0825 beta2 cnss 1.2 或者任何比较新的 QQ 的官方版本。
使用 wine 安装它,整个过程很顺利,不会有什么问题。
修改 wine 的配置文件,加入以下行:

[AppDefaults\\qq.exe\\DllOverrides]
"shell"         = "native"
"shell32"       = "native"
"shfolder"      = "native"
"msvcrt"        = "native"
"wininet"       = "native"
"rpcrt4"        = "native"
"commctrl"        = "native"

如果你按照 Wine 的安装和配置(实现中文输入法) 中所述,使用的是虚拟的C盘的话,还需要一些额外的 DLL 来让QQ可以正常运行:
将 MSVCRT.DLL 从一个 windows98 的盘中 windows/system 目录下面,复制到虚拟的C盘的 windows/system 下。
现在 cd 进入 QQ 的安装目录

wine qq.exe

运行之!
至此,大功告成。
发表于 2003-3-13 12:45:50 | 显示全部楼层
good!极为详尽,我把这帖单列出来,以享弟兄们。

辛苦了,兄台!

北南 呈上
发表于 2003-3-15 08:36:39 | 显示全部楼层

wine安装的失败?求救?!线等...........

http://www.linuxsir.cn/forum.php?mod=viewthread&tid=27819
我照此贴安装了wine可是重起后就是进不了x,也不报任何错误,系统始终尝试进入x!基本上相当于黑屏
 楼主| 发表于 2003-3-15 11:20:37 | 显示全部楼层
楼主是什么系统啊
在安装前请确保你的系统中装有 gcc 3.x (推荐使用 3.2 ),很多读者反映在 gcc 2.9.x 上编译存在问题。
发表于 2003-3-15 11:27:24 | 显示全部楼层
make uninstall 如果有的话
发表于 2003-3-15 11:32:35 | 显示全部楼层
在服务里把wine关掉。
发表于 2003-3-15 20:30:06 | 显示全部楼层
各位哥哥
我的是Redhat8。0的,gcc3。2
我根本进不了x,它始终在尝试进入x,基本是黑屏
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表