11.1. 概述

WINE 是 Wine Is Not an Emulator 的缩写,在技术上是一个软件转换层。它能够在 FreeBSD(和其他)系统上安装和运行一些为 Windows® 编写的软件。

它通过拦截系统调用,或从软件到操作系统的请求,并将它们从 Windows® 调用翻译成 FreeBSD 所理解的调用。它还会根据需要将一切响应翻译成 Windows® 软件所期望的内容。因此在某些方面,它模拟了 Windows® 环境,因为它提供了许多 Windows® 应用程序所期望的资源。

然而,它并不是传统意义上的仿真器。许多这样的解决方案是通过使用软件进程代替硬件来构建整个其他的计算机 虚拟化(如由模拟器/ qemu port 提供的)以这种方式运作。这种方法的好处之一是能够将有关的操作系统的完整版本安装到模拟器上。对应用程序来说,这意味着看起来的环境与真实的机器没有任何区别,而且很有可能一切都能在上面运行。这种方法的缺点是,作为模拟硬件的软件在本质上比实际的硬件要慢。计算机内置的软件(称为“客户机”)需要真正的机器(主机)的资源,并且只要它在运行,就会抓住这些资源。

另一方面,WINE 项目对系统资源的占用要轻得多。它将在实时翻译系统调用,所以尽管它很难像真正的 Windows® 电脑一样快,但它却非常接近。另一方面,WINE 正试图在所有不同的系统调用和其他需要支持的功能方面跟上一个移动的目标。因此,可能会有一些应用程序在 WINE 上不能像预期的那样工作,或者根本就不能工作,或者甚至一开始就不能安装。

最后,WINE 提供了另一种尝试让特定的 Windows® 软件程序在 FreeBSD 上运行的选择。它总是可以作为第一选择,如果成功的话,它可以提供良好的体验,而不会不必要地耗尽 FreeBSD 主机的系统资源。

本章将描述:

  • 如何在 FreeBSD 系统上安装 WINE:

  • WINE 是如何运行的,以及它与其他替代方案如 virtualizaton 有什么不同。

  • 如何对 WINE 进行微调以满足某些应用程序的特殊需要。

  • 如何为 WINE 安装 GUI 辅助工具。

  • 在 FreeBSD 上的常见技巧和解决方案。

  • 在 FreeBSD 上的 WINE 在多用户环境方面的考虑。

在阅读本章之前,有必要了解一下:

  • 理解 UNIX® 和 FreeBSD 的基本原理。

  • 知道如何安装 FreeBSD。

  • 知道如何设置网络连接。

  • 知道如何安装额外的第三方软件。