揭穿 The Oatmeal 漫画以及 Linux 难以使用的看法

尚无读者喜欢这个。
Oatmeal and a laptop.

Opensource.com

The Oatmeal 制作了一个网络漫画,该漫画经过重新排版,最近在 Facebook 和其他社交媒体上流传。它的标题是 “如何修复任何电脑”,并以各自的方式嘲笑了 Windows、Apple 和 Linux。尽管我喜欢 The Oatmeal,但这部漫画对 Linux 的抨击宣传了一个需要消除的误解。“如何修复 Linux”的说明开始于

学习用 C++ 编码。重新编译内核。用你手头闲置的硅制造你自己的微处理器。再次重新编译内核。切换发行版。再次重新编译内核,但这次使用由土星折射光驱动的 CPU。

没有比这更离谱的了。根据我作为专业 Linux 系统管理员的经验,编译自己内核的人至少是以下之一(通常是两者):内核开发人员、狂热的爱好者,或者做错了。

部分问题在于,由于 Linux 一直是业余爱好者和程序员最喜欢的操作系统,人们认为你必须是业余爱好者或程序员才能使用 Linux。再加上从其他操作系统中学到的坏习惯和假设,你就得到了像 The Oatmeal 所写的漫画。

真正让 Linux 对新用户具有挑战性的是他们从其他操作系统带来的坏习惯。例如,假设你去零售店买了一张新的无线网卡。你把它带回家,安装到你的系统中,如果系统是 Windows,你可能会把 CD 放入驱动器,并试图从那里弄清楚如何安装它的驱动程序。Windows 是否弹出了“检测到新设备”对话框,并询问你是否希望它查找驱动程序?也许吧。如果它弹出了,你应该点击“确定”还是“取消”?嗯,这很难说——有些设备会以一种方式工作,有些设备会以另一种方式工作。驱动程序 CD 上有什么?它只是 Windows 自己的安装向导应该指向的驱动程序文件,还是一个为你完成整个安装的可执行文件?再说一遍,谁知道呢?驱动程序 CD 上的驱动程序也完全有可能太旧且已过时,无法在现代机器上正常工作。也许在发现你无法连接到你的 WPA2 网络后,你将不得不去制造商的网站下载新的驱动程序。诸如此类,没完没了(没完没了!)。这被认为是正常的,没有人喜欢它,但大多数人已经习惯了它。

因此,毫不奇怪,拥有 Linux 电脑的同一个人可能会立即开始在 CD 上寻找驱动程序,或者下载驱动程序,或者其他使事情变得困难的东西,而实际上,它应该立即开始工作,无需安装。当然,我挑选无线网卡是有原因的。虽然大多数无线网卡在 Linux 下开箱即用,但由于芯片组种类繁多且不断变化,以及不断降低成本的努力等因素,它们仍然是最有可能不受支持的设备类别。但是,由于其他操作系统导致必须以困难的方式完成所有事情,用户很可能会犯一个错误,即深入研究长达 20 页的论坛帖子,其中谈论 madwifi 和封装的 Windows 驱动程序以及列入黑名单的内核模块,直到深入兔子洞十个小时或更长时间,他们才会哭喊,“Linux 太难了!”

而正确的反应是意识到,虽然大多数硬件在 Linux 下都能轻松工作,但这件特定的硬件却不行。解决方案是简单地在商店里换成能用的东西。

用户自己对挫败感的预期通常是他们自己最大的敌人。因为其他操作系统教会他们一切都很令人沮丧,而你只需要处理它,所以他们认为这种体验是正常的。但事实并非如此,也不应该如此。这使得 Linux 成为更好的选择——而不是更困难的选择。

标签
Jim Salter
我是一名位于南卡罗来纳州哥伦比亚市的雇佣系统管理员。我第一次真正接触开源软件是在 90 年代末和 2000 年代初在 FreeBSD 网络服务器上运行 Apache。从那时起,我转向了 Samba、BIND、qmail、postfix 以及任何其他引起我注意的东西。

80 条评论

我同意你的观点。Linux 不再难了。但事实是,曾经有一段时间它很难(查阅“依赖地狱”),可悲的是,这种态度仍然存在。

我更喜欢这个 <a href="http://www.stickycomics.com/computer-update/">网络漫画</a>。

我从 1999 年开始断断续续地使用 Linux,从 2006 年开始完全使用 Linux,我从来没有重新编译过内核。我可以用一只手的手指头数得过来我甚至需要从源代码构建东西的次数。

我是一个巨大的开源倡导者,也是 Linux 的长期用户,但我不得不对此提出一点异议。我完全同意“Linux *应该* 像“Windows 一样容易”这些天。然而,在实践中,情况并非如此。一些例子

1) Fedora 的 NVIDIA 支持(或缺乏支持)。我不得不学习 kmod、akmod、如何禁用系统尝试安装驱动程序以安装来自 NVIDIA 的驱动程序、安装内核头文件以编译 NVIDIA 的驱动程序等等。这让我非常恼火,以至于放弃了 Fedora 并切换到 Ubuntu(并且我(声称)知道我在做什么一点点)。

2) 太多令人讨厌的错误。显然 Windows 有很多令人讨厌的错误,但明显少得多。我仍然不知道如何让 Ubuntu 11.10 中的默认 IM 客户端不要让我“单击确定以访问我的密码钱包”。当我第一次安装 11.10 时,软件包管理器根本不允许我安装软件包,因为我不是 root 用户。在谷歌上搜索了几个小时后,我才发现我必须安装一些其他类似 polkit 的软件包,以允许软件包管理器像它应该做的那样提示我输入 root 密码。这样的例子不胜枚举。

3) 硬件支持。我买了一台佳能激光打印机,结果发现佳能根本不为 Linux 制作驱动程序(也没有其他人为这台打印机制作驱动程序),所以我无法从我的 Linux(主)机器上打印到我的打印机。即使我已经做了多年的 Linux 人,我也没有想到在购买之前检查一下!

