访问手机版  

网络工程师培训选超级网工

招聘|合作 登陆|注册

在 linux 下使用 金山词霸 2002,在 linux 下使用 金山词霸 2002

    · 在 linux 下使用 金山词霸 2002,在 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)

    存在的问题

    以下每一条后面括号中,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。


    如果您有好的建议和、或修改意见,请不吝赐教 :)

    修改历史

    • 2001年1月18日 0.9 版
      指定在运行xdict时,wine模拟 win2000,可以不需要删除 xdict 目录下的 CJKTL16.DLL;将 wine 的安装和配置 独立为单独一篇文章。
    • 2002年12月5日 0.6 版
      修改了安装程序使用的dll,现在应该不会再出现 对话框 被复盖的情况了,而且安装速度也比原来快了;
      发现在安装时不可以选择 定制安装。
    • 2002年12月2日 0.5 版
      修改了 configure 的参数;添加 指定共享库 位置的方法;增加设置虚拟 c 盘部分;加入安装 金山词霸 的部分;找到了 金山词霸不能启动的关键原因;修改 存在问题 部分。
      添加一个shell启动脚本。 按照这个版本做,大部分人应该可以成功运行 xdict 了 :)
    • 2002年11月29日
      0.1 版 首次发布