如何在 Linux 上运行 Windows 软件?

准备好投入 Linux 的怀抱,但又不太愿意放弃您喜爱的应用程序?或许有解决方案。
790 位读者喜欢这篇文章。
Windows

MartinHarry 来自 Pixabay。CC0。

所以您已准备好跳转到 Linux,但您仍然有一些程序不完全准备好放弃。您仍然可以在 Linux 上运行您的 Windows 软件吗?

答案可能是肯定的,但是,有一些注意事项。

在继续之前,我想强调一个重要的区别。 这可能看起来很明显,但值得重复:在 Linux 上运行程序不会神奇地使其成为开源,就像在 Windows 上运行程序不会使其成为闭源一样。

 

虽然在理想的世界中,我们都只会运行开源操作系统之上的开源软件,但这对于今天的许多人来说不是一个选项,因此弥合开放和专有之间的差距是将新用户带向更开放世界的重要一步。

即使程序是免费和开源的,这并不意味着有人花时间将它们移植到您首选的操作系统。 也许该软件现在已经有数年甚至数十年的历史,或者您想要一个特定功能,而该功能未内置于为您操作系统发布的版本中。

无论您的理由是什么,如果您希望将 Windows 程序带到 Linux,您有几个选择。 这是我的方法。

查找 Linux 版本

当我最终放弃我的最后一个 Windows 分区转用 Linux 时,简化过渡的事情之一是,我多年来一直在使用的许多开源软件在我的 Linux 发行版中立即可用。 像 Blender、Inkscape、GIMP、LibreOffice、FileZilla、Calibre、Audacity、VLC 等程序早已成为我在 Windows 上的工作流程的一部分。 许多是默认安装的,而另一些只需使用我的软件包管理器快速搜索即可找到。 对于那些习惯于在 Windows 中查找、下载和手动安装二进制文件的人来说,Linux 使获取这些软件比以前更加容易。

除了开源软件之外,您还会发现许多您尚未开源的收藏夹也为 Linux 构建,从 Chrome 到 Slack 再到 Skype。 对于游戏玩家来说,Steam 安装良好,并将为您提供许多您在 Windows 上可以访问的游戏,而无需额外努力。 不仅是独立游戏,还有一些新旧顶级游戏。 我 Steam 库中几乎一半的游戏现在都有原生 Linux 端口。

简而言之,在您尝试使 Windows 版本正常工作之前,请确保您没有错过原生 Linux 应用程序。

选择替代方案

Windows 程序的 替代方案 并不总是可行的选择。 如果您正在参加一个围绕如何使用特定应用程序的课程,或者您需要能够导出为只有原始程序才能使用的特定专有格式,或者根本没有提供相同功能的切实可行的开源程序,那么,找到替代方案肯定不是您的最佳方法。

话虽如此,我无法告诉您我听过多少次人们坚持他们需要特定程序,而实际上他们真正指的是他们需要特定功能。 当然,如果您是计算机新手并且从未使用过 Firefox,您可能会认为您需要 Internet Explorer 才能浏览互联网,但是如果您愿意看看您错过了什么,您可能会感到惊喜。

我也无法告诉您有多少次有人说他们需要最昂贵、行业领先、功能齐全的产品来完成特定任务。 不,您可能不需要 AutoCAD 来规划那个树屋,也不需要 Photoshop 仅仅裁剪几张照片。 问问自己您真正需要做什么。

开源替代方案并非旨在制作另一个应用程序的 1:1 克隆,至少通常不是这样。 它们旨在为相同的通用问题提供类似的解决方案。 它们不一定更好或更差,它们只是不同,可能需要一些时间才能习惯。

使用 Wine

找不到 Linux 的原生版本,并且不想使用替代方案? 开源项目 Wine 是您的下一站。 Wine 是 “Wine is not an emulator” 的递归首字母缩写词,尽管您可能会原谅您认为它是。 Wine 提供了一个抽象层,对于 Windows 可执行文件,通过重新创建程序期望的 Windows 系统的许多元素,使您的 Linux 系统看起来像 Windows 机器。