4) 软件支持。现在几乎所有东西都有开源替代品。不幸的是,其中大多数都很糟糕。我不会用 10 英尺长的杆子碰 Libre Office。没有合理的 3D CAD(SolidWorks 风格)软件。开发 IDE 无法与 Visual Studio 相提并论等等。

----
试金石应该是“我会向我的祖父推荐这个吗?”。当然,如果祖父永远不会接触网络浏览器以外的任何东西,那当然可以——事实上,我认为大多数人甚至不知道他们使用的是哪个操作系统,只要你向他们展示网络浏览器图标在哪里。但是,如果你期望祖父变得调皮并想升级 RAM 以外的任何东西,那么你推荐 Linux 就太疯狂了。

我想说它已经完成了 90%,但最后的 10% 似乎没有人关心修复,而这正是人们注意到的 10%。

我会将“Linux 不再难了”改为“Linux 不再是 5 倍难了”。在我看来,它仍然比它应该的难度大得多。

完全同意。

但也许这就是 Linux 的作用。每个操作系统都有不同的目标,我个人认为这就是它的标志:有点难但高度可靠、安全和可配置。

你不是 Linux 人。你有微软的心态。

我不知道你在和他们中的哪一个说话,但无论如何你的评论都没有意义,而且几乎毫无价值。有点像这条评论,但更糟糕。

我假设你在和我说话,因为我使用了这个短语。我不知道除了在家和工作中都使用它之外,是什么让人成为“Linux 人”?我认为你将“微软”心态与“喜欢工作良好且易于使用的东西”心态混淆了。我不在乎是谁制造的——我只是希望它可用,并且没有任何我在原始帖子中提到的那些明显的问题。这显然要求很高,但我猜我高估了数百万可能共同为此工作的程序员的力量。

许多其他评论都暗示了 Linux 社区长期存在的刻板印象,而我们在这里就看到了一个例子。显然,你不可能是一个真正的 Linux 支持者,因为你发现了一些 Windows 做得更好的事情。

这就像政治。对于狂热者来说,“另一种”观点不可能有任何好的想法。不,不可能。有些人似乎毫无理由地坚持最极端的观点,而另一些人只是想要一些可以工作的东西,并且他们没有议程。

我不认为你高估了数百万程序员的力量,但你高估了某些类型的人超越自身骄傲的能力。编程与任何其他事物一样具有人文因素,除非人们学会放下那些促使诸如“他是微软人”之类的评论的荒谬观点,否则我们将被我们现在拥有的东西所困扰。协作需要付出和接受。

回敬你... 只需将“Linux”一词替换为“Microsoft”。很明显,两个阵营都有狂热者。

你要么是个十足的白痴,要么是个故意的喷子。两者都不好,所以我想这真的无关紧要。

安东尼,指向你自己的那 3 根手指呢?

如果 Linux 如此糟糕,你为什么要费心使用它并认为自己是“Linux 人”?

我错了。你一定是两者兼有。

我一次也没有说过 Linux 很糟糕。我多次说了相反的话。你只是被你的偏见蒙蔽了双眼,以至于你甚至无法理解我的观点。

实际上,我没有偏见。我用的是 Mac。

Nvidia *不是* 开源的或 linux 的。[旁注:我意识到 Nvidia 可能是性能最高的消费级显卡,但它浪费了大量热量和功率——我避免自己购买它。它在台式机上足够可靠,但我所有使用 Nvidia 笔记本电脑的朋友(在 Linux 和 Windows 下)在观看视频或玩游戏时都遇到过热问题(也许更多的是笔记本电脑制造商的错——没有为 Nvidia 产品的热量留下足够的余量)。就我个人而言,如果它通常是低功耗的,并且可以在不发热且无需特殊驱动程序的情况下播放 supertuxkart 和 DVD,我就很满意了。]

对于较旧的 Nvidia 显卡,内置的 Xorg nouveau 驱动程序开箱即用地支持它们,甚至具有足够的 3D 性能来满足我的适度要求,包括 gnome-shell。我会在台式机上使用它们。

但是,你在安装专有驱动程序时遇到的任何问题都不是 linux 问题。虽然如果所述专有硬件是任务关键型的,那么这*确实* 是一个业务问题——在这种情况下,你最好运行他们支持的任何专有系统。

然而,Nvidia 越来越成为一个特例。大多数硬件制造商将其所有专有和专利的东西都包装在标准接口中,例如 USB、蓝牙、SATA 等。在某个时候,将会有一个标准的 OpenGL(或后继)硬件接口,以便最新的显卡不需要特殊的驱动程序。

跑题了,斯图尔特——nouveau 在多显示器方面表现如何?VDPAU?臭名昭著的垂直同步问题(再说一遍,我认为这通常只是多显示器的问题)?

有什么经验吗?

抱歉,没有。我只在 Intel 显卡上使用过多个显示器。Intel 9xx 及更早版本有一个讨厌的“功能”,如果组合显示器的总像素超过硬性限制,它将自动且静默地退出 3D 模式。当运行 gnome-shell 并且你插入一个太大的外部显示器时,这可不好玩...... 但除此之外,多显示器工作得很好。

