Linux 下的 Wine 是什么?它是如何工作的?
概括
- WINE 是一个在 Linux 上翻译 Windows 应用程序的兼容层,而不是模拟器。
- Linux 和 macOS 用户可以通过 WINE 访问 Windows 应用程序,无需模拟。
- 尽管存在一些限制,WINE 提供了一种无需 Windows 本身即可访问 Windows 软件的好方法。
Linux 正处于其流行的顶峰,但它仍然是一个极其小众的桌面操作系统。说说你对 Windows 的看法,但它的流行意味着它拥有大部分软件,而且多亏了 WINE,Linux 用户在三十多年来一直在使用 Windows 应用程序。
什么是葡萄酒?
WINE 是开源软件中流行的独特递归缩写之一。它是“WINE Is Not an Emulator”的缩写,当我告诉您 WINE 是一个让 Windows 软件在 Linux 或 macOS 上运行的程序时,这就有意义了。但它并不是通过以任何方式模拟 Windows 来实现这一点。
葡萄酒是如何运作的?
WINE 是位于 Windows 软件和 Linux 之间的“兼容层”的一个示例,它将每个软件的“语言”转换为另一个软件。它不是模拟器,因为它并不试图模拟整个系统。根本没有 Windows 模拟,只有需要时巧妙且高效的翻译。基本过程有点像这样:
- Windows 应用程序发出请求,例如打开文件或显示窗口。
- WINE 拦截此请求,并将该请求转换为本机 Linux 应用程序所发出的等效请求。
- Linux 执行该请求,WINE 执行相同的操作,但方向相反。
当然,实际上这种情况每秒会发生数百万次,因此该应用程序的运行方式与在 Windows 上的运行方式非常相似。
为什么使用葡萄酒?
如果您是 Linux 或 macOS 用户,那么使用 WINE 有很多充分的理由,最明显的是您可以访问没有良好的 Linux 等效项或没有 Linux 端口的 Windows 应用程序。
传统上,WINE 也是让 Windows 游戏在 Linux 上运行的一种流行方式。现代 Linux 游戏(例如 Steam Deck 上的游戏)利用称为 Proton 的专用兼容层,其中至少部分包含主 WINE 程序的修改版本。
蒸汽甲板 OLED
使用 Steam Deck OLED 提升您的游戏体验。让自己沉浸在充满活力的 OLED 显示屏上的令人惊叹的视觉效果中,同时享受强大的性能和便携性。
因为它是一个兼容层,而不是模拟器或虚拟机,所以 WINE 不会增加太多计算开销。因此,这通常是从运行 Linux 的低端笔记本电脑等设备中获得可用体验的唯一方法。
当您只想运行一些仅适用于 Microsoft 流行操作系统的特定应用程序时,WINE 也是避免为 Windows 付费的好(且合法)方法。
WINE 的局限性
虽然如今 WINE 的状态确实很好,但它并不完美。并非所有应用程序都能 100% 与 WINE 配合使用,而且其 API 翻译也不完全完整。虽然它的开销比其他方法少,但 WINE 仍然增加了开销,并且在某些应用程序中,特别是具有大量图形的应用程序中,这可能是一个重大问题。
WINE 的另一个限制是让特定程序运行可能需要大量的调整、测试和配置。毕竟时间就是金钱,有时购买并运行 Windows 来运行某些软件会更便宜。您可以使用 WINEHQ 应用程序数据库来检查特定应用程序的运行情况,例如 AppB 主页上的“白金”应用程序列表。
应用程序按照其运行情况进行排名,您还将获得有关任何特定问题或需要采用的解决方法的信息。
葡萄酒替代品
我已经提到过 Proton,大多数人应该在 Linux 上玩游戏时使用它,但它集成到 Steam 中,这使得它对于不在 Valve 店面上的游戏来说不太理想。
虚拟机也是 WINE 的一个很好的替代品,因为现在即使是主流 CPU 也具有出色的虚拟化支持,而在 WINE 的大部分生命周期中,情况并非如此。如果您需要在虚拟机上的软件和本机 Linux 主机之间移动文件或信息,虚拟机确实会降低使用应用程序的集成度,但这是可以忍受的。
CrossOver 是一个付费的商业兼容层,它基于 WINE,但更加用户友好,并且提供支持。
Whiskey 是在 Mac 上玩 Windows 游戏的绝佳方式,它结合了 WINE 以及 Apple 自己的游戏移植工具包。
最后,如果您想鱼与熊掌兼得,您可以简单地双启动 Windows 和 Linux。
葡萄酒的未来
WINE 不会消失,甚至它的替代品也在某种程度上依赖于这个开源项目。有成千上万的人以这样或那样的方式为 WINE 做出贡献,他们将不断添加功能、改进性能并使其与新旧软件兼容。除非 Linux 变得足够流行,足以说服大多数软件开发人员为其应用程序提供本机版本,否则对 WINE 或类似产品的需求将与 Linux 本身一样存在。