缘起
从澳大利亚回国的时候,我把我用了两年的台式机拆开,扔掉带不走的组件(例如电源和机箱)放到了行李里面。只是,回国之后一直懒得把它装回去。最近终于算是有点空闲(和需求)把这台电脑装了回去。
硬件上没什么问题——当然如果你非要感叹这台带有 Ryzen 5500 和 RTX 3060、后期还加配了 32GB 内存的电脑,如今极有可能身价不菲的话,那确实也算一个「问题」。反倒是在操作系统上绕了点弯路。
这个带过来的电脑之前安装的是 NixOS。我对它的评价是,如果你是真的要用它来写代码,那么 NixOS 是一个十分 robust 的操作系统。它通过配置文件和对这个配置文件的版本管理,来实现系统的一致性和设置可复现性,这一点我挺喜欢。只是考虑到后期我需要做视频频道「游麻地」,而且当时我们的第一期视频工程还被「押」在了剪映,而剪映并不支持 Linux 上运行(明明它是 Electron 程序,却没有做全平台跨端,实在讽刺),所以我直接将整个机器重装成了 Windows 11。
麻烦也因此而来。首先是我个人的「审美洁癖」,即 Windows 的字体渲染实在是令人不敢恭维。虽然微软已经为 Windows 打了包括但不限于 ClearType 和微软雅黑等的补丁,但 Windows 上的字体渲染依然呈现一种「狗啃」一般的字体边缘。在高 DPI 甚至非 RGB 排列的屏幕上,ClearType 这种在低 DPI 的 LCD 屏幕上的「补丁」显然已不再适合。而只要为同一台显示器连接安装有 KDE Plasma 的电脑,渲染出来的文字马上就会获得质的飞跃:清晰锐利,如同打印在纸本上。
更重要的问题是,微软逐渐开始在 Windows 上「作死」:最开始是 Windows Updates 强制自动更新、裁掉 QA 再让用户免费做 QA,再后来是强行在系统里塞入 Microsoft Copilot 和 Microsoft Edge 等等用户根本用不上的功能。作为一个在买电脑里特意加钱上正版 Windows 系统的我来说,是实打实的如鲠在喉。
如果单纯只是这样,那其实也没有必要非得切换 Linux(凑合过呗,还能离咋地.jpg)。社区里也有像 Atlas OS 这种为 Windows「瘦身」(debloating)的工具,过去两年里我确实会在自己使用 Windows 期间额外加装这个工具。但是这次遇到了一些实打实的问题:Atlas OS 的 0.5.0 版本的 Playbook 会令 AppX 组件和 Microsoft Store 出现问题,致使你无法正常安装一些通过 AppX 打包、或是通过 Microsoft Store 分发的软件。我的另一台 Windows 设备是 ROG Ally X,华硕甚至将奥创中心(Armoury Crate)的更新和分发放到了 Microsoft Store 中,这就导致安装 AtlasOS 之后我根本没法儿再安装奥创中心。另外, 1Password 和 Dia 等软件都是通过这个格式分发的,自然也是装不了。
这个问题导致我在一天之内反反复复重装了六次系统。而且,Atlas OS 的 Playbook 最后更新日期是去年,这个问题也发生在去年,甚至写这篇文章的现在,26H2 更新包发布已有一段时间,而 Atlas OS 至今没有正式支持。这也在某种程度上证明 Atlas OS 这种方案在理论上并不能长期持续依赖。
所以,在剪映上结束上一轮工程之后,我开始着手将自己的电脑(再一次)重装成 Linux。
NixOS 很好,但……
我在之前提过,我从澳洲回国之前,为这台电脑安装的是 NixOS。于我而言,配置文件式设置除了有传统的一些优点之外,你还可以直接地把配置文件扔给 LLM 帮忙解决;即使改坏了,直接重启一下然后选择上一版配置文件就又是一条好汉了。加上我之前重装 Windows 之前,已经将之前使用的 NixOS 配置备份过一轮,我觉得不应该会出现问题。
直到我发现,NixOS 的 Live CD 花了接近两个小时才写完文件……
一开始我没有反应过来是怎么回事,而且我心想,反正只是慢不是完全动不了(虽然多数时候它确实表现得动不了),也没啥问题。直到后面我打开 Live CD 环境的网络面板——好家伙,安装程序一直在访问 Nix 包管理器,而且速度只有惊人的 100 KB/s 上下!
进了系统之后,我甚至没有考虑第一时间将原先备份出来的配置文件恢复回去,因为原先的配置中没有安装任何代理软件,在内地这个特殊网络环境下,我很难说恢复原有配置得多长时间。后来我在单独安装代理软件时,发现NixOS的「everything in configuration」的逻辑既是好事、同时也挖了大坑。由于代理配置在Linux上可能有一万种配置地址,包括 KDE Plasma 的设置和 ~/.config/environment.d 等目录都有对应的配置项目,而且不同应用所使用的设置也不一样。再配合 NixOS 的配置文件的逻辑(也有可能是我对配置文件不熟悉),导致每改一次配置文件就得干等几十分钟,总之就是吃了一个大瘪。
选择下一个发行版
在不太愉快而且最终失败的配置之后,我短暂回到了 Windows,打算寻找下一个发行版。我稍微梳理了一下各个发行版的专长和短板之后,我决定试试 Bazzite。
Bazzite 是一款将流畅运行 Windows 游戏作为目标的 Linux 发行版;同时,它具有「默认沙盒」的特性,通过内置改版 RPM 安装的二进制默认会进入沙盒环境中。但更重要的是,它的安装程序默认会携带显卡驱动安装包。虽然我这么多年使用 Linux 还暂时没遇到显卡驱动问题(也有可能我没有太多「开源软件洁癖」,直接点「允许闭源驱动」一把梭),但至少它能内置也能省下不少事。
(顺便提一嘴,虽然很不想这么说,但是感谢 AI 大浪潮逼着老黄为 Nvidia 显卡推出了开源驱动,这在某种程度上也省了不少事。)
对独显、游戏等场景做专门优化,对我而言也有一点额外的好处:我希望在 Linux 上使用 DaVinci Resolve 剪辑视频,对于独显的优化那自然是多多益善。社区还有一个专门的 davincibox 项目,让 DaVinci Resolve 在 Bazzite 上能够十分流畅地运行。(也有一些尚可接受的妥协……之后我会提到。)
说干就干,直接下载 ISO,拷贝到已经安装好 MultiOS-USB 的优盘上,然后直接从优盘启动即可。说句实话,多数 Linux 发行版的安装已经不像多年以前「蛋糕要自己烤」这样麻烦,Live CD 中已经内置了一个十分优雅而且简洁的安装向导。做好一些初始化设置之后,离线安装(离线是为了避免它又在没有额外设置的前提下访问包管理器镜像)就行。
即使是离线安装 Bazzite,安装流程中也会卡在「软件安装」这个步骤很长时间。如果你也遇到了一样的情况,请坐和放宽,耐心等待安装完成。
进系统之后的第一件事就是配置代理,以及 1Password 等基础软件(没这玩意我连登帐户我都登不上去)。这些安装好之后,就可以让 LLM 来帮我代劳很多东西了。
面向LLM的Linux配置方案
作为一个「text in, text out」为底层逻辑的操作系统,Linux 天生很适合让 LLM 来做很多设置工作。无论是什么指令,只要 LLM 可以读写终端输入,它就能帮你做大多数配置。也就是说,只要我把代理设置做好了(嘘……),我就可以请 ChatGPT 这类 LLM 来帮我解决绝大部分问题——只需要时常输入一下 sudo 密码即可。
说来,我在很久之前就提到过,以后的电脑,有可能是一种「面向 LLM」的。即,你只需要在电脑上输入要干嘛,然后 LLM 获得授权之后直接帮你改就万事大吉。这对于 Linux 这种操作系统而言可能是一种重大利好,毕竟,多数人对 Linux 敬而远之的重要原因,就是 TUI 实在是太晦涩了。
扯远了。总之,在整个设置过程中,LLM 的确帮了不少的忙。例如,帮我将浏览器和 1Password 安装到沙盒之外——多数 Linux 中的沙盒实现都是完全禁止应用程序之间互相沟通的,这让像 1Password app 和浏览器内的密码填充扩展之间通信成了问题。解决方案只有一种,那就是让它们脱离沙盒环境、独立安装在系统环境内。
由于 Bazzite 默认是一个沙盒式的操作系统,所以你必须依靠一些特殊手段,将浏览器和 1Password app 安装到沙盒以外,它们才能正常工作。好在这对于 LLM 来说是轻车熟路、信手拈来。
另外,内置的包管理器前端 Bazzar 似乎没办法搜索到 DaVinci Resolve 和它的兼容沙盒 davincibox。没关系,这时候 LLM 会出手:给它一个指令,它就会自动帮你从零配置好 davincibox,让 DaVinci Resolve 顺利地在 Bazzite 上启动。
当然,非要说让 LLM 代劳这些有什么缺点,可能「没办法亲自动手」这一点算一个。虽然听上去稍微有点「凡尔赛」或是有悖于「吃水不忘挖井人」的想法,但自己没有亲自动手也意味着一旦这个配置出现问题,大概率还是得请 LLM 来帮忙修,但毕竟现在的大模型还是得依靠云端大公司才能调用,要是 LLM 调用掉了链子那还是得出大问题。不过,鉴于我也并非完全没有 Linux 运维经验,加上我的目的是把这套 setup 设置到我可以正常使用的状态、而非出于兴趣去折腾,再加上 Bazzite 也算是一个对 average user 相对友好的操作系统,我目前倒也不会太担心这个事情。
一些小问题
主动选择 niche 的解决方案,自然得面对一些 niche 的问题。首先遇到的问题是,Linux 上的 DaVinci Resolve(免费版)对 H.264 和 H.265 的支持较弱,没办法在软件里直接预览。
ChatGPT 给我推荐的方案是,将素材转换为 DNxHR HQX 格式。格式转换不是问题,问题是,DNxHR HQX 的体积实在是太大了。我现有的新工程的素材在 H.265 下的体积大概是 20 GB 左右,但在 DNxHR HQX 格式下,占用空间直接干到了 500 GB。好在,我在十年前升级内存的时候同时升级了固态硬盘,所以我的电脑有 2 TB 大容量固态可供使用,至少剪辑一期节目问题不大。唯一的问题是,转换后的文件似乎没办法和原素材形成代理,不过我觉得这应该是换个封装就能解决的问题,之后我会再研究一下。
另外一个很重要的问题是,国服《最终幻想 XIV》没法启动:中国区代理方盛趣游戏在它的启动器里大量使用 IE 和 32 位 COM 等组件,这导致它在 Linux 上无法正常使用。社区多数玩家会推荐在 Linux 上使用第三方的启动器,但毕竟因为各种各样的原因,导致它经常和「外挂」有关。
我把国服 FF14 启动器安装包下载回来,尝试让 ChatGPT 试试能不能解决这个问题。它花了大概 40 分钟,最终真的成功把它启动。当我在 Linux 上看到国服启动器的登录对话框,再看到 ChatGPT 对这个问题的诊断和修复,一时之间有点语塞:看着 Windows 给开发者「擦屁股」致使催生出的这种用二十年前的组件组装出来的奇怪「产物」,很难说这到底是好事还是坏事。
结语
在写这篇流水帐的过程中,我看到一篇报道称 Steam 中 Linux 用户占比很大程度上取决于简体中文用户的数量:当某月的简中用户提升,那么 Linux 占比就会下降;反之亦然。
虽然直接下「简中用户不爱用 Linux」的结论非常武断——我这里有个很直接的反例,例如不知道为什么 Linux 下的 Steam 程序不会跟随 Steam 或者系统设置的语言,只会 fallback 到英语;我猜测这可能是致使统计数据中 Linux 用户普遍不使用简体中文的缘故——但这个判断但其中确实有一定道理。
最重要的一点是,中国和美国的游戏玩家的画像并不一致:中国平均水平玩家更多使用电脑游玩游戏,致使更多技术水平一般的用户更愿意使用更友好的 Windows 而非 Linux;美国或其他国家的一般水平游戏玩家更倾向于购买游戏主机:更便宜,更开箱即用,大部分情况下也无需纠结 Windows 还是 Linux;真正「硬核」玩家才会使用 PC 游玩游戏,而对他们而言 Linux 运维并不成问题,在 Linux 上玩游戏就成了很自然的选择。
倒也不是在说「中国玩家很 low」或是「外国玩家真有钱」这种论断,只是在说,客观而言的现阶段,无论在什么地区,Linux 依然还停留在「小众」的层面。好在,事情已经开始在发生变化。目前多数 Linux 发行版的安装和设置,已经要比十年前纯 TUI 那样要对普通用户友好很多了。至少,一个普通的用户只需要了解计算机基本原理、并稍微学习如何修改引导启动设置,就能独自完成 Linux 的安装。
更大的问题还是在于一些阻碍。除了之前提到过的设置代理问题,真正的「阻碍」其实还是在人的内心。当外部的限制开始逐渐渗透、内化到每个人的内心,另一种真正的「可能性」在现今尤为珍贵。Linux 也许就是这样的「另一种可能性」。

题图来自 Unsplash+