我曾在 2004 年左右陷入典型的微软 OEM 陷阱(我用一个非富士通/西门子认可的单元更换了我坏掉的 CPU),之后我改用了 Linux,最初是从我发现的一本书中了解到的 Red Hat。
自 Ubuntu 推出后的一年以来,我就一直在使用 Ubuntu。早在 2004 年,对我来说两个主要问题是 Windows 网卡和佳能打印机,这需要极大的耐心(由于我对微软方式的愤怒而增强),但我最终找到了问题的原因,并购买了一张不依赖微软操作系统运行的新网卡,在仔细查看了当时的 Red Hat 论坛(远不如今天的论坛好)后,购买了一台新的惠普打印机。
自从这两次简单的购买以来,我在每次购买更多东西时都会检查兼容性。我从未失望过,一次也没有。
我上次购买是一年前的笔记本电脑,是为我 70 多岁的妻子买的,她一生中从未使用过电脑。我的一个规定,除了高端组件外,就是它不应该附带“免费”的 Windows,在这个愚蠢的电脑制造商 OEM 世界中这并不容易。当我从 Novatech(一家英国公司)收到一台时,我立即安装了 Ubuntu 10.04,一切都在一小时内启动并运行,包括通过我的本地网络无线连接到互联网。它立即连接到我的打印机,现在是一台惠普 Photosmart C 8180,笔记本电脑可以完全访问打印机及其所有功能。笔记本电脑和我的机器之间没有任何区别。在过去的一年里,我逐渐提高了我妻子的能力,现在已经相当可观了。她不是电脑爱好者,她只是用它来访问互联网(为了她自己的爱好,这充分利用了打印机)、电子邮件和 Skype。一位朋友试图向她展示 Windows,但她就是无法接受其某些用途缺乏逻辑。在 Linux 上接受培训后,她发现 Windows 难以接受。
我在我的大部分工作生涯中都使用电脑,早在 PC 之前很多年,所以我是一个有经验的电脑用户,我不会编程,也从未感到有学习的冲动。自从我第一次坐在键盘前(打孔带)以来,已经发生了许多变化,大多数变化都被欣然接受,有些变化受到了强烈抵制,但没有一个变化像可能从微软转变那样受到如此强烈的抵制。

我承认早在 2004 年我发现 Linux 很困难,但现在,绝对不是。

1. Mesa 现在强大得多,你不再需要安装 nvidia 驱动程序。如果 NVidia 没有提供好的 Linux 驱动程序,请去他们的论坛抱怨。我的 ATI 在 Linux 上不起作用,那是因为 AMD 太烂了。
2. 我不明白为什么世界上没有人遇到 11.10 中的那个问题,而你却遇到了。也许马克·沙特尔沃思给你寄了一张不同的 CD。
3. 你已经做了这么久的 Linux 人,你让我想起了我第一次使用 Linux 的时候。
4. Visual Studio 无法工作,因为世界已经向前发展,而生产 Visual Studio 的公司正试图在软件世界中找回自己的立足点。这表明,如果你不关心所有人,你将被淘汰。

我将这 10% 看作是这样。Linux 存在的 10% 的问题永远不会得到解决,但是当你进入下一个计算级别时,你将不再受这 10% 的奴役。例如,如果你使用 google docs(假设你碰巧以某种方式喜欢它),你将不需要 libreoffice 或任何其他桌面客户端。对于你的佳能打印机,当你拥有一台可以随身携带并在其上阅读的像书本一样的体面电脑时,你可能会越来越少需要打印,准备文档,人们会接受那些电子文档而不是纸质文档。

是时候前进了。即使是那些为你编写桌面客户端的巨头也希望你前进到下一个级别。他们不关心(我的意思是没人关心)我们目前的计算模式,所以是时候前进了。

我喜欢 Oatmeal!这里引用的漫画给了 Linux 一段艰难的时光,但并没有比它给 Windows 或 Mac 的更艰难。

Linux:重新编译;Windows:重新安装;Mac:重新购买

都是夸张,但它们抓住了问题的核心!:)

我应该补充一点,我运行 Linux,我的妈妈也是如此。

“学习用 C++ 编码。重新编译内核。用你手头闲置的硅制造你自己的微处理器。再次重新编译内核。切换发行版。再次重新编译内核,但这次使用由土星折射光驱动的 CPU。”

这显然是夸张的,但刻板印象的存在是有原因的。如果没有任何事实依据,那就不好笑了。

我完全同意大卫的观点。它可能已经完成了 90%,但大部分工作总是在最后的几个百分点中,而实际的可用性也在其中。你可以在 2 小时内粉刷一个房间,但其中 15 分钟将用于粉刷广阔的开放空间。大部分时间都花在装饰和接缝上。这个概念适用于所有事物,包括操作系统开发。Linux 有未粉刷的装饰和接缝。

我在工作中每天使用 Linux 约 10 个小时,它对于完成我的工作绝对是必不可少的。但是,Linux 绝不是普通用户的更好选择,也从未打算成为更好的选择。这篇文章试图暗示人们显然通过使用 Windows 养成了坏习惯,但这简直是荒谬的。Linux 具有同样多,甚至更多的烦人怪癖,具体取决于发行版,这是另一个巨大的问题。根据发行版,你执行 X 来修复问题 Y,或者如果情况 A 出现,你可能执行 Z 来修复问题 Y。在 Windows 中,如果它坏了,你只需要处理不同版本的 Windows,而不是不同的发行版以及不同的内核和不同的开源许可证,这些许可证阻止你做某些事情。不,我不是在提倡 Windows 因为这个原因而“更好”。我是在说这篇文章如此公然地反 Windows,以至于很难找到一个没有被议程着色的实际观点。

