关注「索引目录」公众号,获取更多干货。
介绍
作为一名软件工程师,我尽量不让自己对某个操作系统过于依赖。计算机只是我们完成工作的工具,除非你的工作依赖于特定平台的软件,否则大多数现代操作系统都能很好地满足你的需求。
只要条件允许,我喜欢使用多个操作系统,以避免个人偏好的影响。在本文中,我将分享我使用 Linux 作为日常桌面操作系统的个人经验,并着重介绍它的优点和缺点。
这里的内容反映了我个人的观点和经验,所以请记住,它们可能带有主观性。
本文面向对 Linux 作为桌面操作系统感兴趣的开发者和技术用户,特别是那些来自 Windows 或 macOS 的用户。如果您正在寻找基于经验的真实见解,而不是推销话术,那么这篇文章正适合您。
我的 Linux 之旅
如果你以为我会说Linux是最好的操作系统,其他系统都是垃圾,那就错了。这篇文章可能也不适合你。我用过Windows、Linux和macOS,都很喜欢。它们各有千秋。
我不会说Windows是邪恶的,也不会说如果你自己编译Linux内核你就高人一等。Windows很棒,如果你没有充分的理由尝试Linux,那也完全没问题。
话虽如此,我对 Linux 确实有一种怀旧之情。
我刚上大学的时候买不起新电脑。我用的是一台旧笔记本电脑,连上网、办公和编程这些基本任务都难以应付。我计划年底前换一台新的,但在此之前,我需要想办法让它能继续使用。我不想为了买电脑而背上债务。
在研究如何降低资源消耗的过程中,我发现了Linux。最吸引我的是它能让旧电脑重获新生的故事。
作为新手,我在安装和配置过程中遇到了很多问题,主要是因为我不熟悉终端。经过几天的摸索,我终于安装了大学所需的所有软件,电脑也重新可以用了,至少够我攒钱买一台新电脑。
当然,我的系统也崩溃过几次,还遇到了一些新手常遇到的问题:Wi-Fi 连接问题、硬件兼容性问题、视频播放卡顿以及电池续航差。最终我解决了大部分问题,但电池续航问题至今仍是某些笔记本电脑的通病。
尽管当时很沮丧,但那段时间让我对计算机和操作系统的工作原理有了更深入的了解。我花了几个小时阅读文档和论坛帖子来解决这些问题。
如今,我为了方便携带使用MacBook Air,但我也有一台专门组装用来运行Linux的台式机。虽然我没有足够的时间像以前那样频繁地尝试新的发行版,但我仍然很享受定期使用Linux并参与Linux生态系统的过程。
好的部分
Linux的吸引力
一旦你习惯了 Linux,就会开始怀念其他操作系统的一些功能。就我个人而言,我非常喜欢使用像 aptapt或 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 进程,但它们运行在受限环境中,这些环境是通过命名空间(用于隔离文件系统、网络和进程 ID 等)和 cgroups(用于限制 CPU、内存和其他资源)创建的。
由于这依赖于 Linux 内核特性,Windows 和 macOS 上的 Docker Desktop 使用额外的虚拟化层来提供 Linux 环境。
脚本编写和自动化
Linux 也非常适合编写脚本或自动化重复性任务。你可以编写 Bash、Python 或 Go 脚本,并将其作为 systemd 服务运行,或者将其添加到你的系统中,PATH使其像普通命令一样运行。
当然,其他操作系统也能做到大部分这些操作,但我个人觉得在 Linux 上操作起来更容易、更自然。
权衡取舍
东西可能会坏掉
尤其对于新手来说,如果对操作不太熟悉,就更容易出现故障或出现意料之外的情况。在 Windows 系统下,通常“开箱即用”,这大概也是我最喜欢它的地方:插上电源,它就能神奇地工作。至少我的 Windows 使用体验是这样的。而在 Linux 系统下,你需要做好花时间阅读文档和排查问题的准备。
有时候,这甚至不是你的错。虽然 Linux 本身通常非常稳定,但这并不意味着所有运行在 Linux 上的软件都毫无漏洞。很多情况下,公司不会投入太多精力去修复 Linux 特有的问题,因为他们的主要目标用户群体使用的是 Windows 或 macOS。这就是现实。你只能学会接受,然后继续前进。
学习曲线
Linux 初次上手可能会让人望而生畏。你需要学习一些在 Windows 或 macOS 上早已习以为常的操作方式。很多情况下,你必须学习“Linux 的方式”。
新用户还需要决定安装哪个Linux发行版,而不同发行版之间的区别并不总是那么清晰。Linux本身就有很多不同的发行版。此外,根据发行版的不同,你还需要从几个选项中选择桌面环境。所有这些一开始都可能让人感到困惑。
你还会发现自己更频繁地使用终端。在 Linux 系统中,输入命令有时比点击图形界面更快更方便。我知道,这听起来似乎自相矛盾。为什么输入命令会比点击图标和菜单更快呢?但相信我,大多数 Linux 用户可能都会同意:输入命令就是感觉更快。
硬件支持
这是Windows的另一个优势。在Linux系统上,某些硬件可能需要额外的配置,或者可能无法完美运行。我曾遇到过多显示器设置、耳机和HDMI连接方面的问题,这些问题并非一定是硬件故障,而是由于驱动程序、固件或显示服务器的某些特性造成的。多显示器设置通常依赖于显卡驱动程序和桌面环境设置,而耳机和HDMI连接有时需要进行一些细微的调整。虽然近年来这方面的支持已经有了显著的改进,但这类问题有时仍然比较棘手。
如果您要组装一台专门用于运行 Linux 的新电脑,我的建议是首先确认您的硬件是否得到充分支持。某些组件仍然可能因配置不同而出现问题。例如,NVIDIA GPU 可能需要额外的配置或专用驱动程序,这有时会导致问题。
即使精心挑选了硬件,仍然可能会出现一些小问题。
软件兼容性
并非所有软件都可在 Linux 系统上运行。微软 Office 和 Adobe 应用程序就是两个常见的例子。虽然存在开源替代方案,但您可能会觉得它们无法完全媲美专有软件版本。
例如,对于文档和电子表格编辑,我通常使用 Office 365 的网页版,这完全满足我的需求。为了以防万一,我也保留了 LibreOffice。
开源软件由社区和公司创建和维护,但这些项目并非总是以盈利为目的。很多情况下,贡献者和维护者并没有从中获得任何收益,所以不要责怪他们。我说“很多情况下”,是因为也有一些开源项目背后有商业模式,例如 VS Code 或 Next.js。
大多数贡献者参与这些项目纯粹是出于自愿。别忘了,他们也有自己的生活,而且通常还有全职工作。根据项目的不同,你也可以贡献力量。所以,如果你是一名开发者,并且在遇到 bug 时有空闲时间,不妨调查一下,你或许能找到修复方法并提交 Pull Request。即使是这样的小贡献也能帮助所有人改进开源软件。
这样,我们所有人都能为开源软件做出贡献,哪怕只是微不足道的贡献。但我知道,说起来容易做起来难。
尽管存在这些缺点,但我提到的绝大多数问题都可以通过一些指导来避免或缓解。硬件兼容性,以及选择适合您需求的发行版和桌面环境,对您的 Linux 使用体验的流畅程度或挫败感起着至关重要的作用。接下来的章节将重点介绍一些实用技巧,帮助您顺利入门。
选择适合您的硬件
这里没有什么灵丹妙药;做好功课才是王道。首先,确定你的硬件需求,然后根据需求研究相关组件。你可以使用像Linux Hardware这样的网站来查找特定组件;它对我的帮助非常大。
如果你打算一件一件地购买电脑配件,请尽量避免购买已知在 Linux 系统下存在问题的硬件,例如某些 NVIDIA GPU 或尚未经过充分测试的最新组件。
Reddit 论坛也是研究 Linux 硬件兼容性问题的绝佳资源。
选择适合你的 Linux 发行版
Linux 发行版是一个完整的操作系统,它包含 Linux 内核、通常还包括 GNU 用户空间工具和库、软件包管理器、一些预装应用程序以及默认配置。根据发行版的不同,也可能包含桌面环境。
关于Linux发行版的文章和视频有很多。或许有人会有不同意见,但如果你是新手,我认为你只需要考虑三个:Ubuntu、Linux Mint和Fedora。
如果你是第一次接触 Linux 发行版,我推荐 Mint 或 Ubuntu。这两个都很不错,选哪个都不会错。我个人更喜欢 Linux Mint,因为如果你之前用的是 Windows,它会更熟悉一些,但两者都是很好的选择。Linux Mint 就是基于 Ubuntu 的。
对于开发者而言,Fedora 也是一个不错的选择。它是一个更前沿的发行版,这意味着它包含比 Ubuntu 和 Mint 更新的软件包。它也倾向于更早地发布新功能,而这些功能在其他发行版中可能需要一段时间才能出现。然而,这也意味着你可能会遇到一些在更稳定的发行版中不太常见的错误或兼容性问题。
还有一些发行版我认为更适合高级用户,或者至少是那些已经有明确偏好的用户。Debian 和 Arch Linux 就属于这一类。它们都是很棒的发行版,但可能不太适合作为用户的第一个发行版。
我个人目前在台式机上使用 Fedora 系统,但几年前我的主要系统是 Linux Mint。这两个系统都给我留下了非常好的印象。
选择适合您的桌面环境
这主要取决于你选择的发行版。例如,Ubuntu 自带定制版的 GNOME 桌面环境。Linux Mint 提供三个版本:Cinnamon(默认)、MATE 和 XFCE。
Fedora 官网提供了更多选项,包括 GNOME(默认)、KDE Plasma、XFCE、LXQt 和 Cinnamon。
如果您不确定选择哪个桌面环境,可以安装几个并试用一下。在 Linux 系统中,您可以同时安装多个桌面环境。
如果你不想做太多尝试,GNOME 和 KDE 都是不错的选择。如果你之前用的是 Windows 系统,KDE 通常是一个稳妥的选择。
现在我用的是 XFCE 桌面环境,因为它非常轻量级,而且开箱即用。除此之外没有其他特别的原因。我安装了它,它运行良好,所以我就一直用它了。没有理由更换。
一些常见问题
Linux 适合所有人吗?
不。如果你的工作严重依赖于专有软件或特定硬件,而这些软件或硬件在 Linux 上无法很好地运行,那么 Linux 可能不是合适的选择;这也没关系。
你应该完全转用 Linux 吗?
不一定。包括我在内的许多人,都能从同时使用 Linux 和 Windows 或 macOS 中获益,无论是在单独的机器上、双系统启动配置中,还是在虚拟机中。
至少尝试一次Linux值得吗?
当然值得。即使你最终没有坚持使用,这段经历也能让你学到很多关于操作系统、工具以及计算机工作原理的知识。
如果你已经在使用 Linux,是否应该切换到其他发行版?
这要视情况而定,但通常情况下不需要。如果你只是因为害怕错过什么而想换发行版,那可能并不值得。如果你遇到了某个具体问题,并且已经确认其他发行版能更好地解决,那么切换发行版或许是有意义的。话虽如此,硬件问题很少能仅仅通过更换发行版就得到解决。
结论
本文反映的是我个人使用 Linux 的经验,您的体验可能与我截然不同。我的主要建议是使用 VirtualBox 或类似的虚拟化工具尝试几个不同的发行版,看看哪个最适合您。一旦选定一个,就尽量坚持使用一段时间,而不是频繁更换发行版。如果非要我推荐一个入门发行版,我会毫不犹豫地推荐 Linux Mint。
一旦你踏入Linux的世界,就不要对它过于“虔诚”。避免卷入发行版之争和毫无意义的辩论,尤其是在论坛和社交媒体上。放松心情,学习、探索,享受这个过程。
对我而言,学习 Linux 是一次非常积极的体验。在我软件工程师职业生涯的早期,即使只是对 Linux 的基本了解,也帮助我更高效地工作,并更深入地理解系统。即使 Linux 最终没有成为你的主要操作系统,你从使用它中获得的知识也几乎肯定会让你受益匪浅。
我不能保证你会喜欢Linux,但你或许会喜欢。无论如何,至少值得尝试一次。
关注「索引目录」公众号,获取更多干货。

