在 Linux 上用 Excel?无需虚拟机运行微软 Office 的方法

在 Linux 桌面环境下运行的微软 Office 程序界面
AI Summary

介绍了旨在让 Windows 专属的 MS Office 在 Linux 上无需虚拟机即可像原生应用一样运行的技术——“Wine”的最新动态及其局限性。

想象一下。你平时喜欢使用 Linux(开源操作系统)进行编程或浏览网页,突然接到通知,工作需要使用“微软 (MS) Office”。对于普通的 Linux 用户来说,听到这个消息通常会深深地叹一口气。因为要运行 Windows 专属的 Office,通常需要启动虚拟机(Virtual Machine,即在电脑中模拟另一台电脑的虚拟环境)来安装 Windows,这意味着你的电脑性能将被这一沉重的任务所消耗。

然而,如果无需经历这一繁琐过程,就能直接在 Linux 上打开 Office 程序,会是怎样一种体验呢?最近,Linux 社区中尝试在不使用虚拟机的情况下运行 MS Office 的新举措引起了关注。

为什么这很重要?

对于 Linux 用户来说,MS Office 就像是一个“难以攻克的难题”。长期以来,为了在 Linux 上使用 Office,许多人不得不选择虚拟机或双启动(在一台电脑上安装两个操作系统并根据需要切换)。但这些方式要么浪费电脑资源,要么伴随着重启的繁琐 [[Source 2], [Source 10]]。

如果 Office 能像原生应用(Native,指直接在该操作系统上运行的方式)一样在 Linux 上运行,Linux 用户的工作效率将大幅提升。他们既能充分利用 Office 的功能,无需担心电脑性能下降,又能尽情享受 Linux 环境的自由。

简单理解:“Wine”这位翻译官

这项魔法技术的核心是一个名为“Wine”的开源软件。打个比方,Wine 就像是一位极其专业的翻译官。

当 Windows 程序运行时,它会向 Windows 操作系统发送诸如“绘制此窗口”、“保存此文件”之类的命令(API 调用)。Linux 听不懂这些命令。此时,Wine 介入了。Wine 会拦截 Windows 程序发给 Windows 操作系统的命令,并将其实时翻译成 Linux 能理解的语言(POSIX 标准)进行传达 [[Source 3], [Source 8]]。

通过这种方式,电脑会误以为自己处于 Windows 环境中并运行该程序。如果说虚拟机是盖一栋完整的 Windows 房子并在里面运行程序,那么 Wine 就像是为你准备了一份菜单翻译,让你能够在 Linux 这栋房子里享用 Windows 的餐点。得益于此,在消耗更少系统资源的同时,程序也能更快地运行 [[Source 8], [Source 10]]。

现状:进展如何?

那么,我们现在能完美地在 Linux 上使用所有的 MS Office 吗?遗憾的是,现实并没有那么简单。微软 Office 自 2007 版本以后,在 Wine 环境下进行配置使其正常运行变得极其困难 [[Source 2]]。

但不必放弃。最近,“Bottles”软件的创始人公开展示了在 Linux 上运行 Microsoft 365 的过程,引发了热议 [[Source 18]]。此外,利用 Nix Flakes 等工具尝试运行最新版 Office 的努力也在持续进行 [[Source 1]]。

需要注意的是,由于技术极其复杂,Office 2019 以后的最新版本往往安装难度极高,甚至许多情况下根本无法运行 [[Source 9]]。相比之下,像 Office 2016 这样相对较旧的版本,通过调整配置可以在一定程度上使用 [[Source 8]]。换言之,虽然目前还未达到谁都能一键安装的阶段,但随着技术的进步,我们已经到了可以以更轻量化的方式尝试挑战的阶段。

未来会怎样?

未来,将会有更多开发者致力于让 Windows 应用能够在 Linux 上实现“无缝 (Seamless)”运行。诸如“WinBoat”之类的项目正在努力改进界面,以使用户能够更方便地安装和运行应用 [[Source 19]]。

虽然目前安装过程仍需要一些故障排除 (Troubleshooting) 和技术微调,但或许有朝一日,点击一下鼠标就能在 Linux 上完美使用 Windows 办公软件的日子终将到来。如果你是一位充满冒险精神的 Linux 用户,今天何不尝试利用 Wine 和 Bottles 构建属于你自己的“Linux 办公”环境呢?

MindTickleBytes AI 记者观察

开源生态系统总有一种将“看似不可能”变为“怎么也能实现”的力量。将 MS Office 搬到 Linux 上,这不仅仅是一个技术挑战,更是打破操作系统藩篱、扩大用户选择权的努力。虽然前路漫漫,但 Linux 正逐渐成为更大众化的办公环境,这一点是显而易见的。

参考资料

  1. Show HN: Microsoft Office Running with Wine on Linux with No …
  2. Show HN: Microsoft Office Running with Wine on Linux with No …
  3. Installing Office on Ubuntu 24 with Wine — linuxvox.com
  4. Can I Install MS Office 2016 on Linux Using Wine? — DevelopNSolve
  5. GitHub - Rustring/MsOffice-On-WineBottles-Improved: Use Microsoft Office in Linux using WINE and Bottles (IMPROVED)
  6. Bridging the Gap: Windows Office on Linux — linuxvox.com
  7. Bottles’ Founder Has Managed to Run Microsoft 365 on Linux…
  8. WinBoat - Run Windows Apps on Linux with Seamless Integration
AD
测试你的理解
Q1. 让 Linux 能够运行 Windows 应用的“Wine”的核心原理是什么?
  • 完整安装一个 Windows 操作系统
  • 将 Windows API 调用即时转换为 Linux (POSIX) 可用的调用
  • 虚拟化实现 Windows 硬件
Wine 并非虚拟机,而是一个兼容层,能够将 Windows 应用程序的指令(API 调用)实时转换为 Linux 可以理解的指令。
Q2. 是否可以使用 Wine 完美运行所有版本的微软 Office?
  • 是的,所有版本都可以
  • 不,2019 年以后的版本安装非常困难或无法运行
  • 仅支持 Office 2007 之前的版本
Office 2007 之后的版本运行难度增加,而 2019 年以后的最新版本技术门槛极高,通常被认为难以普通使用。
Q3. 与使用虚拟机相比,使用 Wine 有什么优势?
  • 需要单独购买 Windows
  • 消耗的系统资源少得多,运行效果更接近原生
  • 必须连接互联网
虚拟机需要完整运行 Windows 操作系统,消耗大量资源;而 Wine 无需 Windows OS,仅进行必要的指令转换,因此能更高效地利用系统资源。