对于许多应用程序,Wine 工作完美无瑕; 您很难分辨出这些程序不是为在 Linux 上原生工作而设计的,除了 Windows 风格的窗口边框和小部件。 而且它很容易安装; Wine 很可能已针对您的 Linux 发行版打包,并位于您的默认存储库中,可以像任何其他程序一样安装。

而且它不仅适用于独立应用程序。 您可以使用许多 Windows 程序的默认安装程序,它们将被正确安装和配置为在您的 Linux 机器上运行。

对于游戏而言,Wine 可能很挑剔。 许多游戏在默认设置下都可以正常工作,但您可能需要进行一些调整才能使一切完美运行。 幸运的是,那里有一个庞大的社区来支持您。 您可能还想查看基于 Wine 的 PlayOnLinux,它提供了一个更简单的界面,可以启动和运行许多游戏。

运行虚拟机

有时,兼容性层是不够的。 虚拟化 允许您在 Linux 操作系统之上运行整个 Windows 操作系统,包括应用程序。 用于桌面虚拟化的流行工具包括 VirtualBox、Boxes 和 Virtual Machine Manager。 对于后者,虚拟化实际上是使用较低级别的程序进行的,通常是直接构建到您的 Linux 内核中的 KVM 虚拟化基础设施,但具有友好的用户界面。

这种技术的缺点是您仍然需要 Windows 许可证,并且速度不会像原生运行应用程序那样快。

虽然虚拟化可以在许多应用程序中提供出乎意料的良好性能,但它往往在图形密集型应用程序中表现不佳。 特别是,除非您花时间正确配置,否则在虚拟机上玩游戏将是一次非常痛苦的体验,这可能很困难。 您最好使用一种称为 VGA 直通 的技术,将显卡的控制权直接传递给虚拟机,但设置它不是初学者的任务。 如果您是 Linux 新手,您需要仔细阅读说明并可能寻求一些帮助。

双启动

无法让您的应用程序在 Wine 中运行? 虚拟化是否无法提供您需要的性能? 您始终可以与 Windows 双启动,并且为了专门的应用程序,时不时地回到您的 Windows 分区。

但就我个人而言,当我试图帮助人们转向 Linux 时,我倾向于鼓励双启动作为最后的手段,而不是首选。 为什么? 坦率地说,一旦您为了完成一项任务而跳转到 Windows,就太容易停留在 Windows 中了。 如果您真的有兴趣学习使用 Linux,最好完全致力于切换,而不是每次遇到障碍时都屈服于以“旧方式”做事的诱惑。

一旦您使用 Linux 一段时间后,您可能会认为必须重新启动才能使用 Windows 是一种障碍。 而且,除此之外,可能有一种方法可以在 Linux 中完成您想做的任何事情,甚至可能更有效率。

那么您呢? 您偶尔在您的 Linux 桌面运行 Windows 软件吗? 您有什么技巧和技术可以分享吗?

Jason Baker
前 Red Hatter 员工。 现在是一名顾问和有抱负的企业家。 地图爱好者、创客,以及开源桌面和自托管软件的热情安装者。

14 条评论

我不在 Linux 上运行 Windows 程序,但我在 Windows 上通过 cygwin 运行 Linux 程序。 我离不开 vi 和 grep。 后者非常有用,而 W10 搜索不可靠。 实际上,我发现 XP 之后的 M$ o/s 上的搜索都不可靠。 我也使用 Perl/Tk!

我很久以前就想切换到 Linux,但我担心我会错过大学需要的一些仅限 Windows 的应用程序,也不想花时间尝试寻找某些程序无法工作的原因,而我本可以学习... UEFI 和 sdd + hdd 也使安装变得非常复杂。 没有找到关于如何在 uefi 和两个磁盘上获得双启动的指南,太笨了,无法自己思考。

没有人使用 PlayOnLinux 吗? 我们主要用它来运行 Windows 游戏。 因此,除了您已经提到的 Steam 之外,您还可以使用 PlayOnLinux 在 Linux 上运行 Windows 游戏。

