一个月前,我发现该Proton
模块Steam
试图确保与我获得的游戏的最佳兼容性Windows
,并允许我在我的Debian 10
.
昨天,我使用命令安装了Notepad++
一个著名的Windows
编辑器。Debian
snap
我不知道它的奥秘,snap
也不知道它是如何Proton
运作的。我认为它们共同依赖于Wine
我系统上的底层安装。我不知道在哪里,我不用自己管理(而且这样很方便)。
但我想的是真的吗?如何保证与Windows
现场之外的兼容性?
答案1
Proton 是 Steam Play 的一部分。这是 Steam 的框架,用于提供兼容层来运行其发行的游戏,但 Linux 本身不支持该游戏。了解更多相关信息这里在其 GitHub 页面上。 Proton 充当 Steam Play 的默认兼容层,并且基于 wine 或是其扩展。实际上,它是 Steam 的 wine 版本,经过专门配置并与其他工具(例如 DirectX 到 Vulcan 图形 API 转换器)相结合。 DirectX 是 Windows 和 Xbox(它被称为 Xbox 的原因。它是一个“DirectX”-Box)专用的图形 API。 Vulcan 是一种现代图形 API,以其跨平台功能而闻名。通过将这些工具和脚本捆绑在一起,Steam Play 正在帮助从 Windows 迁移到 Linux 的传统 PC 游戏玩家在 Linux 上获得无缝的游戏体验。
Wine 是一个兼容层,可将 Windows API 调用即时转换为 POSIX 调用,以允许 Windows 二进制文件和可执行文件在 *nix 类操作系统上实现接近本机的性能。了解更多关于葡萄酒的信息这里在其主要网站上。
大多数情况下,wine 配置是系统范围的,这意味着一旦您配置了 wine,系统上使用它启动的所有其他程序通常都会共享相同的配置。这可能并不总是有效,因为某些程序需要在 wine 中以稍微不同的参数进行设置才能工作。您可以使用 wine-tricks 和 wine-bottles 之类的东西,并且 PlayOnLinux、Lutris 和 Crossover 等程序可以使管理变得更容易。 Steam 的 Proton 是构建在 wine 之上的另一个抽象层,可以更轻松地管理不同的 Windows 程序。
您的 Notepad++ snap 是一个便携式“类似容器”的二进制文件。 Snap 捆绑了运行所需的所有必要库和配置。 Windows 程序的 snap 包很可能附带专门为运行它而配置的其自己的 Wine 版本。像 snaps 和 flatpak 这样的解决方案的好处是它们是可移植的并且是预先配置的 chroot,应该能够在具有类似版本的 snap/flatpak 的任何操作系统上运行。很像 Docker 容器。这些快照的缺点是,如果您的系统上已经有一些库,则磁盘空间会增加一倍。了解有关快照的更多信息这里。
就我个人而言,我更喜欢只从 GOG 购买具有原生 Linux 版本或可以在 DOSBox 中运行的游戏。然而,我拥有的一些较旧的非 DOS 游戏只能通过 wine 运行。在 Windows 上,我发现 Notepad++ 是我最喜欢的文本编辑器,但在 Linux 上,我喜欢坚持使用 Linux 本机程序,例如 Geany、Notepadqq、Leafpad/Mousepad 和 Gedit。在许多情况下,我只是使用 nano 或 vi 来满足我的文本编辑需求。
葡萄酒的酿造过程非常复杂,一旦出现问题,葡萄酒就处于灰色地带。如果您在 Linux 上运行的 Windows 程序出现问题,是程序本身、wine 还是您的 Linux 系统有问题?在尝试解决此类问题时,有很多移动部件。我建议,如果您需要 Windows 程序,您可能需要在虚拟机或双启动中运行 Windows,以获得最佳(并且在许多情况下更容易)体验。