在 Linux 上运行 Windows 程序的种种方法

Tags: Linux Arch Wine Deepin
于 February 11, 2018 编辑

感受巨硬的恐惧吧(雾)

  1. 最简明的方法——Wine

这个方法众人皆知,俺在此也不多做解释。Wine(Wine Is Not an Emulator),可以在 Linux、macOS、Android 上运行 Windows 程序,和虚拟机不同的是,他可以直接和机器进行通讯,而不需要经过中间层。

但是嘛,这个成功率俺也不用多说了,裸奔跑国产毒瘤的 Bug 一抓一大把。然而 Windows 的动态链接库(DLL)则着实让人蛋疼,一般人想要搞清它们的意义更是难上加难。

  1. Better Wine!

这里我们可以用一些奇怪的程序来使 Wine 的成功率大大提升,比如 Crossover(收费)、PlayOnLinux 等,因为有一群社区维护者(测试狂魔)在维护着这些软件上的各种 Windows 程序解决方案。

一般来说,类似这种软件拥有 容器管理、自动设置环境 等主要功能。容器,实则在原生的 Wine 中也可实现,只要在执行前加上环境变量 WINEPREFIX=容器路径 即可设置环境为相关容器。而自动设置环境,通常我们会使用另一个工具——winetricks,这是一个十分有用的容器管理工具,同时也十分轻量,可以通过其安装许多 DLL、软件、字体。

  1. Deepin

这是一个比较异类的解决方案……实际上我们用到的仅是它所含的 deepin-wine。Deepin 之所以能够使 QQ、百度云等毒瘤在 Linux 上运行,很大一部分靠这个魔改(雾)的 Wine。

Deepin Wine 现在在 AUR 中也有提供,但是经过俺的测试和 Deepin 论坛的反馈,貌似只能在 DDE(Deepin Desktop Environment) 下使用,其他 DE 上不得使用。QAQ

  1. 虚拟机——Virtual Machine

#### 终极大 Boss(雾)

这是没办法的办法。尽管虚拟机可以浪费你大把大把的计算机资源,但是如果你走投无路,还是得用它。

推荐几个虚拟机吧:Oracle VM VirtualBox, QEMU, GNOME Boxes