摆脱盲目崇拜的 Linux:诚实开发者的视角
Source: Dev.to
引言
作为一名软件工程师,我尽量不把自己绑定在单一操作系统上。电脑只是我们用来完成工作的工具,除非你的工作依赖于特定平台的软件,否则大多数现代操作系统都能很好地满足需求。
只要可能,我就喜欢使用多个操作系统,以免被个人偏好所左右。本文分享我把 Linux 作为日常桌面操作系统的个人经历,既有好的一面,也有不尽如人意的地方。
这里的一切都反映了我的个人观点和体验,可能带有主观性。本文面向对 Linux 作为桌面操作系统感兴趣的开发者和技术用户,尤其是来自 Windows 或 macOS 的人。如果你想要一个基于真实体验的诚实视角,而不是推销文,那这篇文章适合你。
我的 Linux 之路
如果你期待一篇宣称 Linux 是最棒、其他系统都是垃圾的宣言,那你来错地方了。我用过 Windows、Linux 和 macOS,我都喜欢——它们各自在不同情境下都有闪光点。
我不是那种会说 Windows 是邪恶的,或者说自己编译 Linux 内核就高人一等的人。Windows 很棒,如果你没有充分的理由去尝试 Linux,那完全没问题。
话虽如此,我对 Linux 仍有一种怀旧的情感。
大学刚开始时,我买不起新电脑,只能用一台老旧笔记本,连基本的网页浏览、办公和编程都吃力。我需要一种办法让它在不背负债务的情况下还能使用。在寻找降低资源占用的方法时,我发现了 Linux。关于给旧电脑“第二次生命”的故事吸引了我的注意。
作为新手,我在安装和配置时遇到了很多问题,主要是因为不熟悉终端。经过几天的反复尝试,我终于装好了上学所需的一切,机器再次变得可用——至少够我存钱买新电脑的时间。
在此过程中我把系统弄坏了好几次,遇到了典型的新手问题:Wi‑Fi 失灵、硬件兼容性怪癖、视频播放卡顿、以及电池续航差。大多数问题我都解决了,唯一例外是电池续航,这在今天的一些笔记本上仍是常见挑战。
尽管过程令人沮丧,但那段时间让我对计算机和操作系统的工作原理有了深入了解。我花了大量时间阅读文档和论坛帖子来解决这些问题。
如今我使用 MacBook Air 以获得便携性,但我也组装了一台专门用于运行 Linux 的台式机。虽然没有以前那么多时间去尝试新发行版,但我仍然经常使用 Linux,并保持与其生态系统的联系。
好的方面
Linux 的吸引力
当你对 Linux 变得熟悉后,使用其他操作系统时会开始怀念某些特性。就我个人而言,我喜欢使用 apt、dnf 等包管理器来轻松安装和卸载软件。Windows 有 Chocolatey,macOS 有 Homebrew,但 Linux 的包管理器普遍感觉更为一体化且强大。
高度可定制
Linux 为你的电脑提供了高度的控制权。你可以根据自己的需求定制操作系统。这取决于发行版和桌面环境,但大多数发行版都提供了丰富的自定义选项。
你可以一次安装多个桌面环境——GNOME、KDE、XFCE、i3、dwm 等。Linux 的模块化特性让它们能够共存。
在工作中使用 Linux 时更熟悉
如果你已经在工作中使用 Linux——比如连接远程机器、管理云提供商的 VPS——在个人机器上使用 Linux 会感觉很自然。这也是练习和提升技能的好方式。你获得的知识在以后处理服务器、Docker 容器或生产环境时往往非常有用。
Docker 容器在 Linux 上原生运行
容器是一种轻量级的操作系统级虚拟化形式。它们将应用程序及其所有依赖打包进一个隔离、可移植且一致的环境。
这项技术本质上是 Linux 的特性。Docker 主要是编排和便利层;真正的容器化工作由 Linux 内核本身完成。简而言之,容器就是直接在宿主内核上运行的普通 Linux 进程,只是被 namespaces(用于隔离文件系统、网络、PID 等)和 cgroups(用于限制 CPU、内存等资源)创建的受限环境所包裹。
由于依赖 Linux 内核特性,Docker Desktop 在 Windows 和 macOS 上需要额外的虚拟化层来提供 Linux 环境。
脚本与自动化
Linux 也非常适合编写脚本或自动化重复性任务。你可以写 Bash、Python 或 Go 脚本,并将其作为 systemd 服务运行,或添加到 PATH 中,使其表现得像普通命令一样。
其他操作系统也能做到这些,但许多开发者觉得在 Linux 上更容易、更自然。
权衡取舍
可能会出问题
如果你是新手且对操作不够熟悉,出现故障或不符合预期的情况更常见。在 Windows 上,东西通常“即插即用”——插上设备就能 magically 工作。而在 Linux 上,你需要准备好花时间阅读文档并排查问题。
有时问题甚至不是你的错。虽然 Linux 本身通常非常稳固,但并非所有运行在 Linux 上的软件都没有 bug。很多公司并不会投入大量精力去修复 Linux‑specific 的问题,因为他们的主要用户群是 Windows 或 macOS 用户。你只能学会接受并继续前进。
学习曲线
Linux 起初可能让人望而生畏。你需要学习一些在 Windows 或 macOS 上已经熟悉的操作方式的全新实现。新手还必须决定要安装哪个 Linux 发行版,而各发行版之间的差异并不总是显而易见的。除此之外,你还要从多个桌面环境中挑选一个,这在刚开始时会让人感到困惑。
你还会发现自己更频繁地使用终端。在 Linux 上,敲命令有时比在图形界面中点击更快更省力。听起来似乎矛盾,但许多 Linux 用户都认同,使用命令行往往更高效。
硬件支持
这点对 Windows 更有利。Linux 上某些硬件可能需要额外配置,或并不能完美工作。我曾在多显示器、耳机以及 HDMI 连接上遇到问题——这些并不一定是硬件本身有缺陷,而是驱动、固件或显示服务器的怪癖导致的。多显示器设置往往依赖显卡驱动和桌面环境的配置,而耳机和 HDMI 有时需要做一些小的调校。虽然这些任务有时会比较棘手,但近年来的支持已经有了显著提升。
如果你打算专门组装一台用于运行 Linux 的新电脑,请先确认硬件的兼容性。一些组件仍可能因特定配置而出现问题,例如 NVIDIA 显卡可能需要额外的配置。