我用的是wine0.9.47,下载wine-0.9.47.tar.zip
用wineinstall安装:用普通用户登录,解压wine-0.9.10.tar.zip,解压后的目录就是原码
字体包,进入该目录。运行:./tools/wineinstall按提示回答就可以了。
即:1。 su yhcgh (以普通用户yhcgh运行)
2.。 unzip wine-0.9.47.tar.zip -d /home/yhcgh/wine/(解压目录)
3。 cd \home\yhcgh\wine
4。 tar jxvf wine-0.9.47.tar.bz2
5。 cd wine-0.9.47
6。 cd tools
7。 ./wineinstall(安装释放文件)
8。 之后它会运行./configure,然后显示:We need to install wine as root user, do you want us to build wine,'su root' and install Wine? Enter 'no' to continue without installing(yes/no)
yes 回车
如果在此处出现错误,请检查此命令的输出,如果他没有找到一些需要的包,而你又希望使用那个包提供的功能时,请
字体相应的 devel 包。
如果你root用户设置了密码,还会提示你输入密码。
待屏幕上出现:
Installation complete for now. Good luck (this is still alpha software).
If you have problems with WINE, please read the documentation first,
as many kinds of potential problems are explained there.
则表示
字体成功了。
在shell下运行wine,第一次运行不成功,这是正常,因为没有在/root/.wine/config文件里配置好.找到这些吧。
[Drive C]
"Path" = "/usr/share/win_c"
"Type" = "hd"
"Label" = "MS-DOS"
"Filesystem" = "win95"
改为:[Drive C]
"Path" = "/winc"
"Type" = "hd"
"Label" = "MS-DOS"
"Filesystem" = "win95"
就可以了,如果你字体了simsun字体.wine默认就会找到这个字体的,下边就是我的/root/.wine/config。
WINE REGISTRY Version 2
;; All keys relative to MachineSoftwareWineWineConfig
;;
;; MS-DOS drives configuration
;;
;; Each section has the following format:
;; [Drive X]
;; "Path"="xxx" (Unix path for drive root)
;; "Type"="xxx" (supported types are 'floppy', 'hd', 'cdrom' and 'network')
;; "Label"="xxx" (drive label, at most 11 characters)
;; "Serial"="xxx" (serial number, 8 characters hexadecimal number)
;; "Filesystem"="xxx" (supported types are 'msdos'/'dos'/'fat', 'win95'/'vfat', 'unix')
;; This is the FS Wine is supposed to emulate on a certain
;; directory structure.
;; Recommended:
;; - "win95" for ext2fs, VFAT and FAT32
;; - "msdos" for FAT16 (ugly, upgrading to VFAT driver strongly recommended)
;; DON'T use "unix" unless you intend to port programs using Winelib !
;; "Device"="/dev/xx" (only if you want to allow raw device
###################################################################
wine 的最新版本是 20030408 , 下面将介绍如何安装配置 wine。
- 下载 wine 并解压缩:
请到 下载最新的 tarball 压缩文件包。或者,如果不想手工打中文输入法的补丁的话,可以直接下载打好补丁的 。(如果你是下载的这个已经打过补丁的,就可以跳过下一步) 这个版本的文件名为 Wine-20030408.tar.gz tar xvfz Wine-20030408.tar.gz
现在你可以在当前目录中看到一个名为 wine-20030408 的目录。以下假设你将 wine 解压缩到 ~/wine-20030408下,即你在你的home下,运行上述命令。
- 下载并应用中文输入法补丁:
如果你的手头上已经有一个现成的官方版本的 wine-20030408,那么你可以下载(包括中文复制、粘贴的支持),并将其存到 ~/wine- 目录下。
应用之: cd ~/wine-20030408
patch -p1 < xim_copyparse_0417.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 A 的设定的一行:([Drive A]的最后一行)
"Device" = "/dev/fd0"
然后请根据你的机器的情况,修改剩余的驱动器。下面给出我的一部分 [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:
在命令行输入 /usr/local/wine/bin/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 的文件,他的工作就是自动设定 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... , 那么请先做下一步。
- 可以在本站下载 ,并将其解压到你的虚拟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.:
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. ,安装的是 win2000/winxp,应如何设置 wine 的driver 部分?
答:不建议使用任何 NTFS 分区上的文件,因为linux 内核对 NTFS 的支持,仅限于读,而如果要写入的话,是很危险的(所以默认的 mount 是只读的)。因此,请使用 fat32 分区或任何 linux 格式的分区。
5.
答:首先请确保你的系统中装有 gcc 3.x (推荐使用 3.2.x );wine 在 GNU/Linux 的较新版本中以及 中编译不成问题,但是在 FreeBSD 下好像不可以。
6.
wine: chdir to /tmp/.wine-root/server-305-242e2 : No such file or directory
答:这是因为你用root 用户运行wine 的问题。解决方案如下:退出 X,删除 /tmp 下所有东东,然后用普通用户运行wine。我的建议是,平时也不要使用 root ,使用一个普通用户既安全又可以避免很多不必要的麻烦。另一个解决方案 () 是在编译的时候指定参数:
./configure --with nptl --with-x --prefix=/usr/local/wine
后面的步骤与前述过程相同。
7.
答:关于某个英文软件是否可以在 wine 下正常(或基本正常)的运行,大家可以到 看看,如果找不到你关心的程序,可以到搜索一下,看看其他用户的 comments,就知道是否有人运行成功了。
尽管理论上,所有的输入法都应该没问题,但我认为这个部分可以让你知道你喜爱用的输入法是否已确认被支持。
以下是我测试过的输入法:(括号中为测试过的版本)
- xsim (0.3.9.4)
-
- (1.8.x)
- (0.4.0,0.3.1)
是由 chinput 修改而成, 是 erb-fcitx 的基础,所以我觉得这2个输入法也应该 没有问题。
现在的这个补丁已经不需要修改任何输入法,就可以正确的使用退格等键了,并且修正了在QQ中使用时,会crash的问题,请大家试用。如果先前你下载了 , 你可以先取消掉(patch 的 -R 参数)那个补丁,再应用这个新的就可以了。
如果您有好的建议和、或修改意见,请不吝:)
如果你成功的安装上了,也请麻烦我一声,如果可能的话,我也希望你能告诉我你的运行环境:发行版及其版本号,KDE的版本,gcc的以及你所使用的输入法的名称和版本,多谢。
注:
以上在 mandrake 9.0, kde 3.0.3,gcc3.2
gentoo 1.4rc_2, kde 3.1.0, gcc 3.2
gentoo 1.4rc_3, kde 3.1.1, gcc 3.2.1
下测试通过。请参见 。
- 2003年5月4日 0.8.7 版
修正了第一次运行wine时,没有指定 wine 所在路径的问题。
- 2003年4月17日 0.8.5 版
更新补丁,现在在QQ中输入中文不会crash了。
- 2003年4月15日 0.8 版
更新了补丁,现在不需要再修改任何输入法就可以正确的使用退格等键了;增加“参考资料”部分;添加2个常见问题的解答;版面进行了一点小调整。
- 2003年4月14日 0.7 版
增加 "wine 的自带工具以及使用技巧" 部分。
- 2003年4月10日 0.6 版
wine 版本升级到 20030408; 这个补丁中添加 wine 与 KDE 程序间中文的复制、粘贴的支持;增加了一些可能发生的问题的解决方案; 更新了 "常用的 win98 DLL包",新加入两个 DLL。
- 2003年3月2日 0.5 版
推荐使用 gcc 3.x 来编译 wine。
- 2003年2月6日 0.4 版
增加 测试通过的输入法 部份; 增加了 gentoo 测试通过环境。
- 2003年1月21日 0.3 版
修正了打补丁的命令中漏掉一个 "<";在上部加入本文档地址。
- 2003年1月19日 0.2 版
添加 常用的 win98 DLL包 下载,方便没有安装 win98 的用户。
- 2003年1月18日 0.1 版
添加中文输入法补丁; 从 《在 linux 下使用 金山词霸 2002》 中分离出该篇文章,第一次发布。
参考资料
- 这个是官方网站上的列出的支持较好的程序清单
- 在此可以找到是否有人已经成功的运行了某个你感兴趣的应用程序
- 一篇类似本文的英文教程
###############################################################
Wine (Wine Is Not an Emulator)是一个在X和UNIX之上的,Windows 3.x 和 WindowsAPIs的实现.它是一个Windows兼容层,用通俗的话说,就是一个Windows模拟器,这个层即提供了一个用来从Windows源进出到UNIX的开发工具包(Winelib),也提供了一个程序加载器,该加载器允许不用任何修改Windows 3.1/95/NT的二进制文件,就可以运行在Intel Unix及其衍生版本下.
linux 系统双用:
Wine使用篇 linuxaid.com.cn 01-06-14 00:46 2642p hubertzou 三、wine的使用 Wine (Wine Is Not an Emulator)是一个在X和UNIX之上的,Windows 3.x 和 WindowsAPIs的实现.它是一个Windows兼容层,用通俗的话说,就是一个Windows模拟器,这个层即提供了一个用来从Windows源进出到UNIX的开发工具包(Winelib),也提供了一个程序加载器,该加载器允许不用任何修改Windows 3.1/95/NT的二进制文件,就可以运行在Intel Unix及其衍生版本下.Wine可以工作在绝大多数的UNIX版本下,包括Linux, FreeBSD, 和 Solaris. Wine不需要Microsoft Windows, 因为这是一个完全由百分之百的免费代码组成的,可以选择的实现,但是它却可以随意地使用本地系统的DLLs,如果它们是可以被利用的话.Wine的发布是完全公开源代码的,并且是免费发行的. 目前 Wine 仍在发展阶段,仅能执行少部份的 Windows 软体,大部份的软体仍然无法正常执行. Wine的官方站点是,虽然你可以在它的官方站点下载源代码,自己配置编译,不过这个过程可是比较繁琐的!我建议你到CodeWeavers下载一个已经编译好的RPM发行版本. 1.下载Wine CodeWeavers Wine的最新版本是Wine 1.0 Preview 2(Wine 1.0的预发行版本2),网址是,下载文件名为 codeweavers-wine-20010112-1.i386.rpm。
2.安装以root用户登录,安装Wine,不过安装之前你需要删除以前的版本(我的Linux是RedHat 7.1): rpm -qa |grep wine ;查询以前安装的Linux版本如果显示的是wine-xxxxx-xxx(不同的Linux发行版本,显示的可能不一样),则可执行下列命令删除: rpm -e wine-xxxxx-xxx 然后执行下列命令安装新下载的Wine: rpm -Uhv codeweavers-wine-20010112-1.i386.rpm
3.加载Windows分区执行以下命令将Windows的C分区加载到Linux下的/mnt/dosc目录: mkdir /mnt/dosc mount -t vfat /dev/hda1 /mnt/dosc
4.设置Wine Wine的设置很简单,窗口模式只用鼠标指指点点就可以完成,你再也不用去设置那个繁琐的wine.conf配置文件了。
1)在X Window窗口界面下执行winesetup打开Wine设置程序注意:需要提醒你一句,为了安全起见,Wine不允许以root登录配置Wine.
2)选择Windows安装路径 Wine设置程序会自动查找、设置Windows目录(当然你需要事先将Windows所在的分区加载到Linux分区的某一个目录下边)。
3)最后的调整 设置已经结束了,不过为了将来界面更友好一些,你可以在“Basic”/“Look & Feel”/“Windows Version”选项中,将Windows的版本号设置为“Windows 98”。
4)运行应用程序 可以通过两种方式运行: a.自动运行在KDE或者GNOME的文件管理器中切换到应用程序所在目录,单击就可以打开。虽然程序运行速度十分缓慢,不过聊胜于无, b.手工运行在Console模式下,键入以下命令: wine <你想运行的应用程序> c.举个例子来说吧, 想要通过wine在linux下使用Winzip,这么做呢? 重新运行winesetup,在配置Windows安装路径窗口中,选择“Create a new windows directory(创建一个新的Windows安装目录)”,其它的一切都很简单,在Linux中直接运行Winzip安装文件安装Winzip然后就可以调用了。
四、VMware,Win4lin,wine的比较 Win4Lin 这套产品的目标很清楚单一:在 Linux 下提供快速稳定的 Windows 环境,而不必牺牲 Linux 作为预设环境。而 VMware 则是一般性的虚拟机器,可以执行 Windows 相关软件,甚至也可以执行其他操作系统,例如 Linux、FreeBSD。 就速度而言,Win4Lin 显然比 VMware 快得多 - 甚至比 Windows 本身还快(有人认为是 ext2 档案系统快于 FAT16/32 的缘故),不过 Win4Lin 必须安装在 Linux 的档案系统内,比起来 VMware 可以直接使用现有的 Windows 分区,是较为方便。 而且Win4Lin 不支持亚洲语言版本,要用中文windows,只得用VMware . 在游戏方面,Win4Lin 并不支援 DirectX,因此让它对游戏的支援度大大降低,而 VMware 支援 DirectX,所以许多 2D 的 Windows 游戏可以在 VMware 下玩(3D 加速皆不支援)。
玩3D游戏就得wine出马了. Wine是在Linux操作系统下执行部分Windows应用程序的工具,Wine不需要Microsoft Windows, 因为这是一个完全由百分之百的免费代码组成的,可以选择的实现,但是它却可以随意地使用本地系统的DLLs,如果它们是可以被利用的话.Wine的发布是完全公开源代码的,并且是免费发行的. 在安装上,VMware 要比 Win4Lin 简单得多。我个人推荐用VMware+wine,也就是说用VMware上跑虚拟的win98,再用wine作为补充来解决3D游戏的问题.事实上许多原本在 windows 98上开发运行的程序移植到linux上采用的方法也是以wine为基础.如文杰,和loki的一些游戏.
阅读(3944) | 评论(0) | 转发(0) |