我尝试用Wine在Linux上运行Windows应用,但虚拟化仍是更好的选择
最近我尝试通过WinApps和WinBoat等新颖方案在Linux上运行Windows应用。这些工具依赖虚拟化和FreeRDP将完整的Windows应用带到Linux桌面,根据使用的应用程序不同,效果相当不错。但直接选择这些方案时,我忽略了在Linux上运行Windows应用最流行且历史最悠久的方法之一:Wine。
工作原理对比
Wine不是通过虚拟化或模拟Windows,而是通过实时将Windows API调用转换为POSIX调用,让Linux操作系统解释这些操作,从而将这些应用带到Linux桌面。这通常意味着开销更小,性能更好。但不幸的是,这也带来了更多限制和挑战。
哪些应用能正常运行
老旧应用通常兼容良好
Wine在运行使用已稳定建立且没有新变化的API的旧版Windows应用时最为成功。我成功安装了如Winaero Tweaker等应用,以及便携版的Photofiltre 7和Textroom。PhotoFiltre 7加载图像时比平时稍慢,但该应用本身就不特别快,所以还算可以接受。
我还找到了一个非常旧的硬盘,里面包含我在学校时使用的Adobe Photoshop CS6的完全合法副本。它也能正常安装并且似乎没有重大问题,尽管在某些更改时用户界面没有正确更新,存在一些视觉故障。
特别令人惊讶的工具是DoubleKiller,这个应用在我之前讨论仍然很棒的老式Windows应用时提到过。DoubleKiller在Linux上运行完全正常,其检测重复文件的功能在Linux文件系统上似乎仍然有效。只需避免指向系统文件夹,因为它可能会尝试删除重要文件。
我还尝试了一款游戏,下载了Re-Volt,特别是为现代硬件复兴该游戏的RVGL粉丝项目。这个项目实际上有原生Linux版本,但我想尝试Windows版本,令我惊讶的是,在我使用的短时间内它完全正常运行。
现代应用存在问题
虚拟化更可靠
虽然通过WinApps等解决方案运行Windows应用时我也遇到了不少问题,但在紧急情况下,我发现它们至少在可接受的条件下可用。Photoshop不工作,但Microsoft Office可以,Affinity Photo 2或Adobe Lightroom等应用也可以。
虽然Wine可以运行旧版本的Adobe Photoshop(我承认没有在WinApps中测试过),但对于现代应用来说并不更好。实际上,情况更糟。我甚至无法正确启动Adobe Creative Cloud或Affinity Photo 2的安装程序。同样,最新的Microsoft 365应用根本没有启动安装程序,但如我提到的,如果您有产品密钥,旧版本可能有效。
WinApps不完美,但仍是更好的选择
更多应用受支持,以性能为代价
在使用Wine之后,我相信如果我真的需要在Linux PC上使用Windows应用,我仍然宁愿使用WinApps。我并不经常使用那些通过Wine运行良好的旧应用,而新应用又都很麻烦,我没有真正理由将其保留在系统中。
也就是说,通过Wine运行的应用似乎具有明显更好的性能。仅仅能够运行Re-Volt就非常令人印象深刻,如果您怀念这样的经典游戏,Wine可能是将它们带回来的好方法。
原生Linux应用是最理想选择
当然,这些解决方案都无法与这些应用的适当原生版本相媲美。我从不期望Adobe将其应用带到Linux,但如果Affinity Photo能够跨平台,或者WPS Office获得与其他平台相同的支持,那将是非常棒的。