Wine(Windows程序加载器)如何在Ubuntu上运行?

我知道我们可以在葡萄酒的帮助下运行windows(.exe)程序。

我想知道葡萄酒如何在Ubuntu上运行并运行exe程序。 由于有两种不同的操作系统窗口(闭源)和Ubuntu(Linux开源)以及不同的工作方法,因为Ubuntu基于包管理(apt,dpkg)。

那么为什么葡萄酒很重要, “葡萄酒不是模拟器”意味着什么呢?

据我所知,它创建$HONE/.wine/drive_c/windows等目录然后它是否与Windows上的工作方式类似,并在windows/system32使用相同的文件作为真正的窗口平台?

我想知道它的工作和重要性,因为为什么在Ubuntu上运行Windows程序进行预测( 需要什么/为什么应该允许 )? 然而,它并不完全支持Windows和图形的几个软件。

什么是并行包,如交叉,在Linux上播放?

正如维基百科所说: http : //en.wikipedia.org/wiki/Wine_ (software )

Wine是一个兼容层。它通过提供Windows程序调用的DLL的替代实现来复制Windows的function,[4]以及替换Windows NT内核的过程。

因此,WINE是一套内部开发的库,其中一方面(程序可见)是Windows API,另一方面(对linux内核和linux库可见,如glibc和libX11)是POSIX,Linux和X11 API。 此外,还有一个特殊的Windows程序加载程序,它可以读取EXE文件,将其加载到内存中,并将所有需要的DLL库连接到内存,连接内部Wine库和系统库并运行它。 WINE里面也可以有几个帮助程序。

由于有两个不同的操作系统窗口(闭源)和Ubuntu(Linux开源)

Wine提供了各种Window系统DLL的版本。 Wine还可以加载本机Windows DLL。 不支持尝试直接调用Windows内核。 如果您的Windows程序进行Linux可以处理的调用,那么Wine会将它们传递给Linux内核。 如果程序想要做一些Linux无法做的事情,那么Wine会将调用转换为Linux可以先处理的内容。

两种操作系统(Windows和Ubuntu)都有不同的API(和ABI(应用程序二进制接口))。 Windows有WinAPI,Linux有POSIX API,还有一些特定于Linux的API,图形API(如X11)和自己的Linux ABI。 例如,如果使用错误的API,不同的API不允许您打开文件并从中读取。 这种差异不是关于包管理,而是关于程序,库和OS内核之间的接口。

那么为什么葡萄酒很重要,“葡萄酒不是模拟器”意味着什么呢?

模拟器应该加载程序指令,解析它们并模仿它们的动作。 因此,ARM的仿真器可以在x86(Intel)上使用,例如伟大的qemu (名称解码为“Quick EMUlator”),或者用C编写的旧版x86仿真器 – bochs 。 仿真器通常模拟整个PC,从BIOS,处理器和HDD开始,它们启动到安装到此虚拟PC中的操作系统。

WINE不是模拟器,因为它不解释目标二进制的指令而不模拟处理器。 它只是将程序加载到内存中,并提供从WinAPI到主机的POSIX / Linux API(以及用于图形和鼠标的Xlib,以及其他一些声音API等)的API转换。

为什么要在Ubuntu上运行Windows程序(或者需要什么/为什么应该允许)?

在Ubuntu创建之前预计了WINE,该项目是在Solaris类似的项目“Wabi”之后于1993 年开始的。 能够从其他操作系统启动应用程序是很有用的,特别是如果这个其他操作系统使用得非常广泛,并且有很多专门为它创建的软件(和游戏),它们不能直接在任何其他操作系统上启动Unix,Solaris或Linux。

然而,它并不完全支持Windows和图形的几个软件。

WINE无法完全实现所有WinAPI(其中某些部分未记录)和所有需要的库。 某些Windows程序正在使用未实现的API或库,因此它们无法与WINE一起使用。

什么是并行包,如交叉,在Linux上播放?

Crossover是WINE的商业变体,有更好的支持,一些帮助GUI工具(轻松安装一些软件)和经过validation的工作窗口程序和游戏的兼容性列表 。 通常你应该向CodeWeavers(CrossOver的开发者)支付一些(40美元)的钱,以便长时间使用该软件包并获得支持。 CodeWeavers(小公司)支持葡萄酒项目,通过重新发送所有补丁,并支付给几个葡萄酒开发商。 根据维基百科:

CrossOver是由CodeWeavers开发的,基于Wine,一个开源的Windows兼容层.CodeWeavers修改Wine源代码,应用兼容性补丁,添加更加用户友好的配置工具,并提供技术支持.CodeWeavers使用多个Wine软件开发人员,并为Wine提供源代码。