Linux 最大的成功,恰恰是那些我们不再谈论的事情。人们常常谈论最新的桌面环境、最新的内核,或者下一个重大特性。这些当然值得关注。但它们并非 Linux 变得更容易使用的首要原因。
真正的成功故事要安静得多。
在过去的 25 年里,Linux 从日常计算中消除了数百个微小的烦恼。它们中的大多数消失得如此彻底,以至于许多新的 Linux 用户甚至不知道它们曾经存在过。
如果你是在 1990s 年代末或 2000s 年代初开始使用 Linux 的,这份清单可能会勾起一些回忆。如果你是 Linux 新手,你可能会好奇我们当年是怎么熬过这些的。
下面,让我们怀旧地回顾一下 12 个 Linux 头疼问题,它们在过去的 25 年里悄然消失了。
1. 让鼠标滚轮工作
今天,你连接几乎任何鼠标,一切都能正常工作。
但在当年,仅仅是让滚轮工作就可能变成一个晚上的项目。
我们中的许多人手动编辑 XF86Config,更改鼠标协议,添加 ZAxisMapping,重启 X,然后祈祷自己没有打错字。一行错误的配置就可能导致图形桌面完全无法启动。
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/psaux"
Option "ZAxisMapping" "4 5"
EndSection
如果这段配置看起来仍然很眼熟,那你可能已经使用 Linux 很久了。
今天,滚轮直接就能用。我们几乎不再去想它了。现代内核自带通用鼠标驱动,PS/2 和 USB 鼠标都能自动识别。
注意: 一些系统使用 /dev/input/mice 而不是 /dev/psaux,尤其是在 USB 鼠标普及之后。
2. 购买 Linux 真正支持的 Wi-Fi 硬件
购买无线网卡并不像选择你喜欢的品牌那么简单。
真正的问题是:“它用的是什么芯片组?”
一个芯片组完美工作。另一个需要通过 ndiswrapper 使用 Windows 驱动。第三个则干脆拒绝工作。
购买硬件通常意味着在阅读产品评测之前,先要阅读 Linux 论坛。
今天,大多数 Linux 用户在安装过程中就能连接 Wi-Fi,然后继续他们的一天。802.11ac 和 802.11ax 芯片组的内核支持现在非常完善。
3. 安装显卡驱动而不搞坏 X
显卡驱动曾是桌面 Linux 用户最大的恐惧之一。
安装 NVIDIA 驱动通常意味着离开桌面,切换到文本控制台,停止显示服务器,运行一个特殊的安装程序,然后祈祷在下一次内核更新后一切仍然正常。
Ctrl + Alt + F1
如果出了问题,迎接你的将是一个闪烁的光标,而不是你的桌面。
今天,大多数发行版会自动检测硬件并轻松安装正确的驱动。对于喜欢最新专有驱动的用户,NVIDIA 也提供了官方的 Linux 软件包仓库,使得更新比以前容易得多。Wayland 的普及也让显示栈更加稳定,不再需要手动折腾 Xorg 配置。
4. 让声音从扬声器里出来
Linux 上的音频曾因其……“有趣”而闻名。
不同的桌面环境偏好不同的声音系统。有时一个应用程序能播放音频,而另一个则完全静音。
许多用户花在阅读音频文档上的时间比听音乐的时间还多。
今天,声音通常在系统启动时就能正常工作。大多数用户甚至从未想过背后的音频栈。PulseAudio 和后来的 PipeWire 让音频和视频路由变得统一可靠,蓝牙音频也不再需要手动配对配置。
5. 挂载 USB 驱动器和光盘
插入 USB 驱动器并不总是会打开文件管理器。
相反,你经常要打开终端并自己挂载它。光盘和 DVD 也是如此。
mount /dev/cdrom /mnt/cdrom
如果你在按下弹出按钮之前忘记卸载光盘,Linux 会立刻提醒你。
今天,可移动介质会自动出现。大多数用户从不去想背后发生了什么。udev 和 udisks 自动挂载,用户空间完全无需干预。
6. 打印一页纸
打印曾经是 Linux 最薄弱的环节之一。
找到正确的驱动,安装正确的 PPD 文件,并说服打印机合作,所花的时间可能比写文档本身还要长。
Linux 上的打印多年来一直是个笑话。谢天谢地,现在这个笑话已经不好笑了。
今天,许多打印机一旦出现在你的网络上就能直接工作。CUPS 通过 IPP Everywhere 协议自动发现并配置打印机,甚至支持 AirPrint。
7. 使用双显示器
运行两个显示器远非易事。
你必须学习像 Xinerama 和 NVIDIA TwinView 这样的名字,编辑配置文件,并在每次更改后重启图形桌面。
让两个显示器工作起来感觉不像是在配置电脑,更像是在解谜。
今天,你只需在设置窗口中把显示器拖到合适的位置,点击 应用,就完成了。Wayland 的组合器原生支持多显示器,无需额外配置。
8. 合上笔记本电脑盖
合上笔记本电脑是一种信任的考验。
它还能再醒来吗?
有时可以。有时 Wi-Fi 会消失。有时屏幕保持黑屏。有时整个系统会死机。
你很快就学会了在测试挂起之前保存工作。
今天,挂起和恢复已经非常可靠,我们中的大多数人在合上盖子之前都不会再多想。systemd 和 modern ACPI 支持让 suspend/resume 成为日常可用特性。
9. 追逐软件包依赖关系
安装一个程序通常意味着还要安装另外五个。
一个软件包依赖于另一个。那个软件包需要三个库。其中一个库又需要某个东西的旧版本。
有时安装程序会给你这样的信息:
error: Failed dependencies:
libfoo.so.3 is needed by bar-1.2.rpm
这条消息足以毁掉整个晚上。
今天,现代的包管理器几乎会自动解决所有这些依赖关系。apt、dnf、pacman 和 zypper 都能处理依赖链,甚至支持事务性更新。
10. 不离开 Linux 玩游戏
多年来,游戏一直是 Linux 最大的弱点之一。
大多数 PC 游戏只针对 Windows 构建。如果某个游戏碰巧有 Linux 版本,那感觉就像是一个惊喜,而不是常态。
我们中的许多人为了玩游戏而双启动 Windows。其他人则尝试使用 Wine,希望最新版本能运行某个喜爱的游戏而不崩溃。
今天,多亏了 Valve 对 Linux 游戏的投资,Steam、Proton 和 Steam Deck 让成千上万的 Windows 游戏在 Linux 上运行得出奇地好。游戏不再是许多人离开这个平台的理由。
建议阅读:
- Run Windows Apps And Games Using WineZGUI On Linux
- How To Run Windows Software On Linux With Bottles
- Manage Your Games Using Lutris In Linux
11. 企业级 Linux 需要驱动软盘
这个是给老 Linux 系统管理员的。
我还记得在旧的企业服务器上安装 Red Hat Enterprise Linux。就我而言,那是 2007 年的一台 HP ProLiant 服务器。
有时安装程序根本无法检测到 RAID 或存储控制器。安装过程会停止,直到我插入硬件供应商提供的 驱动盘。
只有在加载了那个驱动之后,Anaconda 才能看到磁盘并继续安装。
这在当时感觉完全正常。
回过头来看,带着一张驱动软盘只是为了安装一个操作系统,这听起来几乎难以置信。
今天,Linux 安装程序会自动识别企业级存储控制器。那张小小的驱动盘已经悄然成为 Linux 历史的一部分。
12. 了解你的每一块硬件
老 Linux 用户无意中成为了硬件专家。
我们学习了图形芯片组、Wi-Fi 芯片组、声卡、网卡,甚至显示器规格。
不是因为我们想学,而是因为 Linux 期望我们知道它们。
今天,许多 Linux 用户完全不知道他们的笔记本电脑里装的是什么芯片组。这其实是一件好事。Linux 已经变得足够聪明,可以替我们搞清楚这些。lspci、lsusb 和 dmidecode 仍然存在,但现在很少有人需要手动查询。
建议阅读:
- How To Check and Find CPU Information In Linux
- How To Find Hardware Specifications On Linux
- How To Find Hard Disk Drive Details In Linux
回首过去
Linux 当然在多年间增加了许多新特性。然而,我认为它最大的成就是别的。
它悄无声息地消除了无数日常的挫败感。
这些问题没有一个是因为某个神奇的版本发布而消失的。成千上万的 Linux 开发者年复一年地修复了一个又一个的小问题。这些修复中的大多数从未成为头条新闻。但它们共同将 Linux 转变成了我们今天所享受的桌面操作系统。
如今,没有人会因为鼠标能用而写一篇博文。没有人会因为打印机被自动检测到而庆祝。也没有人会因为笔记本电脑从睡眠中按预期唤醒而发起讨论。
使用 Linux 不再被认为是一件极客的事情。
这正是优秀技术应有的样子。最好的改进是那些变得无形的改进。
我遗漏了什么?
这些是我印象最深的 Linux 头疼问题,但我肯定还忘记了一些。
如果你使用 Linux 已经很久了,我很想听听你的故事。
过去曾经是持续不断的战斗,而今天已经完全不是问题的事情,对你来说是什么?
推荐阅读:




