你最喜欢的 Linux 操作系统被 bug 困扰的 6 个原因

我一直是 GNOME 的长期用户,但在过去的几个月里,我与 基本操作系统. 我在基于 Linux 的极简操作系统中发现了很多值得我喜欢的地方,我鼓励读者尝试一下。

但这已经改变了。 我遇到的错误数量随着时间的推移而增加,我最近已经受够了。 作为一名自由作家,我唯一需要的是一台可以工作的笔记本电脑。 如果这不可靠,那么我就是在浪费时间尝试修复我的工作所需的一个工具。

这不是第一次发生这种情况。 有时,一两个月后开始坚如磐石的 Linux 发行版会出现问题。 问题是,为什么?

1、人手不够

我不会把整篇文章都花在讨论 Elementary OS 上。 我喜欢团队正在做的事情,我钦佩他们的远见。 我认为它能够在如此少的人中实现的成就是惊人的。 但问题就在于此。 只有少数人在开发这个发行版。

这意味着从事视觉设计工作的同一个人也在处理错误、编写新应用程序、吸引开发人员、营销以及做项目需要做的任何其他事情。 这对任何人来说都是很多工作。 它可以防止某人专门从事或花费所有时间来完善和维护单个软件。 创始人 Daniel Foré 并非孤军奋战,但他确实必须戴上许多不同的帽子才能使项目继续下去。

Linux 世界充满了小型的、破烂的团队,他们做出了伟大的工作。 索卢斯是另一个 example 这在很大程度上取决于一个人的工作。

更大、更成熟的发行版仍然受到此问题的影响。 Ubuntu 它在 Linux 世界中无处不在,并且拥有庞大的社区——但 Canonical 雇佣了相对较少的人来制作桌面。 FedoraopenSUSE 已经存在了几十年,但他们缺乏我们所看到的创建 Windows 和 macOS 等商业桌面的那种人力。

2. 缺乏资金

大多数开源软件都可以免费使用,但这并不意味着它可以免费制作。 无论有人付钱给开发人员、捐赠给项目,还是花自己的时间做志愿者代码,最终结果都会让某人付出一些代价。 有了如此多样且通常不可靠的融资模式,吸引有才华的工作对于 Linux 发行版和应用程序来说可能是一个问题。

维护发行版会带来大量不可避免的成本。 团队必须托管网站、提供下载和分发软件。 由于贡献者生活在世界各地,亲自出差和协作可能要花费数千美元。 如果修复错误需要访问某些硬件,那么无论开发人员需要多长时间才能得到他们需要的东西,这个问题都可以被忽略。 有时这永远不会发生。

我已经使用 Windows 足够长的时间了,我知道单靠钱并不能让所有的错误都消失。 但缺乏资金肯定会让他们更难离开。

3.与硬件制造商没有直接关系

正如我刚刚提到的,除非有人为他们提供类似的机器,否则开发人员很难修复影响您特定笔记本电脑型号的错误。 但这只是问题的一部分。 错误不仅仅源于没有受影响硬件的开发人员。 制造商不在乎他们的机器是否与 Linux 一起工作。

除非您的笔记本电脑预装了 Linux,否则如果 Linux 工作正常,很有可能没有人参与测试您的机器。 他们可能使用了缺乏 Linux 兼容性的 Wi-Fi 卡,导致您无法上网。 他们可能选择了还没有 Linux 二进制文件的显卡,从而给您留下了基本功能和故障体验。

在这种情况下,并不是您的桌面环境充满了错误。 您正在尝试在没有人使用此代码创建的硬件上运行软件。 有时 Linux 开发人员可以对解决方案进行逆向工程,但这并不总是有效。

4. 依赖其他项目和软件

大多数开源程序都依赖于其他人制作的软件。 Linux 的创建者 Linus Torvalds 没有制作您在屏幕上看到的任何界面。 这来自一个可能位于地球另一端的贡献者团队。 您在该界面中运行的应用程序可能来自不同的开发人员。

人们正在编写必须与他们可能不完全理解的软件交互的代码。 源代码可能是开放的,但谁有时间了解每个组件的工作原理? 如果他们确实发现了问题,他们必须联系该组件的维护人员并希望他们能够集成修复程序。

5.没有中心化

Microsoft 创建了 Windows 内核、桌面环境和默认应用程序。 这使公司能够在一定程度上控制用户将遇到的体验。 如果体验不完善,微软可以决定推迟发布,直到员工修复所有最引人注目的错误。 Linux 发行版尝试做同样的事情,但可能存在团队无法控制的重大错误。

这种缺乏集中化也导致了其他问题。 虽然 Windows 和 macOS 各有一种主要的包格式,但 Linux 有几种。 开发人员可能不得不跳过不同的环节,以确保他们的软件适用于每个发行版,而这对于一个人来说可能是很多支持的。 这并不是唯一的 example 的重复劳动。 Linux 有多个音频框架、显示服务器和窗口管理器。 几乎系统的任何组件都可以换成另一个组件,从而导致应用程序崩溃。

6.错误很无聊

创建软件很有趣。 这就是为什么在开源世界中有如此多的重复工作的部分原因。 从头开始并“这次做对了”比清除现有代码和消除扭结更令人兴奋。

挤压错误是一项乏味且耗时的工作。 开发人员可能会在开始尝试修复错误之前仅仅尝试复制错误就浪费数小时。 然后,一旦完成所有这些工作,该应用程序就没有有趣的新功能了——它对于可能受到错误影响的部分用户来说更加稳定。 这是一项重要的工作,但是当开发人员没有得到报酬时,很难期望他们做出必要的时间承诺来从事这种苦差事。

你能做些什么来避免错误?

除此之外,Linux 以比 Windows 更稳定而著称。 如果这个开源操作系统能够为世界上大多数超级计算机提供动力,它就可以处理你的笔记本电脑。 你只需要找到合适的发行版。

对于所有用户来说,没有一个选项是最稳定的。 这取决于各种因素,从您使用的硬件到您打算运行的应用程序。 但最好选择一个成熟的发行版,来自一个有资源让事情顺利运行的团队。

我已经回到 Fedora,并且我再次使用 GNOME 作为我的桌面环境。 作为 Red Hat 庞大的 Linux 生态系统的一部分, Fedora 是最受支持的发行版之一。 GNOME 可能不像 Elementary OS 那样极简,但它非常棒 close. 作为 Linux 上最古老的开源桌面环境之一,能够发现错误的用户社区要大得多。 加上韦兰在 Fedora 25的速度非常快。

我的 Linux 选择

这是我做出的选择,但我并不是说它是最好的。 openSUSE 是另一个拥有大量资金支持的发行版。 如果您更愿意使用没有附属公司的 Linux 操作系统,Debian 拥有如此庞大的社区支持,您不会错过。 Ubuntu(基于 Debian)是最知名的桌面 Linux 版本,因此当确实出现错误时,如果搜索时间足够长,通常可以找到修复程序。

但是,如果您真的想解决问题,请提交错误报告。 即使您不能自己编写修复程序,编写问题的详细描述也会有很大帮助。

您使用什么 Linux 发行版? 你遇到过什么bug? 有什么提示可以让用户沮丧地用头撞墙吗? 让我们在下面的评测中进行对话!