背景说明:我大约在一年前(2020 年 9 月)开始写这篇文章,但我在某个时候放弃了它。它的最终版本远没有我最初的计划那么雄心勃勃,主要是因为我忘记了当时想到的一些事情。不过,总比没有好。很久以前(在 2011 年),我写了一篇关于我对 Linux 的挫败感,这导致我在花了很多时间之后放弃了该操作系统。在这篇文章之后,我尝试转换到 Windows 失败了,最终我选择了 macOS 近十年。虽然大部分时间我对 macOS 感到相当满意,但它从来没有像家一样的感觉,我一直渴望重温 Linux。我也有一段时间想念拥有一台定制的台式电脑,所以我很想得到一台并在其上运行 Linux。由于各种原因(例如很多与工作有关的旅行和过度的懒惰),我从来没有这样做过。到现在。 2020 年在许多层面上都是可怕的一年,但它为我提供了一个独特的机会来贯彻我的 Linux PC 计划,因为我终于在家中接地并有一些额外的时间。在本文中,我将分享我重新审视 Linux 并重新发现控制操作系统和硬件的乐趣的经验。 macOS 在软件开发中的衰落 我不会在这里详细介绍,因为我希望每个人都注意到 macOS 的转变更像 iOS。这对大多数用户来说是好事,但对软件工程师来说却不是。大约 15 年前,Apple 曾经花费大量时间来吸引开发人员使用他们的操作系统,但现在他们似乎只关心 macOS 和 iOS 开发人员。他们很少更新 macOS 附带的 Unix 工具,他们仍然没有创建包管理器(每个人基本上都在使用自制软件)等等。在这一点上,我很清楚 macOS 并不意味着成为修补匠的操作系统,而是对于消费者。这不是一件坏事,它只是不适合我。从更实际的角度来说,以下是近年来困扰我 macOS 的一些事情: 积极推动 App Store 的使用,这限制了应用程序的功能。操作系统极力劝阻您不要使用任何外部采购的应用程序。将一些应用程序和奇怪的功能从 iOS 带到 macOS(有没有人使用过启动板?)。每次 macOS 升级后都需要重新安装 XCode。几乎每个主要的操作系统升级都会破坏 Homebrew 或我使用的一些工具(例如 Karabiner,一个键盘重新映射实用程序)。 macOS 默认随 Emacs 22 一起提供。这不是一个错字。如上所述,macOS 附带了许多过时的 Unix 工具。掩盖一些问题的廉价技巧,例如隐藏剩余电池寿命估计。我可以继续,但我会在这一点上停下来。我希望你能明白。新硬件 这是我在 2020 年 7 月上旬获得的硬件(我花了将近 3 个月的时间来解决所有部件的问题): CPU AMD RYZEN 7 3700X GPU ASUS DUAL Radeon RX 5500 XT EVO OC 8G 主板 AORUS X570 ULTRA SSD 960GB M .2 2280 Corsair Force 系列 MP510 RAM 32GB (2x16GB) DDR4 3200MHz Corsair Vengeance LPX 机箱分形设计定义 7 PSU 分形设计 Ion+ 660W Platinum 如您所见,它没有什么特别之处。我想建立一个像样的工作站,而不是游戏装备。尽管如此,我还是选择了一个不错的独立 GPU,因为我希望最终能玩一些 PC 游戏(星际争霸 II、古墓丽影、暗黑破坏神 III 等)。我选择 Radeon 主要是因为 AMD(据说很棒)的 Linux 开源 GPU 驱动程序。事后看来,这是一个很大的错误,但我稍后会扩展这个主题。注意:我知道内置 GPU 的 Intel CPU 是驱动程序支持方面最安全的选择,但我真的想要 Ryzen CPU 和相当强大的谨慎 GPU。我不得不说,这款 1,600 欧元的台式机完全以我更昂贵的 MacBook Pro 的方式出水。当然,台式机总是比大多数笔记本电脑提供更好的价值/性能,但近年来我们都完全沉迷于笔记本电脑/平板电脑。虽然便携性绝对是台式机的一个问题,但它们也有一些很酷的优点,例如: 它们不会过热 它们不会耗尽果汁 您实际上可以修复/升级它们 它们迫使您在办公桌上工作(意味着人体工程学通常是更好)结束这个关于更复杂时代的古代技术优点的轻微抒情绕道。发行版 我决定谨慎行事,我选择了 Ubuntu 20.04,这是当时的最新版本。过去我更喜欢 Arch Linux 和 Fedora,但我想尽量减少设置工作。当我年轻的时候,我喜欢花很多时间来调整我的设置的各个方面(例如构建自定义内核、调整我的包的编译标志、从第三方存储库获取专有驱动程序等),但现在我年纪大了,更懒,更实用。我仍然很喜欢修改我的设置,但我不想被迫修改(Gentoo 方式)。我观察到的一个普遍趋势是 Linux 发行版现在比以前更复杂。在 System V init 的日子里,生活似乎相当美好和简单,但今天 systemd 主宰了一切并使其更难以理解。至少对于像我这样完全错过向 systemd 过渡的人来说是这样。 systemd 是一个软件套件,可为 Linux 操作系统提供一系列系统组件。它的主要目标是统一跨 Linux 发行版的服务配置和行为; systemd 的主要组件是“系统和服务管理器”——一个用于引导用户空间和管理用户进程的初始化系统。它还提供各种守护程序和实用程序的替代品,包括设备管理、登录管理、网络连接管理和事件记录。单一职责原则到此为止。驱动程序一切都开箱即用,但不幸的是,并非一切都运行良好。我的 wi-fi 出现了一些间歇性问题,由于 GPU 驱动程序的一些问题,X.org 不断崩溃。快速的谷歌搜索显示,我并不是唯一面临这些 GPU 问题的人。无论我尝试什么(我尝试了很多东西——更新的内核、Mesa、我在这里和那里找到的随机补丁等等)我都无法解决 GPU 问题,我的计算机每天都会崩溃 1-2 次。可以想象,这非常令人沮丧。有趣的是,每次更改后,崩溃会变得更频繁或更不频繁。但是,永远不会完全消失。 wi-fi 问题更容易解决——我只是切换到以太网,从来没有费心去调查。过去,我也一直在努力让我的打印机正常工作,但我不再拥有打印机,所以这是自行解决的问题之一。硬件支持是我十年前离开 Linux 的主要原因,遗憾的是那里的情况并没有太大改善。也许 Nvidia GPU 的情况会更好,但我希望避免使用专有驱动程序。 1 应用程序在过去 10 年中几乎没有变化,更不用说我不使用那么多应用程序——主要是浏览器(Chrome 和Firefox)、Emacs 和一个终端 (Guake)。简而言之 - 一切都比我记忆中的要好,但没有什么是美妙的。 GNOME 及其应用程序(例如 Nautilus)仍然有很多粗糙的地方,但它们已经完成了工作。 Albert 是 Alfred(我最喜欢的 macOS 工具之一)的绝佳替代品。这可能是我这次使用的唯一新应用程序。我工作所需的一些专有应用程序(如 Zoom、Slack 和 Dropbox)不工作/看起来很棒(尤其是与它们的 macOS/Windows 版本相比时),但这无论如何都是我所期望的。尽管如此,他们的工作比我记忆中的要好。鉴于桌面 Linux 的市场份额很小,我从没想过大公司会开始大量投资于 Linux 支持。我记得 5 年前,Zoom 在 Linux 上不断崩溃(使用 Linux 的同事经常退出 Zoom 调用,这就是我所知道的),但至少它对我来说是可靠的。回到那天我抱怨 Linux 版 Skype 有多糟糕,但幸运的是我不再需要使用 Skype,所以这个问题自己解决了。我还抱怨 OpenOffice 的质量——另一个我不再需要的应用程序,因为我最近主要使用 Google Docs。一般来说,从原生桌面应用程序转向基于 Web 的应用程序的趋势对于 Linux 用户来说绝对是一个好处。在某些情况下,我实际上更喜欢具有 Linux 桌面版本的应用程序的网络版本,因为它们对我来说似乎更好用(例如 Slack 和 Spotify)。如果您碰巧需要,Skype 现在也有一个不错的网络应用程序。还有一件事——我很高兴看到 Steam 中有很多游戏(按照 Linux 标准),尽管 Valve 的 Steam Machine 项目(运行 Linux 的游戏机)失败了。我尝试了几个较旧的游戏,它们运行良好,除了由于 GPU 驱动程序问题而导致的视频崩溃。开发体验绝对是神圣的。合适的包管理器。正确的服务管理。 Emacs 在 GTK 的所有荣耀中!所有出色的 GNU 实用程序。 Docker 在其家中。没有更多的 XCode 安装。没有比这更好的了。我 100% 肯定 Linux 为大多数软件工程师提供了最好的开发体验。当没有硬件问题对其产生负面影响时,就是这样。结语“回到 Linux”有点用词不当,因为这篇文章在我的后备箱中停留了很长时间。到我包装它时,我不再使用 Linux,至少不是本地的。由于 GPU 驱动程序问题,最后我选择切换到 Windows 10 和 WSL(基本上是在 Windows 中运行的 Linux VM)。一年后,我仍然是一个快乐的露营者。使用 Windows 10 我得到了两全其美:没有驱动程序问题 适当的 Linux 开发体验 作为奖励 - 我也有机会玩更多游戏。 2 Windows 仍然有它的怪癖,但它的体验肯定胜过体验我用过Linux。所有专有应用程序都运行良好,驱动程序可靠,而且我基本上一直在 Linux 上工作。 macOS 中我唯一真正缺少的是所有 Apple 设备之间良好的协作/同步 - 例如,您在手机上拍照,然后它会立即发送到您的计算机。您会在手机和计算机上收到一条短信。没什么大不了的,但是这个有围墙的 Apple 花园让我继续使用 macOS,尽管我对它越来越感到沮丧。我讨厌围墙花园!简而言之,硬件支持仍然是 Linux 作为桌面操作系统的最大弱点,一如既往。非常令人失望的是,即使在为 Linux 兼容性仔细选择了硬件之后,我仍然得到了一个不能可靠工作的 GPU。我有理由相信,如果我选择了较旧的 GPU,它会工作得更好,但我真的不想做出太多妥协。谁知道呢,现在困扰我的问题可能已经解决了,虽然我不确定是否急于检查这个。从好的方面来说 - 经过这么多年,组装一台新 PC 是一件很有趣的事情。你应该已经看到当这东西从第一次尝试启动时我是多么高兴!很高兴检查 Linux 世界取得的进展并找到给 Windows 另一个机会的理由。这就是我今天为你准备的全部内容。继续黑客!我碰巧是 AMD 的忠实粉丝。 ↩ 不确定这是否真的是奖金。 ↩