除了桌面领域,Linux 在其他 领域 都 赢了,桌面 是 Linux 最后的战场。本文作者认为, Linux 最终 很有可能赢得这场战役。
原文链接:https://gebna.gg/blog/desktop-linux-is-an-untapped-gold-mine
作者 |
Bahaa Zidan
翻译 | 郑丽媛
出品 | 程序人生(ID:coder_life)
时间回到 2013 年。那年我刚买了一台全新的笔记本电脑,拥有 4GB 内存和 500GB 的机械硬盘。可惜这台电脑没有预装操作 系统,所以我迅速安装了正版 Windows 8——这是我用过最差的操作系统,不仅用户界面很烂,还非常不稳定。于是我开始寻找替代品,由此发现了 Linux。
用哪一个呢?
作为一个新手,你遇到的第一个障碍可能是:Linux 下有数量多得离谱的不同操作系统。Linux 社区喜欢把它们称为「发行版」,以此来表达它们之间没有太多区别。虽然这种说法在一定程度上是对的,但每个发行版实际上都是一个独立的操作系统。主要的发行版有 Debian、Ubuntu、Gentoo、Fedora 和 Arch,但除此之外还有数以千计的「发行版」,它们都有着不同的名字,这就导致许多感兴趣的新手在尝试 Linux 之前就放弃了。但我没有:我下定了决心,不想再回到 Windows 8,于是我上网寻求指导。
大多数网络论坛都建议我使用 Ubuntu,这是使用最广泛的 Linux 发行版。它的安装程序很友好,用户界面也与我习惯的 Windows 不同。于是我安装了它,结果却遇到了一些问题。
零星的硬件支持
我的笔记本电脑配备了一块 Nvidia 独立显卡,同时还有一块集成在 CPU 中的 Intel HD 显卡,这就意味着操作系统必须找出使用哪种芯片来完成哪项任务。在 Windows 系统中,由于 Nvidia 驱动程序使用了一种名为 Optimus 的专有技术,因此可以做到这一点——但在 Ubuntu 上,Optimus 却不起作用,至少在我的笔记本电脑上是这样,即使我安装了专有的 Nvidia 驱动程序也无济于事。
也就是说,我要么得禁用功能更强大的 Nvidia GPU,要么就得忍受图形处理迟缓和卡顿的使用体验。我选择了前者,因为当时我并没有需要强大图形处理的任务,Intel 的集成显卡对我来说已经足够了。
理念重于功能
我遇到的另一个问题是,Ubuntu 默认不包含播放我大多数媒体文件所需的编码器。原来,Canonical(Ubuntu 背后的公司)承诺只在其操作系统中提供「Free」软件。这里的「Free」不仅仅意味着免费,还意味着开源。但实际上许多媒体编码器都是闭源的,因此被排除在外。
这一点真的让我很烦恼。我觉得,既然 Canonical 很清楚每个人最终都会安装这些编码器,为什么不直接安装它们,省去用户的麻烦呢?获取开源社区的认可难道比打造一个优秀的操作系统更重要吗?
社区
在使用 Ubuntu 不久后,我开始有点崩溃。当时,Ubuntu 的官方桌面环境是 Unity,但它也是大多数问题的根源。作为一个当时无事可做的年轻人,加上已经深入 Linux 的世界,我决定更进一步,尝试安装 Arch Linux。
这是一次范式转变。如果说 Ubuntu 是对新手友好的 Linux 发行版,那么 Arch 则是为那些真正知道自己在做什么的人准备的——尽管当时我并不知道自己在做什么,但我还是勇敢地尝试了。在网上教程的帮助下,我成功地安装了一个功能齐全的 Arch Linux 系统,甚至连 Nvidia Optimus 都能正常工作。除了我的硬盘出了点问题,但老实说,我已经记不清到底是什么问题了,可能是关于自动卷挂载失效的问题?但至今(11 年后)我仍记得的是,当我在 Arch 论坛上寻求帮助时,他们对我有多刻薄:从叫我「RTFM」(阅读手册),到嘲笑我的语法错误。要知道,英语并不是我的母语,而且当时我的英语水平比现在差多了,整个感觉就是格格不入。
别误会我的意思。我知道让初学者在论坛提问前先搜索一下是合理的,我也知道与其直接给出答案,不如链接到手册或文档中的具体页面是合理的,但这些「知识分子」从未考虑到初学者可能不知道「如何」搜索。初学者不了解事物的构成,所以当出现问题时,他们不知道去哪里找或要找什么。
Linux 曾是我计划用来取代 Mac OS 和 Windows 的激情项目,但 Linux 的铁杆粉丝却毁了它的形象。他们中的大多数人都以复杂方式完成简单任务为荣,也不知道为什么人们不愿意转换到 Linux。即使是加载内核或安装软件这样的基本任务,也被他们描述得过于复杂,以致于吓跑了新用户。更糟糕的是,他们还以为自己会写几行代码就很聪明,但事实远非如此。他们中大多数人连基本的编程都搞不懂,还要从别处复制代码,实际上是最愚蠢的那群人。
——Linus Torvalds,Linux 的创造者
Linux Mint
在经历了 Arch 社区不太友好的体验后,我开始探索其他的 Linux 发行版,甚至还试着黑进我的笔记本电脑(但这是后话了)。一段时间后,我最终选择了一个叫 Linux Mint 的发行版。我不知道为什么人们不直接向新手推荐这个发行版,它能满足所有要求。它的用户界面很像 Windows,对于像我这样从 Windows 转换过来的用户来说,非常容易上手。它基于 Ubuntu 构建,所以万一出现问题,也总能找到解决办法。但与其母版不同,Linux Mint 极其稳定,真的非常稳定,比我日常使用的任何 Windows 或 MacOS 版本都要稳定。
我真的很喜欢 Linux Mint,喜欢到用了它很多年。当我开始接触编程时,它为我提供了一个完美的环境,尤其是作为一名 Web 开发人员。我可以在一个更接近数据中心的环境中开发我的网络服务器,并将它们部署到数据中心,所有我需要的工具都有本地支持,我还能再要求它什么呢?
应用程序
如果你只需要在电脑上使用网页浏览器,那么操作系统的选择对你来说并不重要,任何操作系统都可以完美运行所有主流浏览器。如果你像我一样是一名 Web 开发人员,那么 Linux 对你来说再合适不过了——但大多数人的情况并非如此。
大多数人拥有一台笔记本电脑或台式电脑,是为了运行与其工作或爱好相关的一些特定应用程序。其中许多「杀手级应用」都是专为特定操作系统开发的,像 Adobe 套件、Microsoft Office 套件、Autodesk 套件等,根本无法在 Linux 上运行。
那么,Linux 原生的替代品又是什么呢?确实有一些在 Linux 上原生运行的优秀应用程序,比如 Lightworks、Davinci Resolve、Blender、Open Office 等,它们在全球许多行业中被广泛使用。但作为一个专业人士,你可能不会更换你和你的团队正在使用的应用程序。原因很简单,相比忍受微软或苹果的反消费者行为,这样做的成本更高——很不幸,但世界就是这样运转的。对于大部分人来说,只有当他们用的应用程序得到原生支持时,Linux 才会列入考虑范围。但为什么像 Adobe 这样的开发者不支持 Linux 呢?
软件发布
当像 Adobe 这样的开发者想要在 Windows 上发布一款软件时,他们会使用微软提供的 SDK 和工具,以 Windows 操作系统能够理解的方式构建软件。同样的情况也适用于苹果的 Mac OS。二者都提供了相对简单的软件发布路径,至少比 Linux 要简单得多。
作为开发者,你需要决定你的应用程序要运行在哪些 Linux 发行版上,因为每个主要发行版都有不同的包格式,像 Ubuntu、Fedora 和 Arch 就各不相同。你要么提供源文件,让用户在自己的机器上自行构建,要么选择 .deb 或 .rpm 等格式,然后进行分发。
为了解决包格式的碎片化问题,我们引入了两种新格式。不过这两种格式是通用的,所以如果你将应用程序构建为其中一种格式,那么它应该可以在所有 Linux 发行版上运行。这两种格式是 Snap 和 Flatpak,这些格式真的很酷。
Flatpak 应用程序是沙盒化的,这意味着用户必须明确授予应用程序使用摄像头、网络等权限。Flatpak 还能确保应用程序所需的所有依赖项都打包在一起,以此消除冲突或碰撞的风险。如果两个应用程序需要某个依赖项的不同版本,两个版本可以同时存在,不会出现任何问题。
虽然 Snap 和 Flatpak 在技术上存在差异,但它们的本质是相同的:为 Linux 提供一个沙盒化、隔离的软件包格式。在我看来,通用软件包格式是一种全面胜利,它让 Linux 感觉更像一个统一的操作系统。不过,现在开发者在 Linux 上发布软件时还需要再做一次选择,再加上 Linux 只占所有桌面用户的不到 4%,你就能理解为什么像 Adobe 这样的开发商会对这件事不屑一顾了。
最后的战场
从根本上说,Linux 是一个伟大的操作系统。微软和苹果都曾试图在数据中心领域与之竞争,但都失败了。这也导致微软在多年尝试摧毁 Linux 之后,最终「妥协」并与其「结盟」,现在他们甚至通过 Microsoft Azure 提供基于 Linux 的产品。苹果则在 2022 年完全停止了 Mac OS Server 的开发。在移动领域,在移动领域,谷歌的 Android 占据了 70% 以上的市场份额——而 Android 是基于 Linux 的。在游戏领域,Valve 的 Steam Deck 风靡全球,这是一款出色的掌上游戏机,拥有史上最大的游戏库,这一切都要归功于 Valve 与 Code Weavers 合作开发的 Proton,这个兼容层使得 Linux 驱动的 Steam Deck 能够运行大多数 Windows 原生游戏。
除了桌面领域,Linux 在其他领域都取得了胜利。桌面是 Linux 最后的战场,而我认为 Linux 是有可能赢得这场战役的。事实上,在中低端笔记本电脑市场,谷歌的 Chrome OS 已经逐渐赢得了市场份额(Chrome OS 也是基于 Linux 的)。Linux 的创造者 Linus Torvalds 曾说,Chromebook 可能是 Linux 在桌面领域最终胜出的途径。我同意他的观点,但我并不希望 Linux 桌面的未来是像 Chrome OS 那样被锁定、充满间谍软件的变种。
我们可以做得更好,而且因为 Linux 是开源的,我们有这个能力。与 Windows 或大部分 Mac OS 不同,你我都可以为让它变得更好做出贡献。它不是大科技公司的专属俱乐部,我们不必一次就成功。记住,Valve 在首次尝试制作基于 Linux 的游戏机时惨败,但他们花了很多时间调整方向,最终制作出了 Steam Deck 取得成功,还赚到了钱。Android 系统最初也并不成功,但后来它风靡全球,如今游戏商店让谷歌赚得盆满钵满。
桌面 Linux 是一座尚未开发的金矿!一家公司需要做的就是提供一个一致的用户体验,磨平粗糙的边缘,不像谷歌、苹果或微软那样奸诈,就能赢得胜利。
推荐阅读:
「如今马斯克的 X,失去了唯一一位公关」