当前位置:操作系统 > Unix/Linux >>

Wine的安装和配置(实现中文输入法和中文的复制粘贴)

liuspider 最后修订于 2003年4月14日 版本 0.7

  本文档最新版可以在 http://xbkconfp.cosoft.org.cn/wine.php 得到。

  在安装前请确保你的系统中装有 gcc 3.x (推荐使用 3.2.x ),很多读者反映在 gcc 2.9.x 上编译存在问题。

  wine 的最新版本是 20030408 , 下面将介绍如何安装配置 wine。

  下载 wine 并解压缩:

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

  tar xvfz Wine-20030408.tar.gz

  现在你可以在当前目录中看到一个名为 wine-20030408 的目录。以下假设你将 wine 解压缩到 ~/wine-20030408下,即你在你的home下,运行上述命令。

  下载并应用中文输入法补丁:

  如果你的手头上已经有一个现成的wine-20030408,那么你可以下载wine中文输入法补丁(包括中文复制、粘贴的支持),并将其存到 ~/wine- 目录下。

  应用之:

  cd ~/wine-20030408

  patch -p1 < wine_xim_copyparse.diff

  注:这个patch也可以使用在最新的(20030410)CVS上。

  编译安装 wine :

  cd wine-20030408

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

  注意:强烈建议指定安装目录,此处为 /usr/local/wine,这样后面会方便很多。

  请检查此命令的输出,如果他没有找到一些需要的包,而你又希望使用那个包提供的功能时,请安装相应的 devel 包(mandrake 下的命名方法)。

  一切正常后,编译并以root 身份安装

  make depend && make && make install

  配置 wine:

  在用户的HOME中建立目录和配置文件

  cd

  mkdir .wine

  cp wine-20030408/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 /windows/system32 windows/system

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

  [Drive G]

  "Path" = "/"

  "Type" = "hd"

  "Label" = "root"

  "Filesystem" = "win95"

  别的基本不需要修改,默认值就可以了。如果你的硬盘上有 NTFS 格式的分区,请参阅 常见问题。

  注意:请根据你的系统来配置以上的目录,否则将无法启动运行wine。

  配置共享库目录:

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

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

  现在在这个 console 中,你可以继续下一步了。(是不是觉得太麻烦了,每次要执行一个 windows 程序就要这样做,不用担心,后面提供一个脚本,自动完成这些工作)

  复制几个字体到 windows/Fonts 下,推荐至少将 simsun.ttf 复制/连接到这个目录下(不可一个字体都没有,否则会造成 X 自动退出)。

  测试你的 wine :

  在命令行输入 wine notepad ,如果成功看到了 记事本 程序,则说明 wine 已经可以正常工作了,试试中文输入,中文的复制和粘贴(目前仅支持wine 与 KDE 程序间中文的复制和粘贴,不支持gtk/gnome的程序);如果出现错误信息,请根据提示检查上面的各步。如果你得到的错误信息类似于 找不到 libnt.dll.so 或者 version.dll 之类的,那么你应该是忘记了做 步骤4;如果发生如下的错误:

  spider c $ wine notepad

  Invalid path L"e:\\" for L"temp" directory: does not exist.

  Perhaps you have not properly edited or created your Wine configuration file,

  which is (supposed to be) '/home/spider/.wine/config'.

  /usr/local/wine/bin/wine -all notepad

  说明你的[wine]下的 "Temp" 属性指向了一个不存在的目录,将其改为指向 /tmp 就可以了:如第4步,你将G 指向 /,则这样设置:"Temp" = "G:\\tmp"

  优化我们的 wine

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

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

  chmod +x /usr/bin/wine

  安装支持文件 dcom98:为了在 linux 下安装使用 installshield 做的 setup,必须要装这个东东,请在 微软 下载,并使用 wine dcom98.exe 来安装。如果在复制完文件后报告错误:A newer version of DCOM95 or DCOM98 has been installed... , 那么请先做下一步。

  可以在本站下载 常用的 win98 DLL包,并将其解压到你的虚拟C盘下的 windows/system32 下面。

  可以修改 windows 的默认用户和默认的用户组织:打开 ~/.wine/system.reg 中的RegisteredOrganization 和 RegisteredOwner 就可以了。

  wine 的自带工具以及使用技巧

  本部份简要介绍几个 wine 自带的工具及其功用(仅介绍比较常用的):

  uninstaller: 反安装已经安装的程序

  在 console 中输入: wine uninstaller,然后你就知道了 :)

  progman: 程序管理器

  wine progman, 我觉得这个工具类似于 windows 的任务条。

  regedit: 维护注册表

  wine regedit: 与windows的 regedit 在功能和命令行参数上完全一样,不同仅仅是这个没有 GUI 界面。使用这个工具 可以安全的向注册表中导入信息。如果你想用 wine 来玩 starcraft 或 diable II ,又想上战网的话,那么可以用它来导入 注册表文件。

  winecfg: 图形配置工具

  wine winecfg: 可以使用这个工具来对 wine 进行一些基本的配置。功能比较有限,聊胜于无吧。

  winefile: 资源管理器

  wine winefile: windows 下的资源管理器,想必是使用windows 的用户最常使用的软件吧,这个就是那个的一个功能子集。

  winemine: windows 扫雷

  wine winemine: 对,就是 windows 下的扫雷,在穷极无聊时的一种解决方案 ;)

  regsvr32: 自动注册动态连接库

  wine regsvr32: 某些软件安装时,出于某些原因可能要自己使用这个来注册几个DLL文件。

  常见问题:

  1.无法输入中文?

  答:我的结论是,在 gbk 或 gb2312 时可以输入中文,但是在 gb18030 下不行。请改变 locale 为 GBK 试一下。

  2.退出wine时,出现如下错误:

  Unhandled exception: privileged instruction in 32-bit code (0x414f56a8).

  In 32-bit mode.

  0x414f56a8 (_end+0x406e0c in libGLcore.so.1): movl %gs:0x0,%eax

  答:试试将 glx 从 XF86Config 配置文件中注释掉。

  3. 发生类似如下的错误: err:module:import_dll Module (file) COMCTL32.dll (which is needed by J:\Setup.exe) not found,怎么解决?

  答:这类错误是由于在 c:\windows\system32 (system) 目录下找不到某个需要的 native 的 DLL 文件造成的(此例是 COMCTL32.dll )。解决方法是从一个真正的 windows 安装盘下的相应目录copy 过来一个。

  4. 如果一个分区是 NTFS 的,安装的是 win2000/winxp,应如何设置 wine 的driver 部分?

  答:不建议使用任何 NTFS 分区上的文件,因为linux 内核对 NTFS 的支持,仅限于读,而如果要写入的话,是很 危险的(所以默认的 mount 是只读的)。因此,请使用 fat32 分区或任何 linux 格式的分区。

  5. 编译时发生错误?

  答:首先请确保你的系统中装有 gcc 3.x (推荐使用 3.2.x );wine 在 GNU/Linux 主流发行版的较新版本中以及 基于源
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,