wine(转)
上一篇 / 下一篇 2008-11-14 11:38:12 / 个人分类:Debian configure
Yo3b1p X*Gm5r!j0概述
)D~6P9?&L051Testing软件测试网T#G*MFV 刚刚步入Linux,难免要有时利用一下Windows的程序资源,Wine提供了一个用来运行Windows程序的平台。51Testing软件测试网q+l+I
i+C/[.?*u(eH
51Testing软件测试网KRE;faw y-@I%J
l9|2si;g#^0 目前 Wine 仍在发展阶段,但是较新的版本可以运行一些著名软件,甚至是 Photoshop CS3!
/a m%sJ'cTP?cJ0 Wine的官方站点是http://www.winehq.com/,虽然你可以在它的官方站点下载源代码,自己配置编译,不过这个过程可是比较繁琐的!
编辑本段编译安装
如果你安装了编译所需要的软件(如 gcc flex bison fontforge ),就可以进行编译了!51Testing软件测试网2]I2anqxIU M&P:b1`首先,访问 http://www.winehq.com/ 下载最新版本的 wine,解压到一个目录51Testing软件测试网2A`W)i` }1c*d1BK
打开终端("Terminal"),输入以下命令:51Testing软件测试网-^5ZuO}.m4]/Qs#j
cd <你解压的目录> #进入目录51Testing软件测试网v5a u OM;SH$V0|&y
./configure # 检查编译环境51Testing软件测试网;DzNXc%j
make #若上一步成功的话,即可进行编译
6I$MR0?%^Eo0 make install #安装51Testing软件测试网"Q i"@YJXrA
即可完成 Wine 的编译。
?y:l!Y]/U#pa e0 注意:编译 WINE 一般需要一个小时(视机器性能而定),若你是刚刚接触 Linux 不久的人,最好不要进行编译。
编辑本段下载及安装
若你使用 Debian 或者 Ubuntu 之类的发行版,只需要一个命令即可完成安装:T2K iyF,pI Q1n0 apt-get install wine51Testing软件测试网q!F#G-Q3B{
若你使用的为其他发行版,请访问 http://winehq.org/site/download 查询安装方法
编辑本段Wine 的配置
运行 winecfg 即可,里面有详尽的配置。Mp2f-QD?eB0 注意:Wine 1.1.4 以上版本的 winecfg 已经是中文界面了。
编辑本段Wine 中文乱码的解决
Wine 1.1.4 以上版本的中文支持得到了极大改善。如果您在使用较低版本的WINE或者对WINE的中文支持不满意,可以把下面文字保存为 zh.reg 文件,运行 regedit 导入它即可51Testing软件测试网I t J${!zREGEDIT451Testing软件测试网}hpu+?)j
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
Ab:m;xty0 "Arial"="WenQuanYi Zenhei"51Testing软件测试网6x(v+{K(w{g*J"tR
"Arial CE,238"="WenQuanYi Zenhei"
4EXD:LqR0 "Arial CYR,204"="WenQuanYi Zenhei"51Testing软件测试网C?i`)N#Pz1po
"Arial Greek,161"="WenQuanYi Zenhei"
Ldo&sm+y0 "Arial TUR,162"="WenQuanYi Zenhei"51Testing软件测试网 `9b_3t'~tb`w
"Courier New"="WenQuanYi Zenhei"51Testing软件测试网akL5S4tuK R
"Courier New CE,238"="WenQuanYi Zenhei"
H5KGd#w0 "Courier New CYR,204"="WenQuanYi Zenhei"51Testing软件测试网%abD2m&t:|%LOP
"Courier New Greek,161"="WenQuanYi Zenhei"
gU\^2Lf F&}m0 "Courier New TUR,162"="WenQuanYi Zenhei"
3A6t7L9t&]7ur0 "FixedSys"="WenQuanYi Zenhei"51Testing软件测试网gN?u*gs9_-[,Z W
"Helv"="WenQuanYi Zenhei"
D:KP.|s;Sg0 "Helvetica"="WenQuanYi Zenhei"
4m5| C\@g)u0 "MS Sans Serif"="WenQuanYi Zenhei"
X Ofnk_R%{#Y0 "MS Shell Dlg"="WenQuanYi Zenhei"51Testing软件测试网:d9{+Adlt}f
"MS Shell Dlg 2"="WenQuanYi Zenhei"
s0a-k)~.v&RhM^ uN0 "System"="WenQuanYi Zenhei"
:U3R6h`4P'`,v0 "Tahoma"="WenQuanYi Zenhei"51Testing软件测试网S Ck G:r8M
"Times"="WenQuanYi Zenhei"51Testing软件测试网i%~Og{;P-ESBK
"Times New Roman CE,238"="WenQuanYi Zenhei"
4m*E7A&_A@"~ i0 "Times New Roman CYR,204"="WenQuanYi Zenhei"51Testing软件测试网!mhj3P YZ \$V
"Times New Roman Greek,161"="WenQuanYi Zenhei"51Testing软件测试网x,?J6A/]:_W
"Times New Roman TUR,162"="WenQuanYi Zenhei"51Testing软件测试网+W,q0a q C'iG7k v
"Tms Rmn"="WenQuanYi Zenhei"
编辑本段官方介绍
Wine is an Open Source implementation of the Windows API on top of X, OpenGL, and Unix.51Testing软件测试网5O3Xi#tI0O3LusThink of Wine as a compatibility layer for running Windows programs. Wine does not require Microsoft Windows, as it is a completely free alternative implementation of the Windows API consisting of 100% non-Microsoft code, however Wine can optionally use native Windows DLLs if they are available. Wine provides both a development toolkit for porting Windows source code to Unix as well as a program loader, allowing many unmodified Windows programs to run on x86-based Unixes, including Linux, FreeBSD, Mac OS X, and Solaris.
hX)G(d[:r6m0 More information can be read in the articles Why Wine is so important, and Debunking Wine Myths. If you are wondering how well a particular application works in Wine, please examine the Applications Database. For installation instructions and step-by-step help with running Wine, take a look at the User Guide.
;s e1im;Ee/i0 Wine is free software. The licensing terms are the GNU Lesser General Public License.
编辑本段Wine的简单使用方法
Wine可以在绝大多数的Unix版本下工作,但其现在仍不能完全运行所有的Windows程序,不过由于几乎每个月都有新版本,越来越多的Windows程序已经能在Wine的帮助下在Linux中运行。51Testing软件测试网Uyd%P2Nc|1、直接运行程序51Testing软件测试网7TN#n.A&z6m
使用命令 wine51Testing软件测试网2jI wW Eec L,KR}A
[root@localhost root]#wine <程序名>51Testing软件测试网.g&G d qcE:}1p!Le
2、使用程序管理器
PiSq r6L0 [root@localhost root]#progman
X4^|zb.`2V^N0j)u7RE%FK0 启动管理器窗口,从菜单中选择 文件(F)-执行(X),就会弹出一个目录浏览器,选择程序即可。51Testing软件测试网K.\xSi\l2q
3、直接双击 EXE 程序51Testing软件测试网u6r7{9s [$q&?p/Xnd%NV
一些发行版安装WINE时会自动关联EXE程序,这样直接双击可以运行。
F$`kifJEY+`(E'b0 某些简单程序可直接运行,而不需要安装。
编辑本段举例:Wine运行国泰君安股票软件
如果大家经常用Linux桌面(如Ubuntu),可以用以下的方法把国泰君安股票软件安装到Ubuntu系统中。51Testing软件测试网$]~j*BB j~6S8Yz0j;pQ1. 安装Wine
N@usn.c B#h0 sudo apt-get install wine
e8L1^#S:U8E8fUt0 2. 下载国泰君安股票安装软件51Testing软件测试网2F)l;e7Y5Y$qo1Ci
3. 把当前目录更换到有国泰君安股票软件的目录
:a/Z7q"T#qn0 运行以下命令:51Testing软件测试网P,jK/TB `
wine setup_dzh5_fuyi.exe51Testing软件测试网~ BYAW/p3I1h
这时象在Microsoft Windows中一样的安装界面就会出现,按提示安装。
8a.NT yvi:q0 注意:如果这时出现乱码,可能是由于Wine中的字体替换出了问题,请参考以下链接:http://forum.ubuntu.org.cn/viewtopic.php?t=72933
`@!k*mD7x!d0 ---51Testing软件测试网vqx|!] Y`f*G Y8U
4. 运行国泰君安股票软件
$AXVCsp,`!j6F0 运行以下命令:51Testing软件测试网!fQ4a,L` C
cd ~/.wine/drive_c/DZH5/internet/51Testing软件测试网{Q,K%XgE8c
wine Hypmain.exe
编辑本段Wine可以做什么
本文中,我们讨论的是 Wine 在纯 Linux 上的安装,没有任何 Windows 分区。)Q4J~'jG0 1. Windows 可执行文件:51Testing软件测试网soTv8C:n9`
Wine 完全支持 Windows 可执行文件( .exe 和 DLL)的二进制加载。
\bZ'[$q;o:h/`-Bf*}0 2. DLL:
*mWsdL3u0 Wine 有几百个 Windows DLL 的内部实现 -- 不过,其中没有多少是完全的实现。例如,包含有用户界面相关函数的 userd32.dll 在开放源代码的 Wine 中实现了 92%。
B@*Q~,[a-Xvz"q!r,Q0 3. COM:
H"?;y1o7xCL)v C0 这是一种几乎被所有的大型 Windows 应用程序所使用的 Windows 技术,它支持诸如将一个 Excel 电子数据表嵌入到 Word 文档中等功能。这一技术得到了 Wine 的很好的支持。51Testing软件测试网"\ Ts|!~g0v\1m
4. 注册表:
Y3C8MHq/xc0 这是另一个几乎任何一个 Windows 应用程序都会使用的关键技术,Wine 实现了大约 90% 的 Windows 注册表管理 API。
;^8LaleZo;U0 5. 核心功能:51Testing软件测试网s+]2Eu| B
核心系统功能也得到了特别好的支持。如前面提到的,尽管 Linux 和 Windows 之间存在区别,但是基本的层次上还有很多类似之处,因此与进程、线程、文件和消息队列相关的核心系统 API 得到了近乎完美的支持。51Testing软件测试网;fpmF9sc[`kx
6. 音频和视频:
.gC+La.~,~/n0 Wine 支持 Windows 音频和视频文件的运行(还可以使用 Windows 媒体播放器)。
z[&|0rQ%n2D4\Y8K0 7. 打印:
)Ug2bt aA V;[0 也得到了支持,可以从一个在 Wine 中运行的 Windows 应用程序进行打印。51Testing软件测试网2D+mJHy9[wz
8. ODBC:
iO\FD8v glGR0 Wine 支持那些需要通过 ODBC 访问数据库的 Windows 应用程序。51Testing软件测试网7J\PD3@'Z,O
9. 调试:51Testing软件测试网sQmj"E
Wine 有一个非常健壮和强大的内置调试器,除了支持标准的调试功能外,它还为调试运行于 Linux 上的 Windows 二进制程序进行了定制。它是 Wine 为其开发者提供的最重要工具之一。Wine 还有一个设计完备的追踪和记录日志的模块,可以帮助调试。我们之所以强调这一点,原因在于,尽管框架是健壮的,但是,当在 Wine 中安装和运行 Windows 应用程序时有很多不确定因素,在使用开放源代码的 Wine 时迟早会停下来进行调试。
编辑本段Wine 不能做什么
不幸的是,很多用户发现 Wine 难于使用。诚然,在 Linux 上使用类似于 MS Office 这样的应用程序可能是困难的;在这里我们来看一些原因,为什么确实是这样。在开始之前,我们应该指出,CodeWeavers 提供的商用 Wine (CrossOver)已经解决了大部分此类问题(参阅参考资料以获得链接)。假以时日,这些问题将可能在开放源代码的 Wine 中同样得到解决。g1N-B a.u1f0 1. 使用命令行
9]'zS+\ Y9]S(PGC0 与大部分 Linux 中的应用程序一样,Wine 必须在命令行中安装。用户必须回到命令行中来在 Wine 下运行应用程序。例如,要运行Internet Explorer,用户通常需要在 shell 中输入 wine IEXPLORE.EXE 。尽管经验丰富的用户喜欢这样做,但初学者会发现这比较困难,而且不太可能懂得起别名等快捷方式。不过,现在用户也可以直接双击EXE文件运行(如果进行了关联),尽管这样会给查看错误信息带来困难。51Testing软件测试网3KJ"f9B*~P"e'K
2. 配置51Testing软件测试网/z6^ w l c%R&h
Wine 的配置较为复杂。不过现在有了简体中文的界面,对于初学者来说,配置简单了不少。
!iw/b JzN0 3. 取消对隐藏文件的隐藏
5P7QT \9P@ t0 如果挂载 CDROM 时没有使用专门的 unhide 选项,那么安装 CD 上的一些文件可能会无法找到,从而导致安装失败。
ci`(R:Q0hl;k0 4. 调整配置
D@H%u6xb+e"PlV0 Wine 安装很少能直接使用(对它来说也就是从 tarfile 解开)。通常需要进行全面的调整;例如,一个程序的安装可能与您在配置文件中设置的 Windows 版本不相容;而修改那个版本又可能会影响一些已安装的应用程序。对很多 DLL 来说也是如此。为此,Wine 提供了一个巧妙的修复,让您可以设置特定于应用程序的属性。不过,一般的用户可能不会像我们一样满意。
[p"b5tDvo0 5. 额外的安装步骤51Testing软件测试网-]@~lp9V d3s
大部分应用程序的安装过程都不是标准的。例如,当我们安装 Internet Explorer 6 时,必须跳过一些步骤,比如 DCOM98 的定位与安装。对用户来说,这类事情可能是最大的障碍。51Testing软件测试网u:P7I$Sat9n
注意,这些并不是病症,而是举例说明了是哪些种类的事情导致对一般用户来说 Wine 看起来复杂而且困难。
NK5s)L(\!Fu#H/O6lqH0 更多 Wine 所不能做的51Testing软件测试网qG)WI/vu$E
看完 Wine 的可用性问题后,现在让我们来总结在尝试使用 Wine 时一些常见的技术问题。
)cWc/UUZX0 1. 缺少 DLL51Testing软件测试网*?B~q"A`7a
这可能是最常见的问题:很多安装由于缺少 DLL 而失败。人们应该熟练使用调试器来决定下一步如何去做。(稍后将深入讨论调试器)。
hLcjN Z(u!?0S0 2. DLL 版本问题
?4tMe+_qZg0 一些安装程序在开始之前会检查现有的系统 DLL。Wine 解决这一问题的方法是,创建假 DLL 以满足安装程序的需要。不过,有一些安装程序会更进一步并深入检查 DLL 以获得它们的版本。这对假的 DLL 来说要求太高了,会导致安装失败。51Testing软件测试网2AjsZ(i
3. DLL 加载次序
D$Q#aZ*q+a%T0} Y0 Wine 有对很多 Windows DLL 的实现,而且如果可用,它还可以使用原始的 Windows DLL。如果两种 DLL 都可用,好像显然应该选择总是使用 Windows 自己的 DLL,但实际上 Windows DLL 有时会包含不能被满足的依赖。要确定是更应该使用 Wine 的 DLL 还是应该使用本机 DLL,惟一的方法是,基于各个应用程序反复进行试验。51Testing软件测试网l"RXz%[ ay
4. DLL 中的函数51Testing软件测试网 o6k\G/}*YE%F
当一个 Wine DLL 没有实现 Windows 中相应的 DLL 的全部功能时,应用程序可能会遭遇函数调用失败。由于 DLL 是动态加载的,可能没有办法事先知道会发生这样的事情。这是一个复杂的问题,有一些可做的工作,但最终实际来说它只是取决于应用程序的代码如何编写。51Testing软件测试网(I1{a)WX _
有一些因素会减轻这些问题。一方面,您将会一个一个地遇到这些问题,而不是一次遇到全部问题,这样处理起来要容易些。另外,您遇到的那些问题可能其他人曾遇到过并已经解决(而且解决方案已经公布出来)。Wine 用户组非常活跃,会提供许多帮助,每周一次的 Wine 时事通讯(参阅 参考资料)是极好的信息资源。51Testing软件测试网d~.R?yC)h
Wine 中还没有实现的 Win32 API51Testing软件测试网 AE.I PQ5L
在 Wine 中,很多 Win32 API5 的函数是残缺不全的。最常见的原因是,相当多的 Win32 API 并没有被文档化。这就意味着一个特别的应用程序可能会调用某个函数,而完全没有关于此函数的可用资料。例如,我们在运行一个简单的 RPC 程序时发现了 RtlAnsiCharToUnicodeChar 这个函数。在 MSDN 上的搜索结果显示没有关于这个函数的资料,而且没有关于所有 RtlXXXX 类别函数的资料。因此,如果它们在 Wine 中的实现对一些应用程序来说至关重要,那么人们可能只有去猜测它们的行为了。
TAG:
标题搜索
日历
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
1 | 2 | 3 | 4 | 5 | 6 | ||||
7 | 8 | 9 | 10 | 11 | 12 | 13 | |||
14 | 15 | 16 | 17 | 18 | 19 | 20 | |||
21 | 22 | 23 | 24 | 25 | 26 | 27 | |||
28 | 29 | 30 |
我的存档
数据统计
- 访问量: 31123
- 日志数: 54
- 图片数: 1
- 建立时间: 2008-10-20
- 更新时间: 2010-01-13