编写: John R. Sheets <jsheets@codeweavers.com>
许多人面临着拥有的软件不能在他的计算机上运行的困扰。随着 Linux 近来的流行,因为操作系统的不同而发生的更加频繁。你的 Windows 软件不能在 Linux 上运行,而你的 Linux 软件不能在 Windows 上运行。
对这个问题的一个常见的解决方法是在一个计算机上同时安装这两个操作系统,成为一个 "双引导" 系统。如果你想在 MS Word 中写一个文档,你可以启动 Windows;如果你想运行 GnuCash,一个 GNOME 财务应用程序,你可以关闭你 Windows 任务(session)并重启动到 Linux。问题是你不能同时使用它们。每次在 MS Word 和 GnuCash 之间前后切换,你必须再次重启动。很快就会厌倦的。
如果你可以在同一个系统上运行所有你的程序,而不管它们是为 Windows 还是 Linux 写的,生活就容易多了。在 Windows 上,这实际上不可能。[1] 但是,Wine 使在 Linux (或 Solaris)上同时运行本地 Windows 应用程序和本地 Linux 应用程序成为可能。你可以在 MS Word 和 GnuCash 之间共享桌面空间,交叠窗口,图标化它们,甚至从同一个启动项(launcher)运行它们。
Wine 是 win32 库的一个 UNIX 实现,由上百个志愿开发者从头(from scratch)写成并在一个开放源代码许可之下发行。任何人都可以下载并阅读源代码,并修理存在的缺陷。Wine 社区众多有才干的程序员在增进 Wine 上花费了上千个小时的个人时间,所以它可以很好的与 win32 应用编程接口(API)一起工作,并保持与 Microsoft 相同的开发步调。
Wine 可以用两种不同的方式运行应用程序: 作为预编译的 Windows 二进制程序,或作为本地编译的 X11 (X Window 系统) 应用程序。前面的方法使用模拟把一个 Windows 应用程序和连接到 Wine 库上。通过 Wine 安装或简单的把 Windows 可执行文件复制到你的 Linux 系统上,你可以用模拟器直接运行你的 Windows 应用程序。
用 Wine 运行 Windows 应用程序的另一种方法需要拥有这个应用的源代码。不用本地 Windows 编译器编译它,象对其他 UNIX 应用程序所做的那样,你要用本地 Linux 编译器编译它 -- 例如 gcc -- 并连接上 Wine 库。这些本地连接的应用程序被称为 Winelib 应用程序。
Wine 用户指南将关注于使用 Wine 模拟器运行预编译的 Windows 应用程序。Winelib 用户指南将覆盖 Winelib 应用程序。
[1] |
从技术的角度上,如果你有两个连网的计算机,一个运行 Windows 而另一个运行 Linux,并且你在这个 Windows 系统上运行了某种 X 服务器软件,你可以把 Linux 应用程序导出到 Windows 系统上。不幸的是,多数正规的 win32 X 服务器是商业产品,它们通常都很贵。如果你只有一个计算机那么这种方案就解决不了问题。 |