wine(转)
上一篇 / 下一篇 2008-11-14 11:38:12 / 个人分类:Debian configure
b!c&J8dl0概述
0h+a4^"f c2vr*\3~0)nG(p@zgf.l7{"D0 刚刚步入Linux,难免要有时利用一下Windows的程序资源,Wine提供了一个用来运行Windows程序的平台。51Testing软件测试网9r9U;\x.h;D
51Testing软件测试网q'f:Wp
L
SV Q$p1fe0 目前 Wine 仍在发展阶段,但是较新的版本可以运行一些著名软件,甚至是 Photoshop CS3!
@]-sJ9w'WS0 Wine的官方站点是http://www.winehq.com/,虽然你可以在它的官方站点下载源代码,自己配置编译,不过这个过程可是比较繁琐的!
编辑本段编译安装
如果你安装了编译所需要的软件(如 gcc flex bison fontforge ),就可以进行编译了!(Xs"KVG0 首先,访问 http://www.winehq.com/ 下载最新版本的 wine,解压到一个目录
y/b{3wGJP|7o0 打开终端("Terminal"),输入以下命令:51Testing软件测试网$zC/bs&q\Y7T~6T
cd <你解压的目录> #进入目录51Testing软件测试网!RMV*rj^ vom
./configure # 检查编译环境51Testing软件测试网*\|)M+x%d*Oe
make #若上一步成功的话,即可进行编译
dY!gBs0 make install #安装51Testing软件测试网Av#y&V ^9jN5w;gm @
即可完成 Wine 的编译。
S+e8q+Jy3c$Ri4q0 注意:编译 WINE 一般需要一个小时(视机器性能而定),若你是刚刚接触 Linux 不久的人,最好不要进行编译。
编辑本段下载及安装
若你使用 Debian 或者 Ubuntu 之类的发行版,只需要一个命令即可完成安装:51Testing软件测试网4dlv&v*`8n9SGl`apt-get install wine
:l5Z oETZ0 若你使用的为其他发行版,请访问 http://winehq.org/site/download 查询安装方法
编辑本段Wine 的配置
运行 winecfg 即可,里面有详尽的配置。(f7^-P qe1el_5`E0 注意:Wine 1.1.4 以上版本的 winecfg 已经是中文界面了。
编辑本段Wine 中文乱码的解决
Wine 1.1.4 以上版本的中文支持得到了极大改善。如果您在使用较低版本的WINE或者对WINE的中文支持不满意,可以把下面文字保存为 zh.reg 文件,运行 regedit 导入它即可51Testing软件测试网`*F6CS{*V7k L:pREGEDIT451Testing软件测试网,G ]]C o4l'w#my&Y
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"c!i*t+~7`.^ ]a)L0 "Arial"="WenQuanYi Zenhei"51Testing软件测试网U.G_!f4t3^)Ae._ b
"Arial CE,238"="WenQuanYi Zenhei"
N`Il'X4KJB,j`0 "Arial CYR,204"="WenQuanYi Zenhei"
D*F2K+tK9f+i,F0 "Arial Greek,161"="WenQuanYi Zenhei"
z3@#~9Ky&I0 "Arial TUR,162"="WenQuanYi Zenhei"51Testing软件测试网3k*N$]g&DW
"Courier New"="WenQuanYi Zenhei"51Testing软件测试网aQ K&`5S#V
"Courier New CE,238"="WenQuanYi Zenhei"51Testing软件测试网i,^)CZ|D[
"Courier New CYR,204"="WenQuanYi Zenhei"51Testing软件测试网,`3[U_1Wl*S
"Courier New Greek,161"="WenQuanYi Zenhei"
} |3K2YLg6TY0 "Courier New TUR,162"="WenQuanYi Zenhei"
1UFs6jU?'r0hR#Z:qQ0 "FixedSys"="WenQuanYi Zenhei"
*R6J Xn{c!c\/^0 "Helv"="WenQuanYi Zenhei"51Testing软件测试网e4["V6~b%q
"Helvetica"="WenQuanYi Zenhei"51Testing软件测试网@D@Ae"na?
"MS Sans Serif"="WenQuanYi Zenhei"51Testing软件测试网o"nU!l1O"Y6e O
"MS Shell Dlg"="WenQuanYi Zenhei"
1mS2Bq,{0 "MS Shell Dlg 2"="WenQuanYi Zenhei"51Testing软件测试网\+y g Z)h
"System"="WenQuanYi Zenhei"51Testing软件测试网V%p*`W,hv ]'L
"Tahoma"="WenQuanYi Zenhei"51Testing软件测试网"pef7x-Rq
"Times"="WenQuanYi Zenhei"
0L8y @/O C(q3Z{{?0 "Times New Roman CE,238"="WenQuanYi Zenhei"51Testing软件测试网kIPQ}-U-V
"Times New Roman CYR,204"="WenQuanYi Zenhei"51Testing软件测试网}+z L\*Otv*oZ/?,T
"Times New Roman Greek,161"="WenQuanYi Zenhei"51Testing软件测试网_'c e/VTU0~
"Times New Roman TUR,162"="WenQuanYi Zenhei"51Testing软件测试网"D,}H/a9^Z
"Tms Rmn"="WenQuanYi Zenhei"
编辑本段官方介绍
Wine is an Open Source implementation of the Windows API on top of X, OpenGL, and Unix.51Testing软件测试网!yo;y XI5\v3F)_Think 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.51Testing软件测试网n?3Q9J8f}.a*J
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.
iIk#{r `;IS0 Wine is free software. The licensing terms are the GNU Lesser General Public License.
编辑本段Wine的简单使用方法
Wine可以在绝大多数的Unix版本下工作,但其现在仍不能完全运行所有的Windows程序,不过由于几乎每个月都有新版本,越来越多的Windows程序已经能在Wine的帮助下在Linux中运行。*v[S.hJL o#e(Eu|$J0 1、直接运行程序
P$`8B!?1y_HR{0 使用命令 wine51Testing软件测试网2Vr(KJ2^!X\}
[root@localhost root]#wine <程序名>
A"Rm%Yk Q h7Uo0 2、使用程序管理器51Testing软件测试网DMu$y*aqfBTq;z
[root@localhost root]#progman
:`VjHf^j$RO0 启动管理器窗口,从菜单中选择 文件(F)-执行(X),就会弹出一个目录浏览器,选择程序即可。51Testing软件测试网J6T,t;?7h
3、直接双击 EXE 程序51Testing软件测试网VW}h7bVgN1mu
一些发行版安装WINE时会自动关联EXE程序,这样直接双击可以运行。51Testing软件测试网"xf&SY/sMJ4F
某些简单程序可直接运行,而不需要安装。
编辑本段举例:Wine运行国泰君安股票软件
如果大家经常用Linux桌面(如Ubuntu),可以用以下的方法把国泰君安股票软件安装到Ubuntu系统中。51Testing软件测试网eQmSJq3c1. 安装Wine
X%vqY~[$k1CPi0 sudo apt-get install wine51Testing软件测试网7R4?P{a
2. 下载国泰君安股票安装软件51Testing软件测试网gyc }y*`$~*O
3. 把当前目录更换到有国泰君安股票软件的目录
\"dk%I-b,c rd&\0 运行以下命令:
-oo!}SyfME+|0 wine setup_dzh5_fuyi.exe
Iz3W(`}[n[\M/] ?0 这时象在Microsoft Windows中一样的安装界面就会出现,按提示安装。51Testing软件测试网E7w-Z4uJ+s"rs6B h
注意:如果这时出现乱码,可能是由于Wine中的字体替换出了问题,请参考以下链接:http://forum.ubuntu.org.cn/viewtopic.php?t=72933
}a1lY2W-?`0 ---51Testing软件测试网#ob7I;m\$`-J$zU
4. 运行国泰君安股票软件51Testing软件测试网rgm mG
运行以下命令:
%{cT$RTX0 cd ~/.wine/drive_c/DZH5/internet/
$?`#Lo0RZ.}fZ9I0 wine Hypmain.exe
编辑本段Wine可以做什么
本文中,我们讨论的是 Wine 在纯 Linux 上的安装,没有任何 Windows 分区。&a9pkrSZ v _$m0 1. Windows 可执行文件:51Testing软件测试网pjS{g[c
Wine 完全支持 Windows 可执行文件( .exe 和 DLL)的二进制加载。51Testing软件测试网xA_~A
2. DLL:51Testing软件测试网pzp1dN$dj{.f
Wine 有几百个 Windows DLL 的内部实现 -- 不过,其中没有多少是完全的实现。例如,包含有用户界面相关函数的 userd32.dll 在开放源代码的 Wine 中实现了 92%。51Testing软件测试网q,iufP
3. COM:
"k2b4p? ZP0 这是一种几乎被所有的大型 Windows 应用程序所使用的 Windows 技术,它支持诸如将一个 Excel 电子数据表嵌入到 Word 文档中等功能。这一技术得到了 Wine 的很好的支持。51Testing软件测试网$@i2v5i!t8x
4. 注册表:
E:r9G0JH0 这是另一个几乎任何一个 Windows 应用程序都会使用的关键技术,Wine 实现了大约 90% 的 Windows 注册表管理 API。51Testing软件测试网|_6Pq exr0`C
5. 核心功能:
9qL*B{UR@0 核心系统功能也得到了特别好的支持。如前面提到的,尽管 Linux 和 Windows 之间存在区别,但是基本的层次上还有很多类似之处,因此与进程、线程、文件和消息队列相关的核心系统 API 得到了近乎完美的支持。51Testing软件测试网;K|~+i3\N-[
6. 音频和视频:
0cX/`R(fI0 Wine 支持 Windows 音频和视频文件的运行(还可以使用 Windows 媒体播放器)。51Testing软件测试网j#s-AI9~ \~[Fu
7. 打印:51Testing软件测试网BWv!o]`A4k i[
也得到了支持,可以从一个在 Wine 中运行的 Windows 应用程序进行打印。
&r+vu JA BL z0 8. ODBC:
!J;AL/H1H)u za0 Wine 支持那些需要通过 ODBC 访问数据库的 Windows 应用程序。
7N|A+_Rx#X%{gj0 9. 调试:51Testing软件测试网+]*Z)N!B{w;p5U
Wine 有一个非常健壮和强大的内置调试器,除了支持标准的调试功能外,它还为调试运行于 Linux 上的 Windows 二进制程序进行了定制。它是 Wine 为其开发者提供的最重要工具之一。Wine 还有一个设计完备的追踪和记录日志的模块,可以帮助调试。我们之所以强调这一点,原因在于,尽管框架是健壮的,但是,当在 Wine 中安装和运行 Windows 应用程序时有很多不确定因素,在使用开放源代码的 Wine 时迟早会停下来进行调试。
编辑本段Wine 不能做什么
不幸的是,很多用户发现 Wine 难于使用。诚然,在 Linux 上使用类似于 MS Office 这样的应用程序可能是困难的;在这里我们来看一些原因,为什么确实是这样。在开始之前,我们应该指出,CodeWeavers 提供的商用 Wine (CrossOver)已经解决了大部分此类问题(参阅参考资料以获得链接)。假以时日,这些问题将可能在开放源代码的 Wine 中同样得到解决。k n5?/~ ox'?0 1. 使用命令行
]2Nt(u7o2Hm%M0 与大部分 Linux 中的应用程序一样,Wine 必须在命令行中安装。用户必须回到命令行中来在 Wine 下运行应用程序。例如,要运行Internet Explorer,用户通常需要在 shell 中输入 wine IEXPLORE.EXE 。尽管经验丰富的用户喜欢这样做,但初学者会发现这比较困难,而且不太可能懂得起别名等快捷方式。不过,现在用户也可以直接双击EXE文件运行(如果进行了关联),尽管这样会给查看错误信息带来困难。
)u K voC0 2. 配置
Lfh3\$O4v$V+zv*KE0 Wine 的配置较为复杂。不过现在有了简体中文的界面,对于初学者来说,配置简单了不少。
}w'|2sJ0s bM0 3. 取消对隐藏文件的隐藏
7_ccU,y.K2X3_HO0 如果挂载 CDROM 时没有使用专门的 unhide 选项,那么安装 CD 上的一些文件可能会无法找到,从而导致安装失败。
3R$j5w B5I+^e0 4. 调整配置
|7UU \N W)G [Ywp0 Wine 安装很少能直接使用(对它来说也就是从 tarfile 解开)。通常需要进行全面的调整;例如,一个程序的安装可能与您在配置文件中设置的 Windows 版本不相容;而修改那个版本又可能会影响一些已安装的应用程序。对很多 DLL 来说也是如此。为此,Wine 提供了一个巧妙的修复,让您可以设置特定于应用程序的属性。不过,一般的用户可能不会像我们一样满意。51Testing软件测试网@9F1{@@5L"V f+us
5. 额外的安装步骤51Testing软件测试网/e7J#s3VY8w
大部分应用程序的安装过程都不是标准的。例如,当我们安装 Internet Explorer 6 时,必须跳过一些步骤,比如 DCOM98 的定位与安装。对用户来说,这类事情可能是最大的障碍。51Testing软件测试网e9V TMV
注意,这些并不是病症,而是举例说明了是哪些种类的事情导致对一般用户来说 Wine 看起来复杂而且困难。
_1cfy!j0 更多 Wine 所不能做的
g&P]%c#|7P1P yK6J0 看完 Wine 的可用性问题后,现在让我们来总结在尝试使用 Wine 时一些常见的技术问题。
!n$xXvK8F9y+x0 1. 缺少 DLL
-_T'`C^4n/L)h0 这可能是最常见的问题:很多安装由于缺少 DLL 而失败。人们应该熟练使用调试器来决定下一步如何去做。(稍后将深入讨论调试器)。51Testing软件测试网q%Wv&bY
2. DLL 版本问题51Testing软件测试网P6cUlq^:A S]h
一些安装程序在开始之前会检查现有的系统 DLL。Wine 解决这一问题的方法是,创建假 DLL 以满足安装程序的需要。不过,有一些安装程序会更进一步并深入检查 DLL 以获得它们的版本。这对假的 DLL 来说要求太高了,会导致安装失败。51Testing软件测试网"s"a2p$KQ
3. DLL 加载次序
s T9T8O hW8Y0 Wine 有对很多 Windows DLL 的实现,而且如果可用,它还可以使用原始的 Windows DLL。如果两种 DLL 都可用,好像显然应该选择总是使用 Windows 自己的 DLL,但实际上 Windows DLL 有时会包含不能被满足的依赖。要确定是更应该使用 Wine 的 DLL 还是应该使用本机 DLL,惟一的方法是,基于各个应用程序反复进行试验。
1}6oik+}c.Y3lG)u0 4. DLL 中的函数51Testing软件测试网zQ'y~7`d-K@9x(W
当一个 Wine DLL 没有实现 Windows 中相应的 DLL 的全部功能时,应用程序可能会遭遇函数调用失败。由于 DLL 是动态加载的,可能没有办法事先知道会发生这样的事情。这是一个复杂的问题,有一些可做的工作,但最终实际来说它只是取决于应用程序的代码如何编写。
;V kea~5A0 有一些因素会减轻这些问题。一方面,您将会一个一个地遇到这些问题,而不是一次遇到全部问题,这样处理起来要容易些。另外,您遇到的那些问题可能其他人曾遇到过并已经解决(而且解决方案已经公布出来)。Wine 用户组非常活跃,会提供许多帮助,每周一次的 Wine 时事通讯(参阅 参考资料)是极好的信息资源。
s;}k`:wT0 Wine 中还没有实现的 Win32 API
eSh T0Zu'N^'m W+L0 在 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 | 31 |
我的存档
数据统计
- 访问量: 31350
- 日志数: 54
- 图片数: 1
- 建立时间: 2008-10-20
- 更新时间: 2010-01-13