想离开Windows换到Linux的人越来越多,但那个老问题还在:很多主流的Windows应用根本没有Linux版本,想跑起来就得靠Wine这类工具。Steam用Proton兼容层解决了游戏这一大块,可它并不只能用来打游戏——用它来跑各种Windows应用,很多时候比直接用Wine更省事。

打开网易新闻 查看精彩图片

Proton本身就是Wine,只是被Valve改得更好用。Valve拿这套开源方案做底,在上面加东西,再把不少改进回馈给Wine,整个生态因此受益。但并不是Proton里的每个功能都会回流到Wine主项目,就算回流,也要等上一段时间——Wine是独立项目,新提交有自己的审核流程,和Valve的进度不一定同步。所以在Proton下跑程序,通常还是比装一个原版Wine更划算。技术上也可能出现回退,但多数时候你用的是被一家有直接经济动力把它做好的公司改过的Wine。

装Wine的时候,它就是这么个东西:创建一个Windows文件系统,尽量复刻应用原本的功能,之后装的每个Windows应用都共用这套文件系统。多数情况没问题,但和Proton一样,新版Wine有时会在特定软件上出现回退,把东西弄坏。常见的解法是Bottles,它能为每个Windows应用建独立的、一次性的环境,配不同的Wine版本和配置项。Steam也能做到类似的事,只是程度浅一些。

用Steam装一个Windows应用时,会为这个应用重新创建一套Windows文件系统,让它和其他应用互不干扰,关键是还能给它单独指定设置。Bottles那种深度的配置选项Steam没有,但你可以为这个应用选择想用的兼容层,包括各个版本的Proton和Steam Linux Runtime。如果某个应用依赖别的应用,理论上也能往同一套Windows文件系统里再装软件,部分复刻Bottles的能力。

设置起来并不复杂,难的部分Steam替你做了。先在Linux电脑上装好Steam,从菜单里选“游戏”,再选“添加非Steam游戏到我的库”,选中你下载好的Windows程序安装包的可执行文件。在这个窗口里用“兼容性”标签选择兼容层,Steam默认用Proton Experimental,能拿到最新的修复和改进,也可以换成稳定版或更早的版本,甚至换成专注特定改进的其他Proton分支。不知道先试哪个,Proton Experimental一般是个不错的选择,出问题再换着试,网上通常也能查到针对具体应用的推荐。

接下来通过Steam运行程序、让它完成安装。麻烦的地方在后面:Steam会一直指向那个安装包,而不是真正的应用,得自己去找。Steam里Windows应用的文件装在 ~/.local/share/Steam/steamapps/compatdata/ 这个目录下。这里看不到名字,但打开最新的那个文件夹,顺着结构进到 pfx/drive_c,再看 Program Files 或 Program Files (x86)(或者实际的安装路径),就能找到真正应用的可执行文件。

拿到路径后回到Steam,右键刚装好的程序选“属性”。在“目标”里粘贴可执行文件的完整路径,在“起始位置”里粘贴文件所在文件夹的路径——也就是把上面路径里可执行文件名去掉。之后在Steam里启动,Windows程序就能正常打开了。这么做还有个好处:应用有自己的Windows文件系统,文件之间不会互相干扰,也不会把Windows“安装”搞乱。某个应用不用了,从Steam移除、删掉它对应的文件夹,就能干净地清掉它的全部Windows数据,不影响其他Windows应用。

当然,别指望奇迹。Proton不会把每个在Wine下跑不起来的Windows应用都修好。拿几个平时就知道不好搞的应用去试:Clip Studio Paint装上了,一启动就崩;Obsbot Center看着能用,直到插上真正要用它的摄像头,当场崩溃;Microsoft 365干脆拒绝安装。这些在Wine下也基本是同样的结果。

简单些的应用倒是能跑。Notepad++是最好的例子,外观和运行都几乎和期望的一样。也试了装Vivaldi浏览器(尽管它有Linux版),主要想看看能不能用摄像头——可以,能加入Discord通话并使用摄像头,只是看不到通话里的其他人,其他人则表示能看到这边。整体体验有点看运气,好在有多个兼容选项可以补救。比如用Proton时,Vivaldi和OnlyOffice出现过KDE窗口边框试图在Windows应用外围渲染、把界面弄坏的问题,把兼容性切换到Legacy Steam Runtime后就正常了,和Wine下的表现一样。这种灵活性能让一些应用跑得更好。最后试了Affinity,连安装包都拒绝启动;有意思的是它在Wine下能启动并安装,但应用随后还是跑不起来。唯一让它工作的办法是用专门的Affinity on Linux项目,那要做多得多的设置,即便如此它依然是个难伺候的应用。

Valve已经用Proton改变了Windows游戏在Linux上的运行方式,而Steam能为各类应用做得更多,这点挺让人高兴。它基本成了自带多种兼容选项的Windows模拟器,文件系统也更好管理。论灵活性它还不到Bottles那个级别,但依然很好用,而且这大概是你本来就习惯打开的应用。