我实际上为 Linux 游戏写了一篇文章 https://thishosting.rocks/best-linux-distros-for-gaming/ 发行版,并包含有关 PlayOnLinux、Wine、Steam 和一些游戏发行版的信息。

我喜欢 Play On Linux。 这是一个很酷的 WINE 发行版。 很高兴文章中提到了它。

回复 作者: Nick (未验证)

PlayOnLinux 和 Wine 是运行那些每个人“必须拥有”的 MS 程序的绝佳程序。 我发现,如果有人要求这些类型的程序,那是因为他们不想学习其他任何东西。 这是“我不喜欢改变”综合症。 我理解对于普通最终用户来说改变是很难的; 甚至一些 IT 专业人士也是如此; 但是,如果他们花时间真正学习替代方案,他们会发现它完全可以满足他们的需求,有时甚至更好。 这是一种心态问题。

我使用 VirtualBox 运行 Win 8.1。 我只需要它来完成目前在 Linux 中无法完成的三件事。 不过,我怀疑随着时间的推移这种情况会发生变化。 否则,我 99% 的工作都是严格在 Linux 上完成的。

我从不使用 Windows 程序。 我已经找到了我需要的一切的替代方案。 从 Microsoft Office (LibreOffice) 和 Microsoft Edge (Firefox, Vivaldi...Opera 的新浏览器)...Adobe Acrobat Reader (eVince) 当然还有 Windows Media Player (Clementine...VLC) 到不一定随 Windows 安装的东西 (Visio=VYM: V-iew Y-our M-ind/Dia)。 我发现必须下载“.exe”文件然后安装它很耗时,而我只需打开终端并 yum install...或 apt-get install 我需要的任何东西 для 我的 Linux 系统。 我想这是一种成熟的标志。 当我们第一次接触计算机时,我们被“喂食”操作系统,在某个时候,无论是由于您无法在 Windows 世界中解决的软件/硬件问题,还是导致您的 Windows 系统无用的灾难性事件......但最终您渴望......不.....您要求您的系统提供更多功能,而 Windows 只会给您“足够”来使用 PC。 而 Linux 会给您想要的一切,(并且没有您不需要的!哈哈!)所以对我来说?...我不需要任何来自雷德蒙德的东西......对不起微软,但我曾经被您烧伤过一次,很久以前使用 Windows XP 时......我永远不会再犯那个错误了! 并且因为 Linux 永远在发展,我不必担心收不到安全更新和补丁。

我过去使用 Crossover(它基本上是一个 wine 包装器),它工作得非常好。 特别是,我过去常常以这种方式在 Linux 上运行 MS Office,因为我出于工作原因被迫使用它。 我的经验一直持续到 2013 年左右; 不确定它现在是否还能正常工作。

我已经使用 Linux 4 年了,我从来没有觉得我应该回到 Windows 或任何其他操作系统。 Linux 中几乎应有尽有,用于处理图像我使用 pinta 和 GIMP,用于办公室工作我使用 Libre office 和 google docs 可以是另一种选择,我认为它在编程方面是最好的。
根据我的经验,永远不要双启动,否则您迟早会回到 Windows,而是在 Linux 本身中找到出路(向社区提问是解决许多问题的好方法)。

“Wine 是一个递归算法”

我很确定你的意思是首字母缩写词,而不是算法。

我在 Fedora1 上入门,自从我在 Fedora3 左右取消 XP 安装后,就再也没有回头。 当我说服任何人进行切换时,我都会向当地人介绍很多这些问题。 阅读本文并没有给我带来太多关于新信息的个人见解,但我数不清有多少次当我回忆起您所说明的任何鸿沟时,我点头微笑。 很棒的阅读体验。

很棒的文章。 我很少在 Linux 上运行为其他操作系统设计的软件,但因此我确实错过了一些程序。 这就是我创建 https://www.softwareonlinux.com 的原因 - 我想了解 Linux 上程序的需求,以便说服供应商开始支持 Linux。 如果您想在 Linux 上原生运行某些程序,请考虑在该网站上表明这一点!

与此同时,我们将继续使用 Wine 和虚拟机 :)

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.