就在昨天,我花了 20 分钟试图更改 FVWM2 中桌面/分页器的格式,即使在谷歌上搜索并找到各种根本不起作用的建议之后也是如此。我不得不编辑不是一个、两个甚至三个文本文件,而是四个不同的文本文件,以使桌面/分页器具有不同行数和列数,并带有自定义文本而不是“1”、“2”等。是的,Windows 缺少桌面/分页器,并且迫切需要添加它,但我向你保证,如果它被添加,你将右键单击桌面,转到属性,然后单击桌面/分页器选项卡,并在一个地方格式化所有内容。这是一个新手可以弄清楚的逻辑过程,而不是在 ~ 中查找隐藏文件并跟踪到其他隐藏文件的路径来编辑一个包含基于零的行和列设置的晦涩文本行。程序员会理解这一点,但 99% 的人不是程序员。Windows 是一款面向想要坐下来不思考,只需点击,然后完成工作的用户的产品。Linux 完全不是那样,无论你多么希望它是那样。这是限制和高级使用之间的权衡。我在 Windows 中受到更多限制,因为它试图保护我免受自己的伤害,这对于普通用户来说绝对是必要的。我可以在 Linux 中做更多高级的事情,因为它在设计上是多用户操作系统,并且没有采用任何接近“防止普通乔意外执行 rm -rf /*”的级别。

Unix 在概念上从未打算成为除共享编程工具之外的任何东西的简单方法。这就是为什么它过去被称为 PWB(程序员工作台)。Windows 的开发专门用于向大众销售。它们几乎在单词的每个方面都是根本不同的工具。你会争辩说锤子比螺丝刀更好吗?它们都是大多数人都可以使用的工具,但它们服务于根本不同的目的。两种操作系统都可以做类似的事情,但这并不意味着每个人都应该将它们视为与其试图用电脑做的任何事情等效的界面。我不仅仅是一个业余爱好者——我是一名专业的程序员和电气工程师,我靠使用 Linux 谋生。我不会在家用 20 英尺长的杆子碰 Linux,是大卫的 2 倍,因为我没有时间处理它强加给你的胡说八道。是的,我的 Windows 机器有自己的一系列问题,但猜猜为我的妻子在她的手机和 Windows Media Center 之间共享媒体有多难?她打开它,就是这样。我将笔记本电脑添加到我的家庭网络,并立即访问了我的 Windows 家庭服务器上的所有文档。巨大的彩色按钮弹出来,上面有我的两岁孩子都可以遵循的说明来设置所有这些。它花了不到一分钟,并且从那以后从未出现过问题。与 Linux 中可以让我完全控制的解决方案相比,我正在失去的功能数量肯定很长,但这并不是我想要的。我想要的是简单、快速和傻瓜式的。Windows 交付了这一点。

“部分问题在于,由于 Linux 一直是业余爱好者和程序员最喜欢的操作系统,人们认为你必须是业余爱好者或程序员才能使用 Linux。”

这根本不是真的。人们不切换是因为没有令人信服的理由切换。唯一抱怨 Windows 的人是对计算机有更深入了解的人,以及为什么某种行为让他们恼火。根据定义,这些人是程序员和业余爱好者。我的妈妈不在乎使用正则表达式来节省 8 秒的电子邮件格式化时间。

“而正确的反应是意识到,虽然大多数硬件在 Linux 下都能轻松工作,但这件特定的硬件却不行。解决方案是简单地在商店里换成能用的东西。”

我不确定你在说出这样的话后如何保持严肃。你基本上搬起石头砸了自己的脚。如果它在 Linux 上不起作用,就无法使其工作,因此你告诉人们开车返回商店并再次尝试。绝大多数人,包括那些有 Linux 经验的人,如果他们必须开车去百思买或等待三天才能从 Newegg 获得东西,结果却无法工作,然后开车返回或寄回,他们永远不会在家中使用它。一切都在 Windows 或 OSX 中工作,因为 > 95% 的家庭使用它,并且将在很长一段时间内继续这样做。如果这两个操作系统中的任何一个出现问题,都有一个解决方案不需要你开车返回商店或等待一周进行更换。这并不意味着它总是易于安装,因为有时并非如此。但是没有猜测游戏。每家商店的每个盒子上都列出了它适用于哪些 Windows 和 OSX 版本,这就是重点——你不必搜索它是否适用于它们。你必须搜索它适用于哪些版本,即使这通常是毫无意义的,因为向前兼容性是典型的。此外,并非所有东西在 Linux 中都能“轻松工作”。我家中的硬件甚至有 50% 的不支持。其中一半在 Windows 中几乎无法工作,即使有实际支持并且在你遇到问题时可以拨打电话。当我的打印机无法在 Linux 中安装时,我该给谁打电话?戴尔没有人接受过处理这个问题的培训,所以如果我无法弄清楚或花时间编写自己的驱动程序,那么我必须购买新的硬件。我无法让我的打印机在 Windows 中工作,所以在收到足够的电子邮件和电话后,我得到了来自一位实际程序员的支持,他们在他们的软件中修复了一个错误。你在 Linux 中获得错误修复的唯一机会是,如果某个家伙在他妈妈的地下室决定回复邮件列表上的帮助请求,并且这假设你甚至可以找到正确的邮件列表。普通用户绝对不知道如何启动对话。你应该尝试致电 Apple 或 Microsoft,如果你有问题。你玩传递游戏并与几个人交谈,但你可以解决你的问题。如果这是一个紧迫的问题,你可以付费并获得直接参与编写软件的人的即时支持。我做过。Linux 中不存在此选项,因此即使是紧急情况,你也无能为力。

我们大楼里有一个由 30 名程序员组成的团队,专门负责 Linux 支持。我们没有 Windows 支持,因为我们使用 Microsoft 支持热线来解决这些问题。我的公司是一家 500 亿美元的公司,因此支付人们整天坐在小隔间里弄清楚 Linux 中哪里出了问题符合我们的最佳利益。你在家做不到这一点,所以正如你所说 - 拿回去再试一次 - 大多数人不愿意这样做。当 Linux 不需要你拿回去再试一次时,那么它可能会变得更主流。Linux 并不更好。抱歉。

我只想向两位先生指出,他们给出了 Linux 很难的例子,他们正在使用非长期支持版本。

无法使用你习惯的专有软件 *确实* 是一个完全合理的“这对我不起作用”的问题;但这很难说是对 Linux 本身是“容易”还是“困难”的抨击。

关于 Linux “要求”你退回 [硬件]——当然,它不会,就像 Windows 一样。你可以自由地深入兔子洞,使任何给定的驱动程序支持不佳的设备工作,就像你在 Windows 中一样。不同之处在于“支持且工作”和“不支持,也许你最终可以使其工作,也许不能”之间的明确界限。

我从未说过我正在使用的版本,所以你基本上是捏造了这句话。反正这也没关系,因为我最初的观点,即每个发行版都有细微的,以及不那么细微的差异仍然成立。我还将此作为 Windows 和 OSX 的一个问题引用,但至少这些操作系统对变量少得多的平台具有广泛的支持,这是经过设计的,因此普通人至少有机会弄清楚它。如果它在 Linux 中不能“轻松工作”,如果你的计算机知识在 IT 专业人员级别之前就停止了,那么你基本上就完蛋了。

这篇文章是关于 Linux 最初很难,然后它变成了 Linux 是更好的选择。我从未抨击 Linux 没有原生支持我的打印机。我将其作为一个原因引用,说明它不是为普通人准备好的解决方案,这才是重点。你自己说过,区别在于“支持且工作”与“不支持且可能最终工作”。我什至不明白为什么这是一个讨论点——我们正在讨论一个为大众准备好的操作系统。支持且工作实际上是唯一的选择。

对于大量设备没有驱动程序支持,因此这实际上是需要退回硬件的整个问题。文章建议退回硬件是一个合理的解决方案,我正在揭穿它不是任何人的合理解决方案,更不用说新手了。

我觉得你错过了重点。没有人说 Linux 糟糕或任何接近糟糕的话。大卫和我正在给出例子,说明为什么这篇文章得出这个结论是错误的:“这使得 Linux 成为更好的选择——而不是更困难的选择。”

你自己说过它比它应该的难度大得多,所以显然你明白。

我指的是你关于使用 Fedora 遇到困难的评论——Fedora 与 RHEL 之间的区别在于“前沿”和 LTS。

现在 IT 领域的一切都比它应该的难度大得多,不仅仅是 Linux、Windows 或 Apple——这主要是因为计算,尤其是个人计算,仍然是一个新兴产业。(你最初可能会对此嗤之以鼻,但是——这里必须引用汽车——将斯图贝克或帕卡德与现代汽车进行比较。这是一个最佳的行业年龄比较;如果你从第一台个人电脑而不是第一台工业电脑开始,情况会变得更糟。)

"Linux是更好的选择" 是一种个人观点,而不是事实陈述,而且它肯定太笼统了——对于很多人和各种各样的原因来说,Windows 或 Apple 才是更好的选择。

我个人不认为硬件支持是其中之一;有很多硬件完全受 Linux 支持,而且并不比不受支持的硬件更昂贵。当你深入了解时,实际上很少有硬件是 Microsoft *支持*的,Apple 支持的就更少了(少得可怜)——你只能听天由命于任何碰巧推出硬件的随机供应商,而且体验往往离好差得很远,更不用说一致了。

就支持而言……说 Linux 几乎没有或根本没有支持是一种错误的二分法;事实上,你可以像从微软或苹果购买支持一样,从 Linux 供应商那里购买支持合同。

Linux 可能永远不会为大众做好准备。 事实上,Linus 本人也暗示了这一点。

他当时正在给一个计算机俱乐部(我想是在加利福尼亚州的户外阳光下)做讲座。 观众席上有人问关于 50 年后的 Linux。 Linus 以他一贯的谦逊回答。 他不知道。 他只是耸耸肩,随意地推测了一下。 也许 Linux 内核最终会变成文档。 这对我来说有些道理。

David

<ul><li>在我看来,[Linux] 仍然比它应该的难度要大得多。</li></ul>

我肯定同意这一点。 当涉及到 IT 时,一切都仍然比它需要的难度要大得多。 :)

人们如何才能有意义地区分熟悉度问题和真正的易用性问题?
我为一些没有真正技术专长的老年人设置了运行 GNU/Linux 的计算机。 他们不知道是否/如何/为什么它们与微软的机器不同。(而且还有相对免疫病毒的额外好处……是的,病毒是存在的。但真的吗?你曾经在野外遇到过病毒吗?)
这又是在重复一些熟悉的论点。 当微软系统出现故障时,这是可以接受的,我们已经习惯了。 然而,当 GNU/Linux 发生这种情况时,那一定意味着 GNU/Linux 还没有为桌面做好准备。

大约 7 年前,我停止在家中使用微软系统。 现在当我使用微软系统时,我发现有些事情有点令人困惑和恼火。 程序似乎被安装在任意位置。 查找软件和驱动程序有点像寻彩蛋游戏。 很多人都习惯了,所以他们不抱怨。 我发现有签名的、高质量的软件仓库要令人安心、放心、值得信赖和更受欢迎得多。
我曾遇到过声卡在 Linux 上开箱即用,但在微软系统上却需要搜索驱动程序。
我曾遇到过局域网上的微软机器无法/不愿与网络打印机一起工作(而且还有一个内部的 IT 微软专家也搞不定)。

至于可以向谁推荐 Linux……
对于“奶奶”——GNU/Linux——确保网页、Java、Adobe 和多媒体插件工作正常,然后就不用管了。
对于“简阿姨”——嗯,也许她更熟悉 Windows。 你可能会不断听到“Windows Media Player 在哪里?”,“我想念 IE”,或者“这个需要 ActiveX 的网站就是不能工作,你装在我电脑上的这个程序有什么问题???”
有很多混杂的变量——可以向谁求助? 你的朋友、熟人使用什么? 人们更能应对他人习以为常的常见问题,还是更能应对超出自己经验范围的新颖错误?
为了有意义地讨论这个问题,似乎需要某种指标来区分、统计和排序易用性因素与熟悉度/接受度因素。

这是一个笑话。 笑一笑。 ;)

虽然这个漫画有些夸张,但作者正在攻击这种夸张,但在我看来,他完全没有抓住重点,而这个重点是对整个 OSS 社区的讽刺,在 OSS 社区中,“./configure;make;sudo make install”被认为是适用于所有人的有效且可行的安装程序。 事实并非如此,而这才是问题所在。

假设每次安装都拥有构建软件的所有工具并非总是有效,也不应该是这样。 当然,有一些仓库可以解决这个问题,而且它们确实有效,但从文化上讲,人们对使用 Linux 而不从源代码安装存在一种耻辱感,这印证了 TheOatmeal 的观点。

虽然从技术上讲,不再需要懂 C 语言和自动工具来安装 Linux,但对于那些不能或不愿意这样做的人,仍然存在社会/社区的污名。

我不确定你为什么认为从源代码编译仍然被认为是“适用于所有人的可行安装程序”。 你甚至在过去五年多里*安装*过 Linux 系统吗?

自从七年前将我自己的工作站从 Windows 切换到 Ubuntu 以来,我*一次* *都* *没有*需要从源代码编译非专有软件。 同样,在同一时间范围内,我也没有在我的任何生产 Linux 服务器上从源代码编译过任何软件。

不仅仅是我安装了 Linux,在过去的 5 年里,我反复这样做。 有很多软件包,除非你从源代码构建,否则你无法保持最新。 其他软件包从 Repo 选项安装,可用性和可用性参差不齐,还有一些软件包根本无法工作。 你可以对此虚伪地狡辩,但绝大多数 OSS 项目都分发源代码,然后由 repo 维护者负责在 repo 中更新这些源代码。 这种延迟可能是几个月,甚至永远。

举个例子,我花了很多时间监控一个流行的 OSS RDMS IRC 频道。 几乎每周都有 Ubuntu 用户在使用非源代码安装时遇到问题。 其他发行版的问题较少,但通常至少落后当前版本一个版本。

你可以争辩说这是一个例外,但我的经验是,这是常态。 我怀疑我在这方面是独一无二的,而且这还没有提及需要根据已知的良好 Linux 硬件来做出良好的硬件选择,而不是需要修改内核或制作依赖项的前沿硬件……

是的,我认为你——绝对是——例外。

我也很好奇你到底认为软件包“保持最新”意味着什么——根据大多数定义,那意味着“与你的发行版的仓库保持‘最新’”。 如果你所说的“最新”是指“绝对与供应商网站上的最新小数点版本一致”——好吧,按照大多数标准,那不是“最新”,那更像是“beta 版”。

仓库不仅仅是为了为你编译代码而存在的,它们还提供 QA(与发行版相关的和其他方面的)、集成和安全测试。 它们还提供专门针对旧版本软件的安全后向移植,以便提供一个更稳定的环境,你可以在其中构建更多软件,以可靠地依赖给定的环境。

我不是在虚伪——我想在此指出,“虚伪”是“不诚实”的同义词,并且是一个相当冒犯性的指责。 我重复一遍,在过去的七年里,在 Debian 或 Ubuntu Linux 上,无论是在工作站还是服务器上,我总共没有编译过任何非专有软件包。

当“最新”被定义为“供应商网站上提供的最新版本”时,“落后于最新版本”是一项功能,而不是错误。

在你对他的“指责”感到恼火之前,你应该查阅一下“虚伪”这个词的定义,顺便说一句,根据你对这篇文章的回应,这个词非常适合你。

举个例子:我不知道你为什么认为自己有资格判断某件事是否是例外。 他的经历与我的经历非常相似,所以我想我也是一个例外。 真正的问题是你没有任何数据来支持你的主张,所以你期望我们相信你的话,认为我们的经历在某种程度上是不寻常的。 这几乎是教科书式的虚伪定义。

dis·in·gen·u·ous/ˌdisinˈjenyo͞oəs/
形容词
不坦诚或不真诚,通常是通过假装自己对某事的了解比实际了解的要少。
同义词
不真诚 - 虚假的 - 狡猾的 - 空虚的

至于我为什么认为自己“有资格判断”某件事是否是例外:我目前维护着 7 台个人电脑和 50 多台 Linux 服务器,所有这些服务器都不需要自定义编译的软件(除非你算上内部开发的软件)。 这包括 Alexa 排名前 5,000 的网站——我提到这一点只是为了避免不可避免的“世界上不仅仅有你的个人博客网站”的回应。

非常非常少的人*需要*给定软件的绝对最新版本……即使是那些使用其他软件包作为依赖项来构建自己软件的开发人员也是如此。 很多人争先恐后地追求最新版本,但这绝不会改变这一点。

我认为 Dru 一针见血地指出了为什么会出现这种“赶新变化”的情况。 除非在维护发布分支并对其应用错误修复的极度运转良好的团队中(这种情况往往只发生在非常大型的软件中),否则开发人员对用户说“只需使用新版本,你抱怨的所有错误都在那里修复了”要容易得多。 另一个原因是开发人员使用大型软件包的最新版本,因为这再次比支持软件包的各种版本容易得多。 所以我的观点是,“爷爷”用户可能只使用大型软件(firefox 等),但当你稍微提升到“高级用户”的级别时,他们喜欢使用的工具和软件包会变得更小、更专注,因此(不一定但通常)“编写和维护得不太好”(就他们不太关心版本控制和依赖项版本控制而言)。 这些人很可能就是访问本网站的那群人,因此他们正在抱怨你最初关于易用性的陈述 :)

“有很多软件包,除非你从源代码构建,否则你无法保持最新。”

因此,你*无法*“保持最新”专有供应商内部源代码仓库的最新源代码是一个*功能*,但是构建开源供应商公共源代码仓库的最新源代码需要一些工作和技术专长是一个*缺陷*? 你的想法真奇怪!

我偶尔会从源代码构建,在修复了一些困扰我的错误之后——并且非常感谢我有这个选择! 如果你不懂技术,你可以花钱请懂技术的人为你做这件事,如果这对你来说值得(无论是个人还是业务方面)。

在糟糕的旧时代,我不得不修补二进制文件来修复错误。 呜! 即使有高级支持合同,供应商似乎也永远无法解决你的问题——除非你是大型企业。

> 但构建最新源代码需要一些工作和
> 技术专长
> 开源供应商公共源代码仓库是一个
> *缺陷*?

嗯,如果编译源代码比实际需要的更难,那就是一个“缺陷”——在我看来,通常情况并非如此。

如果供应商的*目标*是直接支持最终用户,那么对于供应商来说,这是一个“缺陷”,而不是对于发行版来说,因为如果供应商这样做,那么供应商真的应该要么在主要的发行版中维护他们的软件包,要么至少应该在他们自己的网站上提供友好的二进制软件包(RPM 或 .deb)。

> 我偶尔会从源代码构建,在
> 修复了一些困扰我的错误之后——
> 并且非常感谢我有这个选择!

选择总是好的,我真诚地希望没有人会反对这一点。 我也修复了源代码中困扰我的东西,然后提交回上游。 有一两次,我拙劣的修复甚至被接受了。 =)

我并非暗示不诚实,我的意思是,你只是说你的常态是普遍的常态,而我不相信是这样。

你很容易承认,无论是在最初的文章中,还是在随后的评论者回复中,你都在缩小你的使用参数。 你正在使用 Linux 的“长期支持”版本,并且可以接受使用非最新版本的软件。

看看你的 PostgreSQL “官方”仓库,当前版本是什么? 它是否与 PostgreSQL.com 的当前版本同步? 它是由 PostgreSQL 爱好者打包的(我上次安装 Ubuntu 时不是,那大约是一年前,我倾向于更喜欢 RHEL)。

至于你关于 QA 的论点,我只能假设你将 QA 视为“错误已记录的旧软件”,而不是“具有不同且记录较少的问题的最新软件”,因为我没有看到任何 repo 以 QA 的名义对 OSS 核心软件包进行明显的更改。 他们只是在打包代码,就像代码在某个时间点存在的那样,或者因为舒适度而坚持使用旧代码。

我不否认,如果你的使用范围狭窄,你不需要保持软件的最新状态,并且你在硬件购买方面有良好的研究技能,那么你可以在 Linux 世界中无需从源代码构建任何东西而生存。

另一方面,如果你进入 IRC 频道或邮件列表寻求支持并向居民寻求帮助,在大多数情况下,你将被指示做的第一件事是保持最新。 然后他们会提供帮助,如果需要,通常会为你修改代码,但你必须准备好使用 SVN 或 GIT、./configure 和 make 来安装它。

你没有经历过这种情况真是令人惊讶,这也证明了情况的改善。 是的,repo 在过去 5 年里取得了长足的进步,但在我看来,它们仍然有很长的路要走,是的,我相信,除非二进制发行版成为开发人员普遍接受的规范,而不仅仅是发行版的规范,否则“消费者” Linux 的问题不会消失。

> 我并非暗示不诚实

谢谢,我感谢你的澄清……但请你仔细阅读上面复制粘贴的定义;“虚伪”是一个非常具体的词。

> 另一方面,如果你进入 IRC
> 频道或邮件列表寻求支持并询问
> 居民寻求帮助,第一
> 你将被指示做的第一件事是保持
> 在大多数情况下保持最新。

对此我没有异议! 但你进入的是哪个频道? 如果它是相关软件包的开发人员维护的频道,那么他们*当然*会希望你安装他们的最新版本。 如果是 #debian 或 #ubuntu,他们更经常会希望你 apt-get update && apt-get upgrade。

> 我没有看到任何 repo 进行明显的
> 以 QA 的名义对 OSS 核心软件包进行更改
> 的更改。

这在某种程度上取决于你如何定义“QA”,我想——repo 非常频繁地将安全修复程序向后移植到旧版本的软件,同样,它们也非常频繁地进行与集成相关的更改。 发行版维护者还必须正确设置依赖项和冲突,并进行修补以说明所需文件的位置等等。

你可能想问自己一个问题,那就是*为什么*发行版要将安全修复程序向后移植到旧版本,而不是仅仅编译最新版本并随意将其扔到 repo 中? 显然,仅仅编译供应商网站上的任何内容要比实际进行并修补旧版本的工作量要少得多……那么为什么他们不完全这样做呢?

答案是*为使用发行版的人们提供更稳定的环境*。 当你不断从供应商(如果你愿意,也可以说是作者)那里引入新版本时,你也更有可能引入新错误,并破坏使用该软件包作为依赖项的软件可能依赖的功能。 所有这些都会增加维护成本和神话般的“典型用户”的挫败感。

当你处于“好吧,我想用最新的东西做最新的事情,我只是想要一切都是新的!”的心态时,这会非常令人沮丧,但另一方面,当你处于维护自身稳定环境的位置时——无论是你家人的小型网络还是你公司的创收服务器场——你都会很快看到更有组织和可预测的发布时间表的好处,你可以围绕它进行计划。

既然你坚持要为这个词生气,也许你应该使用真正的词典而不是谷歌。

dis·in·gen·u·ous   [dis-in-jen-yoo-uhs]
缺乏坦率、坦诚或真诚; --->虚假或伪善的天真<----; 不真诚

多种定义……我标记了重要的一个,因为你遇到了麻烦。

你正在从虚假的知识立场发言。 “50 多台”甚至不具有统计学意义,也不令人印象深刻。 试图说服人们你拥有实际的统计数据或丰富的经验来利用,充其量是虚伪的。 我认为他已经很客气了,因为我会用另一个词。

“‘50 多台’甚至不具有统计学意义,也不令人印象深刻。”

这是一个关于“发行版”定义的问题,而不是统计数据。 “发行版”是一个打包和集成的产品,因此不需要手动编译。 根据定义。 即使在安装过程中进行编译的发行版(例如 gentoo)也会自动执行此操作,因此最终用户无需执行任何额外的操作(只是需要更长的时间)。 因此,在没有任何样本数据的情况下,我可以权威地声明,如果你正在使用“发行版”并且经常(或根本)手动从源代码编译东西,除非你戴着开发人员的帽子,否则你要么需要找到更好的发行版,要么就是不清楚这个概念。

我认为这里存在相当多的“不清楚这个概念”——或者至少,“不清楚*优点*”——的情况。

你几乎完全错过了我帖子的重点,并且似乎跑题到了我从未暗示过的东西。 这与“发行版”这个词的定义无关。 而是关于安装、维护和通常处理 Linux 的平均体验。 这是包罗万象的,当然不特定于任何一个发行版或一种安装类型。 我也从未在我的任何帖子中说过任何关于从源代码编译的内容。 我喜欢在互联网上与那些把话塞进我嘴里,然后用它们作为他们下一个观点的杠杆的人争论。 然而,即使我说过任何类似于你所暗示的东西,你也不能权威地说任何话,因为你完全不知道我在电脑上做什么,也不知道你有任何数据表明你知道大多数人在他们的电脑上做什么操作系统。

顺便说一句,你为什么要将“Unclear”和“Concept”这两个词大写? 你并没有通过随机大写字母给它们任何额外的特殊含义。

Anthony,你一直在指责没有人用硬数据来支持他们的陈述——但你也没有。

我们都只是在这里交流意见。

我会坚持我最熟悉的环境,但让我们以你选择的 RDBMS 为例。 你安装了你的发行版,然后开始工作。 你遇到了一个错误,然后跳到所述 RDBMS 的 IRC 支持频道。 你解释你的问题,得到的回答是,“你正在运行哪个版本?”。 当你回答时,那是发行版仓库中当前的那个版本。 比如 Ubuntu,和 PostgreSQL 8.4.2。 几乎每次发生这种情况,第一个建议都是更新到任何当前的稳定版本。

在这一点上,你不再处于 repo 领域,你现在处于开发者领域。

现在,不要因为这从不发生而激动。 这种情况确实经常发生,并且助长了 Linux 很难的污名。 严酷的现实是,在其他世界中,回应要么是等到下一次更新(例如,等待 Repo 更新),要么是 TSOL。

重点是,使 Linux 和开源对许多人有吸引力的那些东西,正是助长了人们认为它很难的看法。 要么 Linux 是不同的,而且很难,要么你正在使用 Dist 并停留在它的围墙花园内,并且放弃了 Linux 带来的大部分核心价值。 说 Linux 不难是可以的,只要你在前面加上限定条件“只要你停留在你的发行版的限制范围内”。 但是说 Linux 整体上并不难,并且没有缺点,就等同于戴上俗话说的玫瑰色眼镜,而忽略任何分散你想要看到的东西的东西。

在那个世界里,Ubunut、RHEL 等与 OS X 甚至 Windows 没有什么不同。 你受限于供应商支持的内容、他们的时间表,并且你很可能必须等到“下一个版本”才能获得修复。

“你安装了你的发行版,然后开始工作。 你遇到了一个错误,然后跳到所述 RDBMS 的 IRC 支持频道。”

通常,你会去发行版支持论坛寻求有关发行版随附的 RDBMS 的帮助。 如果发行版实际上不支持 RDBMS,并且你需要支持,也许你应该使用不同的发行版。 如果你真的想要直接来自 RDBMS 供应商的支持,请使用他们支持的发行版。 他们可能还为其他发行版提供付费支持,他们将在其中为你提供其产品的发行版仓库。 即使是包装良好的专有产品,如 adobe flash 和 reader,也有自己的 repo。

这只是另一个“你做错了”的例子。

感谢你确认了我帖子后半部分的内容,而实际上并没有说任何关于它的内容。 你实际上是在说,“发行版”是所有通过其 repo 提供的软件包的所有支持的根源。

欢迎来到大多数 F/OSS 支持者花费大量时间和精力试图打破的围墙花园。 你现在已经用一个公司霸主换了另一个,只是现在,你不仅说了发行版提供商对其工作(核心发行版)负责,而且还说了其他人的工作(他们在其二进制 repo 中托管的 F/OSS 软件包)负责

好吧,我做错了,我可以接受。

顺便说一句,我已经为大约 10 年的几个平台维护 OSS 软件包的二进制安装。 处理这个等式的两边都很痛苦。 期望发行版维护者能够支持他们通过其渠道重新分发的每个软件包的深奥问题是不合理的。

但是,嘿,我懂什么呢,我只是一个有观点的人。 哦。 等等……

> 你实际上是在说,“发行版”是
> 所有软件包的所有支持的根源
> 通过其 repo 提供。

没有人说过发行版是*根源*——但它们肯定是第一步,而且你从未提及完全通过你的发行版支持,你只是直接跳到供应商,好像没有其他地方可去一样。

此外,我一直在耐心地指出,你通常*可以*非常及时地获得最新版本,按照开发人员的标准,而无需完全离开你的发行版的 repo——或者(对于 Ubuntu 及其 PPA 和 Postgre 而言)至少无需离开共享、标准代码库的所有表象。

支持一个“擅离职守”并从源代码构建的用户(在这种情况下,开发人员也算作“用户”)实际上更困难,因为然后你就会想知道他们在编译时选项、可能的奇怪依赖项版本等方面做了什么等等——而如果你知道你的用户从某个标准位置安装了二进制软件包,你已经*知道*所有这些问题的答案,并且可以立即继续处理更有趣的事情。

所以,我想说的是,“做对”是

* 从 repos 安装
* 如果你有问题,首先通过你的发行版支持
* 如果你的发行版支持无法帮助你,那么再去供应商那里
* 检查后向移植和著名的 PPA,以查找足够新的软件包以满足供应商的需求(如果供应商要求升级)

哦,我理解你的意思,虽然我使用了 PG,它是一个尽可能大的软件包,所以它是最新的,但这个例子适用于许多没有那么大的软件包。 此外,你必须足够了解才能在标准 repo 之外查找以保持最新。 尽管如此,你要表达的观点是这样的。

如果你停留在发行版供应商提供的经过认可和批准的软件包范围内,Linux 就很容易,如果你需要支持,发行版供应商是你的第一线支持。

所以,我想问,这比 iOS 及其受诟病的围墙花园更好甚至更不同吗?

应用商店作为 repo,苹果作为发行版供应商,苹果作为主要的支持线。 哦,等等,苹果不是第一线支持,开发人员才是。

老实说,在这一点上,你自己的论点使围墙花园听起来与开放平台一样好甚至更好。 你已经确定,即使在 Linux 上要变得容易,你也必须停留在围墙花园内,从而验证了通常用于使封闭平台无效的所有内容,以及你试图揭穿的核心观点。

Linux 很容易,如果你不利用它的自由。 如果你走出那个花园,那么事情就会变得非常困难,但让我们不要承认这一点,因为 Linux *可以*很容易。

Creative Commons License本作品根据知识共享署名-相同方式共享 3.0 未本地化版本许可协议获得许可。
© . All rights reserved.