Linux入门:Linux != Windows( Linux 不是 Windows)

Linux != Windows( Linux 不是 Windows)

Derived works

如果你访问了这个页面,那么十有八九你是一个 Linux 的新用户,你正遇到许多关于如何由 Windows 转向 Linux 的困惑,这篇文章的目的正是向新手解释这个问题。由于这个大问题衍生出许多枝节,下面我将对此逐一进行讨论。

问题一:Linux 和 Windows 完全不一样

你一定会惊讶于有这么多人对 Linux 发出相似的抱怨,他们奔向Linux,希望找到一个免费的、开源版的 Windows。通常,这正是那些狂热的 Linux 使用者所告诉他们的那种状况。然而这却是个荒谬的期待。

人们尝试 Linux 的原因不尽相同,但所有的原因都可以归结为一点:他们希望 Linux 会比 Windows 更优秀。正是出于这一点,Linux的低成本、更广阔的选择范围、高性能和高安全性——当然,还有许多其它的方面——被作为与 Windows 比较时的衡量标准。往往每一个开始尝试 Linux 的Windows 用户都是如此。

这正是问题之所在。

太多的人都忽略了这样一个事实:从逻辑上讲,在保持某样东西与参考物完全相同的前提下,将其做得更好是绝无可能的。正如一个完美的复制品将与它的母版毫无差异,但是它不可能会超越原版。所以当你抱着 Linux 的使用方式该和使用 Windows 差不多的观念而尝试 Linux,并希望它能够做得更好,你便会不可避免地发现他们之间的不同,并且把这些不同之处看作是 Linux 的缺陷。

举一个简单的例子,让我们来想一想驱动程序的升级吧:通常的情况下,倘若我们要在 Windows 下升级某个硬件驱动,我们需要去硬件制造商的网站上找到并下载最新的驱动;然而在 Linux 下,我们只须简单地升级内核即可。

这意味着在 Linux 下,仅仅一次下载和升级便能提供所有适用的最新驱动,然而在 Windows 下我们却不得不浏览多个网站并分别下载升级程序。这是一个不同的过程。并且显然,这绝不会是一种糟糕的体验。然而却有很多人对此抱怨不停,只因为这不是他们所习惯的方式。

或者从另一个更经常接触到的例子来看,想一想 Firefox ——开源软件最伟大的成功案例之一。这是一个席卷全球的浏览器。它是通过模仿 IE —— 那个”最流行的浏览器”而取得成功的吗?

不。它的成功是因为它比 IE 更好。它之所以更好正是因为它的不同。它有标签页浏览方式,实时动态的书签,内建搜索条,PNG(一种图像格式)支持,adblock扩展(屏蔽广告插件),以及其它美妙的东西。”查找”工具条显示在底部的工具栏中,它能够查找你键入的内容并且以红色标识表示没有相匹配的内容。而 IE 却没有标签页浏览,没有RSS订阅功能,搜索条只能通过第三方扩展实现,它的查找对话框还得通过点击”确认”按钮开始查找,而且还要再点击一次”确认”才能清除”未发现”的错误提示。这无疑地证明了一个开源的应用程序通过”不同”而做到了”更好”,依靠”更好”进而取得了成功。如果 Firefox 只是一个 IE 的克隆,它必然早已销声匿迹于 IE 的阴影之下了。如果 Linux 是 Windows 的一个克隆,同样的事情也会发生在 Linux 身上。

因此,解决这个问题的关键在于:记住在 Linux 中那些对于你的使用习惯来说熟悉的部分,并非说明 Linux 是新版的和改进版的 Windows。积极地面对那些不同之处,因为只有不同,Linux 才有机会真正闪耀出其光彩。

问题二 : Linux 和Windows 太不一样了

当人们期待着 Linux 有所特色时,又一个问题接踵而至。Linux 和 Windows 实在是太不一样了,一些差异简直让人难以适应。也许最典型的例子就是可供 Linux 用户选择的东西实在是太多了。对于一个刚上手的 Windows 用户,他已拥有一个经典的或 Windows XP 风格的桌面主题、写字板程序、IE 浏览器,Outlook Express;然而对于一个初学 Linux 的家伙,他面前有上百种发行版供其挑选,然后,是 Gnome、KDE 或者 Fluxbox(桌面环境),vi、emacs 或者 kate(文本编辑器),Konqueror、Opera、Firefox 或者 Mozilla(网页浏览器),或者其他一系列可供选择的工具。

Windows 用户不曾为了安装和使用(操作系统)而面对过如此丰富的选择。”有必要提供那么多种选择吗?”这类抱怨的帖子很常见。

Linux 真的和 Windows 有那么大的区别吗?不管怎么说,它们都是操作系统。它们都做同样的工作:操作你的计算机,让你有个运行应用程序的东西,自然它们多少都有些共通的地方吧?

让我们从这个角度看问题:出门看看路上行驶的各种不同车辆。所有的车辆不管是什么样的设计,都有同样的目的:从路上把你由A处运到B处。注意它们有着不同的设计。

但你可能会认为,汽车之间的区别很小:它们都有方向盘、踏板、换档杆、手刹、车窗、车门和油箱。如果你会开这辆车,你就可以开任何车。

[En]

But you would think that the difference between cars is very small: they all have steering wheels, pedals, gearshift levers, hand brakes, windows, doors, fuel tanks. If you can drive this car, you can drive any car.

确实如此。但你有没有见过有些人不开汽车,而改骑摩托车吗?

从一个版本的 Windows 切换到另一个版本就像从一辆汽车换到另外一辆汽车。Win95 到 Win98 ,老实说我看不出有什么区别。Win98 到 WinXp,差别比较大,但也没有什么真正重大的区别。

但是从 Windows 切换到 Linux 就象从开汽车切换到骑摩托车。他们都是操作系统(交通工具)。他们可能都使用同样的硬件(道路)。他们可能都提供一个运行应用程序的环境(把你从甲地运到乙地)。但他们使用本质不同的两种方法来达到目的。

Windows(汽车)对于病毒(小偷)并不安全,除非你安装反病毒软件(锁上车门)。Linux(摩托车)却没有病毒(车门),所以即使你没有安装反病毒软件(没锁车门)也非常安全。

让我们反过来看一看:

Linux(汽车)从根本上用于多用户(乘客们)。Windows(摩托车)用于单用户(乘客)。每个 Windows 用户(摩托车驾驶员)每时每刻都要习惯集中精力控制他的计算机(车辆)。而一个 Linux 用户(汽车乘客)只有在以 root 根用户身份登录(坐在驾驶座上)时才要去控制计算机(车辆)。

为了通过两种不同的方式实现同样的目标,它们各有优缺点:当将家人和大包货物从A带到B时,汽车显然是一个明智的选择:因为它有足够的座位和足够的存储空间。对于从A地到B地的人来说,摩托车是更好的选择:它不太可能遇到交通堵塞,而且消耗的燃料更少。

[En]

To achieve the same goal in two different ways, they each have their own advantages and disadvantages: when carrying family members and large bags of goods from A to B, a car is obviously a wise choice: because it has plenty of seats and enough storage space. For a person from place A to place B, a motorcycle is a better choice: it is less likely to encounter traffic jams and consumes less fuel.

无论是选择摩托车还是汽车,还有很多事情是不会改变的:油箱里要加油,汽车要同路行驶,要服从红绿灯,转弯前要亮转向灯,还要按照限速指示行驶。

[En]

Whether you choose a motorcycle or a car, there are still a lot of things that won’t change: you have to put fuel in the tank, drive the car on the same road, obey the traffic light, turn on the turn signal before turning, and you also have to follow the speed limit instructions.

但毕竟有很多不同之处:驾车者不必戴安全帽,骑摩托车的人不必系安全带;驾车者转动方向盘,骑摩托车的人倾斜以改变重心;驾车者需要踩油门踏板才能加速,而摩托车通过转动手柄来控制加速。

[En]

But after all, there are a lot of differences: motorists don’t have to wear safety helmets and motorcyclists don’t have to wear seat belts; motorists turn the steering wheel and motorcyclists tilt to change their center of gravity; motorists need to step on the accelerator pedal to accelerate, while motorcycles control acceleration by turning the handle.

一位汽车司机如果试图通过转移重心来拐弯,很快就会陷入一堆麻烦中。同样的,一个 Windows 用户如果认为自己的经验可以直接派上用场,结果也会因为相同的原因而徒劳无获。事实上,较之电脑新手,一个 Windows “高级用户”在 Linux 的使用过程中常遇上更多麻烦。那些经验丰富的 Windows 用户在面对问题时,如果无法解决,常会觉得”如果我这么有知识的,都搞不定,那新手就更不别想了”,因而得出”Linux离桌面应用还有十万八千里呢”的强烈想法。但这显然是与事实不符。

解决方法在于:Windows 用户必须意识到他只是一个有经验的 Windows 用户,而不是有经验的电脑用户,Windows 用户必须意识到当自己在尝试 Linux 时,他又成了一个新手。

问题三: 文化冲击

子问题 A : 那是一种文化

Windows 用户或多或少地处于一种消费者和供应商之间的关系:他们花钱买软件,获得授权,得到支持,等等。他们希望软件能够有确切的可用性。因此他们习惯于去得到使用软件的权利:他们花钱去得到技术上的支持以及他们得到他们想要的权利。他们也经常要与一些除了个人之外的实体打交道:例如他们与一家公司签一份合同。

Linux 用户有着更多的一致性。他们不需要花钱去买软件,不需要为得到技术上的支持而耗费财力。他们免费下载软件,并且使用在线聊天工具和到论坛去寻求帮助。他们和个人打交道,而不是公司。

一个 Windows 的用户如果只是把他的观点带到 Linux 中,那么他是不会喜欢上 Linux 的,这需要慢慢地适应。

引起矛盾的最大原因在于在线交流方面:一个初学 Linux 的菜鸟在遇到问题时寻求帮助,当他没有得到他可以接受的答案的时候,他便开始抱怨并且想要得到更多的帮助。因为这正是他以前用付费来获得帮助的方式。问题就是这不是付费提供帮助的系统。而是很多热心人发自内心地帮助其他人解决问题的系统。一个新的用户没有任何权利去向这些热心人索要帮助,这就如同一个想要得到施舍的人,还要求从捐赠者那里获得更多的捐赠品一样。

同样,一个 Windows 用户习惯了使用商业软件。这些软件在没有做到足够的可靠性、功能性以及对用户友好的界面之前,公司是不会发布该软件的。因此这正是 Windows 用户希望软件是从1.0 版本开始的。而 Linux 软件一旦重写就会立即发布,因此是从 0.1 版本开始的。这样的,真正需要这些功能的人就会马上得到它;感兴趣的开发者会来帮助改进代码,;以及社区就会知道接下来要做什么了。

如果菜鸟在使用Linux时遇到了困难,他会抱怨:这个软件没能满足我的需求,并且他认为他有权得到这样的满足。如果他得到这样带有讽刺性的回答:”如果我是你,我要求退款!”,他的情绪将会更差。

因此,为了避免这些问题,您应该这样做:只要记住,您没有向软件开发人员或为您提供在线技术指导的人支付任何费用。他们不欠你任何东西。

[En]

So to avoid these problems, you should do this: just remember that you are not paying any money to software developers or people who provide you with technical guidance online. They don’t owe you anything.

子问题 B : 新的 VS. 旧的

Linux 几乎是因黑客的业余爱好而诞生的。它的成长也使得易于它吸引了更多志同道合的黑客们。Linux 在获得一个易于使用的可用安装程序前一直默默无闻。在相当长的时间里,它在大众眼中只是一个极客(Geek)而已。可以说Linux”始于极客,馈于极客”。直至今日,大多数 Linux 的老用户仍自认为是极客。

这是一件非常好的事情:如果你的硬件或软件有问题,会有一大群极客不断地寻找解决方案,这是一个明显的优势。

[En]

This is a very good thing: if you have a problem with hardware or software, there will be a large group of geeks constantly looking for solutions, which is a clear advantage.

但长久以来 Linux 的成长仍旧十分有限。尽管存在一些可以被绝大多数人安装的发行版本,甚至一些版本基于 CD 并且与用户使用的硬件并无冲突。当 Linux 开始因其无病毒和廉价的升级而吸引一些非发烧友用户时,两大用户阵营间并不是没有摩擦,但双方都明了一点:对方都没有恶意,仅仅是缺乏相互理解而已。

首先,你面临的是核心极客们仍然假设所有使用 Linux 的用户们都是极客同志。这意味着他们认为所有人都对此有很深入的理解,这导致了他人控诉他们的一些行为是傲慢、自大和无礼的。事实上,有时如此。但大多时候却并非这样:”每个人都应知道”这样的善意表达被说成了”地球人都知道!”——大相径庭。

其次,您面临的是从您正在使用的商业操作系统切换的新用户。这些用户习惯于使用人机界面友好的软件,他们也是一个不确定因素。

[En]

Second, you are faced with new users switching from the commercial operating system you are using. These users are used to using software with a friendly man-machine interface, and they are also an uncertain factor.

这些问题源于不同使用习惯的冲突:第一组人沉迷于随心所欲地不断重构系统,而第二组人对操作系统如何工作漠不关心,只要它能工作就行。

[En]

Such problems arise from collisions of different usage habits: the first group of people indulge in constantly refactoring the system as they like, while the second group is indifferent to how the operating system works, as long as it works.

在乐高(Lego)玩具发生的类似的情况正好阐述这种问题。试想下面的情景:

老用户(以下简称”老”):您应该在利用积木组装一辆车,这才是乐高的真谛。

新:什么?我不知道如何组装这辆汽车。我不是机械师。为什么我要知道如何组装它?

[En]

New: what? I don’t know how to assemble the car. I’m not a mechanic. Why should I know how to assemble it?

老:盒子里有一本说明书。上面写着组装汽车的步骤。你不需要知道原理,只需一步一步地做就行了。

[En]

Old: there is a manual in the box. It says the steps of assembling the car. You don’t need to know the principle, just do it step by step.

新:嗯,我找到台阶了。这会占用我很多时间的!为什么厂家不能把它安装起来卖给我,让我自己做呢?

[En]

New: well, I found the steps. This will take up a lot of my time! Why can’t the manufacturer install it and sell it to me, and let me do it myself?

劳:并不是每个人都对把乐高变成玩具车感到满意。这些积木可以由我们组成所有的东西。这就是比赛的意义所在。

[En]

Lao: not everyone is satisfied with turning Lego into a toy car. These building blocks can be made up of all things by us. That’s what the game is all about.

新:我还是不明白为什么制造商不能给像我们这样想要车的人一个成品,而那些喜欢做的人如果想做就可以自己拆掉。不管怎样,我还是把它拼在了一起,尽管有些部件时不时地会掉下来。有什么我能做的吗?我可以把它们粘在一起吗?

[En]

New: I still don’t understand why manufacturers can’t give people like us who want a car a finished product, and those who like to do it can tear it down themselves if they like to do it. I put it together anyway, even though some parts fell off from time to time. Is there anything I can do about it? Can I glue them together?

老:这就是乐高。他就是用来拆装的。这才是游戏的真谛。

新:但我不希望总是拆拆装装,我仅仅希望一个玩具车而已!

老:呃,那到底您为啥买乐高玩具呢?

显然,对于那些只想要一辆玩具车的人来说,乐高不适合他们。以上场景不应该发生在你的生活中。乐高的价值在于,你可以在建造过程中享受乐趣,你可以把它组装成你想要的任何东西。如果你不想组装它,乐高显然不适合你。

[En]

Obviously, for those who only want a toy car, Lego is not for them. The above scene should not happen in your life. The value of Lego is that you can have fun in the construction process, and you can assemble it into anything you want. If you don’t want to assemble it, it’s obvious that Lego is not for you.

由于长久以来一直关注 Linux 的老用户,同样的问题在 Linux 上越发明显:它是开源的、完全可定制的软件集,这才是真谛。如果你不想修改一些组件,为什么自找麻烦来使用它呢?

与乐高出售成品玩具的做法略有相似,通过最近的一系列的成果提升了非黑客用户使用 Linux 的舒适性,这使得更广大的用户可以使用 Linux。也正因如此,你仍可以听到与上面相似的对话,程度也仅是略有不同。新用户抱怨老用户只考虑基本特性,他们不得不通过阅读手册才能实现一些功能。对太多发行版本的抱怨,对软件过多配置选项的抱怨和对运行时时常报错的抱怨不正如对乐高有太多模块的抱怨一样忽略了它可以被用来按你想发拆装成事实吗?

因此,为了避免这个问题:请铭记现在的 Linux 已今非昔比。Linux 社区最大的也是最关键的组成部分——黑客和开发者们,他们因 Linux 的可以按需定制而欢喜;他们也会可制定能力的丧失因而神伤。

问题四: 为设计者而设计

在汽车工业中,你很难发现一个人即设计车辆引擎也设计车辆内饰:这些是完全不同的技能。没有人想要只是看起来可以跑得很快的引擎,同样也没有人想要一个做工出众但狭小且肮脏的内饰。基于同样的道理,在软件产业,用户界面(UI)往往不是由软件编程人员设计的。

但在 Linux 的世界却大不相同:一个项目往往是因个人的兴趣而产生。个人也包办了所有的工作,因此这些项目的界面往往缺乏了”用户友好” 的特性:用户对这个软件了如指掌,所以他也就不需要了帮助文件等。vi 就是一个很好的例子,最初它的目标用户就是为那些了解它工作方式的人。因而设计者从来都没有想过如何用其他方式退出 vi ,所以新用户不得不靠重启计算机退出的事情时有发生。

但是,自由开源软件(FOSS)程序员与商用软件程序员的一个最重大区别在于, FOSS程序员的作品都是他们自己想要使用的东西。因此当作品不能被新用户”舒适”使用的同时,它又成为了最终用户最需要的东西:因为作者也是最终用的一员。商用软件的程序员却大不相同,他们总是为其他人编写软件,而且这些用户都不是专家。

所尽管 vi 拥有拥有一个令新手望而生畏的界面,但它仍然在当今流行,这又归功于他的界面:当你熟悉後就会发现它原来无比强大。Firefox 也是被经常浏览网页的人编写出来的。Gimp 同样是出自经常处理图形文件的人之手。不胜枚举。

Linux 的界面对于新手而言同样的有些”难度”。尽管 vi 名声在外,但他仍然不在那些需要快速修改一些文件的新手的考虑之列。如果你在一个软件生命周期的早期使用它,光鲜亮丽且友善的用户界面永远只高挂在”计划”列表之上:功能优先。没有人先雇好装修队再去找楼盘,程序员们都是实现功能再不断改进界面。

所以,为了避免这个问题:寻找那些已便于上手为目的设计的软件,或者接受那些与你使用习惯急剧不同的软件。抱怨 vi 对新手不够友好只是舍本求末罢了。

问题五: “用户友好”的神话

在电脑世界里,”用户友好”是一个十分广泛的专有名词。甚至有一个网络笑话就叫这个名字。但这个词却名不副实。

基本的实现听起来不错:软件的设计应该基于用户的想法和需求。这种方法一直被认为是单一实现,但事实并非如此。

[En]

The basic implementation sounds good: the design of the software should be based on the ideas and needs of the user. This method has always been regarded as a single implementation, but this is not the case.

如果你一生都在做文字处理,理想的软件是一个快速而强大的文字处理器,它能让你付出最少的努力来实现最大的生产力。简单的键盘快捷键和无鼠标操作将是最基本的要求。

[En]

If you have been doing word processing all your life, the ideal software is a fast and powerful word processor that allows you to put in the least effort to achieve maximum productivity. Simple keyboard shortcuts and mouse-free operation will be the most basic requirements.

但如果你很少做文字处理,只想写一封普通的信,那么你就不想学习如何操作键盘快捷键。条理清晰的菜单和清晰的工具栏图标是您的理想环境。

[En]

But if you rarely do word processing and you just want to write an ordinary letter, then you don’t want to learn how to operate keyboard shortcuts. Organized menus and clear toolbar icons are your ideal environment.

显然,您为一个用户的需求设计的软件可能不适合其他用户。这样一来,如果我们每个人对软件都有不同的要求,这些软件又怎么能自称“用户友好”呢?

[En]

Obviously, the software you design for the needs of one user may not be suitable for other users. In this way, if each of us has different requirements for software, how can these software call themselves “user-friendly”?

简单来说:”用户友好”并非事实,只是为了让复杂的情况看上去变得简单一点而已。

那么”用户友好”到底是什么意思呢?好吧,从那些使用这个词的文章中来看,”用户友好”的软件实际上意味着”该软件对那些以前从未使用这个软件的用户们来说也不是那么难上手”。这就使得那些看上去用户界面都差不多的软件都被归类为”用户友好”。

子问题 A: 熟悉的就是友好的

所以在大多数被认为”用户友好”的文字编辑 和文字处理的系统中,你的剪切和复制使用 “Ctrl+X” 和 “Ctrl+V” 来完成,这完全不直观, 但是每个人都习惯这些快捷键,所以他们把这当作”友好的”快捷方式。

如果有人使用 vi 并且发现里面 “d” 是剪切,”p” 是复制,这将被当成是不友好的:因为这不是大多数人习惯的方式。

但这是更好的方式吗? 明显是的。

如果使用”Ctrl+X”的方法,你怎样从你当前正在编辑的文件中剪切一个单词?(没有鼠标的前提下!)

你必须从开头的字符开始,用” Ctrl+Shift+Right”来选择单词.

然後”Ctrl+X”把它剪切下来。

vi中的方式呢?”dw”就是删除单词的意思。

如果要剪切 5个单词使用 “Ctrl+X” 方式会出现什么情况呢?

从开头的单词开始:

“Ctrl+Shift+Right”

“Ctrl+Shift+Right”

“Ctrl+Shift+Right”

“Ctrl+Shift+Right”

“Ctrl+Shift+Right”

“Ctrl+X”

要使用5个动作

在 vi 中的情况呢?

d5w

vi 方式具有更好的功能性和直观性 。”X” 和 “V” 并不是能够直观记忆”Cut”和 “Paste” 命令的,反之 “dw” 对于 “delete” 和 “p” 对于 “Paste” 更加直观,相对于 “X” 和 “V” 方面,vi 明显是更好的。可是由于她不是大家所熟悉的,因此她被认为是不友好的。并不是因为其他的原因,纯粹的习惯因素使得Windows成为了更加友好的系统。因此我们要学习问题一:Linux 和 Windows 完全不一样。告诉大家:不可避免,Linux 经常显得没有 Windows “友好”。

为了避免这个问题,你们要记住”友好”并不意味着习惯,试着用你的方式来做事,如果没有用的话,试着想想一个初学者会怎么做,然後你就知道了更简单的方法。

子问题 B: 低效的就是友好的

这是一个可悲但不可避免的事实。似乎你越想提高程序的功能,它看起来就越友好。

[En]

This is a sad but inescapable fact. It seems that the more you want to improve the functionality of a program, the more friendly it looks.

这是因为友好性是通过在用户界面中使用简单、可视化的”线索”实现的——越多越好。毕竟,如果一个完全的计算机新手被放到一个所见即所得的字处理软件前并被要求把一些文本变成粗体,接下来很有可能:

  • 他会认为 “Ctrl+B” 是通常的方法。
  • 他会寻找线索,并尝试点击 “编辑” 菜单。如果不成功,他就会从接下来的一系列菜单中尝试比较像的那个:”格式”。新的菜单有一个看起来很有希望的”字体”选项。嗨!这里有我们想要的”粗体”选项。成功了!

下次进行任何文字处理时,您都想尝试通过菜单完成所有操作:没有快捷方式,没有工具栏图标。菜单就是一切。当一项任务突然需要大量击键和鼠标点击时,你会发现自己比攀登慢。

[En]

The next time you do any word processing, you want to try to do everything through the menu: no shortcuts, no toolbar icons. The menu is everything. When a task suddenly requires a lot of keystrokes and mouse clicks, you will find that you are slower than climbing.

这样使软件变得”用户友好”就像在自行车上装辅助轮一样:它让你能马上骑起来起来,不需要任何技巧和经验。这对一个初学者来说是完美的。但是没有人会觉得所有的自行车都应该加上辅助轮销售。如果你今天得到这样的一辆自行车,我敢打赌你要做的第一件事就是除去这不必要的阻碍:一旦你知道怎样骑车了,辅助轮就没用了。

同样的道理,大量的 Linux 软件是设计成不带”辅助轮”(辅助工具)的——它是为已经有一些使用的基本技能的用户设计的。毕竟,没有人是永远的新手:无知是短命的,知识是永远的。因此 Linux 软件是以大量的知识为前提设计的。

这听起来也许像是借口:毕竟,MS Word(微软的Word)有全部的友好菜单,并且有各种工具栏按钮, 而且有快捷键……它是世界上最棒的。真的吗?友好且有效的。

然而,我们必须透过表象看问题。首先,这个想法的可行性:让一个软件拥有菜单、工具栏、快捷方式等一切意味着大量的源代码编写,而没人为 Linux 开发者花费的时间付帐;其次, 这样做依然没有真正考虑到那些高端用户;极少有专业的文字录入者使用MS Word。你见过哪个编程的人用 MS Word 吗?与此相比,想想有多少人用 emacs 和 vi。

为什么会这样?首先,这是因为某些”用户友好”的行为会导致低效:参看上面的”剪切和粘贴”的例子。其次,这还因为 Word 大部分的功能被放在了菜单里,因此你不得不使用菜单。只有某些最常见的功能可以作为按纽被放在界面的工具栏上。高级用户不得不花大量的时间来找到那些较少用道,但对高级用户来说依然很常用的的功能。

另外请记住,不管怎样,那些”辅助轮”在 Linux 软件中也同样有,尽管他们不是那么容易被发现,但实际在 Linux 中通常都会有。

以 mplayer 播放器为例。你可以在终端输入 mplayer 视频文件名命令来播放视频文件。你可以使用方向键,PageUp、PageDown键进行快进、后退等操作.这些可能还不能称之为完全的”用户友好”,但如果你在终端输入 gmplayer 视频文件名 ,你就会看到图形版的播放器,它同样拥有漂亮、友好的界面,熟悉的按钮。

再用从 CD 转换到 MP3(或 Ogg)为例: 如果使用命令行, 你需要先使用 cdparanoia 命令。然后你再需要一个编码器……这会是一个恶梦,就算你完完全全清楚如何使用 (imho) 包。所以,下载和安装 Grip吧。这是一个容易使用的图形软件,自动的在背后使用 cdparanoia 命令和编码器,令你的转换过程变得简单,甚至支持 CDDB,能自动为你的档案命名。

同样发生在抓取DVD上:选择正确的编码是一场噩梦。但是使用dvd::rip软件,可以在一个任何人都能操作自如的图形界面来完成整个编码过程。

因此避免这个问题:要记住”辅助轮”(辅助工具)仅作为Linux的扩展,而不是由主程序自动提供的。而且有时,”辅助轮”还不成为设计的一部分。

问题六:模仿 VS. 汇合

当人们发现 Linux 不是他们想要的 Windows 复制品时,经常争论一件事,就是坚持认为 Linux 一诞生,这就是(或应该是)其努力的方向,而且那些不明白这一点的人错误地帮助,使 Linux 更像 Windows。由于这一点,他们展开激烈的争论:

Linux 已经从命令行时代进入了图形界面时代,这是复制 Windows 的明显尝试。

不错的理论,但是错了:最初的 X 窗囗化系统(见附录)是于1984年发布,继承自1983年移植到 Unix 上的 W 窗口化系统。而 Windows 1.0 是在1985年才发布的。Windows 在1990年发布第三版之前并没有做大——那时,X 窗口化系统已经演化成我们今天使用的 X11 版本好几年了。Linux 在1991年才开始,所以 Linux 没有开发一个 GUI(图形用户界面)来模仿 Windows:它只是使用了一个在 Windows 出现之前就已经存在的 GUI。

Windows 3 系列让位于 Windows 95,后者带来了图形界面的革命性变化;在这以后很多年,微软都没能作出与此类似的创举。Windows 95 带来了多项创新的特性:拖放功能、任务栏等等。当然,这些也同样被 Linux 所借鉴。

事实上……不是这样的。上述所有的特性在微软使用前就已经出现了。尤其,NeXTSTeP(见附录介绍)是一个非常先进的图形用户界面(就当时而言),它明显早于 Win95 ──1989年发布了第一版,1995年发布了最后一版。

不错,不错,所以微软并没有想出被我们认为是 Windows 界面的独有特性。但它还是创造了一种界面,Linux 从那时起尝试模仿它。

为了揭示这一点,我们可以引用一句经常被讨论的话:趋同。它说的是,随着时间的推移,两个不同的、独立的系统将逐渐变得相似。这种现象经常发生在生物学领域。例如,鲨鱼和海豚的背鳍、胸鳍和尾鳍相似,形状也一样流线型。

[En]

In order to expose this, we can quote an often discussed saying: convergence. What it says is that two different, independent systems will gradually become similar over time. This phenomenon often occurs in the field of biology. For example, sharks and dolphins have similar dorsal, pectoral and caudal fins, as well as the same streamlined shape.

但是,鲨鱼是由鱼进化而来的,而海豚则是由陆地上的哺乳动物进化而来的。他们拥有类似外形是由于他们都生活在同样的海洋环境中,他们必须朝最大效率适应海洋环境的方向进化。实际上不会有一幕这样的场景:未进化的海豚看到鲨鱼以後就开始想”Wow,看看鲨鱼的鳍,它们非常有用。我也要这样进化一套自己的鳍!”

同样,如果先看早期的 Linux 桌面、FVWM 和 TWM 以及许多简陋的 GUI(图形用户界面),然后再看看今天的 Linux 桌面、Gnome 和 KDE,以及它们带有的任务栏、菜单、视觉效果。是的,不得不说现在的 Linux 比早期的更像 Windows 了。

另一方面,Windows也同样如此;我印象中 Windows 3.0 没有任务栏。那么开始菜单呢?什么是开始菜单?

Linux 过去没有任何桌面像今天的 Windows,微软过去也没有。现在他们都有了,这说明什么问题呢?

这说明两个开发阵营的成员都在寻找提升GUI(图形用户界面)性能的方法,但是解决相同的问题可供选择的方法并不多,他们难免会使用类似的方法。类似并不能说明或暗指一方在模仿另一方。记住这一点,你就不会受到这个问题的困扰了。

问题七:那些 FOSS(自由和开源软件)的事

噢,这导致了问题。非本质的:自由和开源的软件是整个事情中一个极好的和很重要的部分。但是对于一些人看来,理解 FOSS(自由和开源软件)和私有软件之间的不同是一个巨大的改变。

我已经提醒了一些事实,人们认为他们需要并喜欢技术支持。但真相往往遥不可及。

[En]

I have reminded some of the fact that people think they need and like technical support. But the truth is often far away.

微软的使命声明是”A computer on every desktop(每个桌面都有一台电脑)”——不言而喻,每一台计算机应该运行 Windows。微软和苹果公司都销售操作系统,都尽他们最大的努力来保证大多数的人们使用他们的产品:他们是企业,为了赚钱。

并且FOSS(自由和开源软件)也在那里,甚至今天,几乎都是非商业的。

当你发电子邮件告诉我,Red Hat、Suse、Linspire 和所有Linux发行版:是的,我知道他们在”销售” Linux。我知道他们都希望 Linux 被广泛的采用,特别是他们自己的版本。但是不要混淆提供者和生产者。Linux 内核不是被一个公司创造,不是为了获取利润而维持它。这些 GNU 工具不是被一个公司创造,同样也不是为了牟取利润。X11 视窗系统……不错,当前最流行的实现方案是 xorg,并且”.org”应该部分地告诉你需要知道的(注:.org为非盈利组织)。桌面软件:好的。你提出一个例子,比如 KDE ,由于其基于的Qt是商业化的。(译者注:现在 Qt 已经不是商业化的了)。但是 Gnome、Fluxbox、Enlightenment等等,都是非盈利的。那儿是有人销售Linux,但是那只是非常少数的。

私有软件最终用户数量的增加导致了制作那些软件公司直接的经济效益。对于 FOSS(自由和开源软件)来说,并不是这样,使用人数的增加并不会产生直接的收益。肯定是:个人自豪感,发现 Bug(错误)能力的增长,更多可能得吸引新的开发者,可能有机会得到个好的工作,等等。

但是 Linus Torvalds( Linux 的创始人)没有从 Linux 使用权上挣钱。Richard Stallman( GNU 创始人)没有从增长的 GNU 使用权中获利。所有运行 OpenBSD 和 OpenSSH 的服务没有放一分钱到 OpenBSD 项目的钱袋中去。所以我们来看,这就是在 Linux 和新用户之间最大的问题:

他们发现了不想要的东西。

新用户来到 Linux ,他们曾经使用一种操作系统,那时,最终用户的需求至高无上的,并且”用户友好性”和”以用户为中心” 被认为是第一位的。并且他们突然发现他们自己将要使用的操作系统:仍然依赖于’man’文档,命令行,手动编辑配置文档和 Google。并且当他们抱怨时,他们没有获得悉心照顾或者承诺的更好的东西:他们屡屡碰壁。

当然,夸大其词了。有许多人尝试去转换到 Linux 但是失败了。

从另一方面来说,FOSS(自由和开源软件)事实上是一个非常自我的发展方法:仅当人们想工作的时候才工作,仅工作于他们想工作的东西。大部分人们没有看到任何的需求,让 Linux 对没有经验的用户更有吸引力:它已经按照他们想要的工作了,为什么他们应该关心它为什么没有为另外的人工作呢?

FOSS(自由和开源软件)和 Internet 自身有很多相似的地方:你不需要付钱给一个网页(软件)的作者,去下载以及阅读(安装)它。对于已经有了带宽(知道如何使用软件)的人们来说,无限的宽带(用户友好的界面)并不是很感兴趣的。博客(软件开发者)不需要很多的读者(用户)来证明写博客日志(编码)。 那里是有许多人从中获得了很多的钱,但它并不是大部分商业喜欢的旧有规则:”我拥有这个,如果你想要一些,你必须付钱”;而它提供了诸如技术支持(电子商务)的服务。

Linux 对市场份额不感兴趣。Linux 没有客户。Linux 没有股东,或者一个盈利亏损的责任。Linux 不是为了赚钱而创造的。Linux 没有成为这个星球上最流行和最普及的操作系统的目标。

所有的 Linux 社区都想要一种真正不错、充满特色、自由的操作系统。如果 Linux 最终成为一种非常流行的操作系统,那么是美妙的。如果 Linux 最终拥有直观的、用户友好的界面,那么也是美妙的。如果 Linux 最终成为一个数十亿美元的产业的基础,那也是美妙的。

它是伟大的,但它不是重点。重点是,让 Linux 成为社区有能力制作的最好的操作系统。不是为了别人:为了它自己。如此普遍关于”除非 Linux 如此这样,否则永远不会占领桌面”的威胁是不恰当的:Linux 社区没有尝试占领桌面。他们完全不关心它放在你桌面上,是否够好,只要在他们的桌面,运行的够好。 憎恨微软的人,Linux 的狂热者,FOSS(自由和开源软件)提供者或许是吵闹的,但他们仍然只是少数的。

Linux 社区想要的是:一种操作系统能够被任何想要它的人安装。所以如果你在考虑转向 Linux。首先,问你自己,什么是你真的想要的。

如果你想要一种操作系统,没有一个汽车司机在你身边,除了给你把钥匙,把你放在驾驶员的座位上,并且希望你知道要做什么:得到 Linux。你将必须投入时间去学习如何使用它,但是一旦你学会了,你将拥有一种能够站起来跳舞的操作系统。

如果你只是想要没有恶意软件和安全问题的 Windows:阅读好的安全实践;安装好的防火墙,恶意软件检测者和杀毒软件;用一个更安全的浏览器替换 IE ;并且保持升级到最新的安全更新。有人(包括我自己)使用 Windows 从 3.1 到 XP,从来不曾被病毒或者恶意软件感染:你也可以做到。不要用 Linux:非常不幸的是,它不会成为你想要它的那个样子。

如果你想要一种基于 Unix 的操作系统的安全性和性能,和以客户为中心的特点和世界著名的界面:购买苹果公司的 Mac 操作系统。Mac OS X是不错的。但是不要用 Linux:它不会做你想要它做的那样。(译者注:据个人观察,现在Linux界面已经接近或者超越Mac OS X。)

这不仅是关于”为什么我想要 Linux?”。也是关于”为什么 Linux 想要我?”

Original: https://www.cnblogs.com/05-hust/p/16550297.html
Author: 亟待!
Title: Linux入门:Linux != Windows( Linux 不是 Windows)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/10076/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Redis

    Redis原创笑笑师弟 最后发布于2018-12-21 14:17:59 阅读数 1780 收藏展开目录 redis简介 redis功能 redis学习步骤 windows系统下的…

    Linux 2022年9月14日
    0180
  • Ubuntu安装adobe的Source Code Pro

    1.下载 Source Code Pro 字体 下载链接:https://github.com/adobe-fonts/source-code-pro/releases 下载 So…

    Linux 2022年8月26日
    0380
  • VirtualBox Ubuntu 挂载共享文件夹

    1. 挂载命令进入虚拟Ubuntu,在命令行终端下输入: sudo mkdir /mnt/shared sudo mount -t vboxsf share /mnt/shared…

    Linux 2022年8月26日
    0360
  • css3

    CSS 消除transition闪屏 .css { -webkit-transform-style: preserve-3d; -webkit-backface-visibilit…

    Linux 2022年8月30日
    0230
  • shell函数【参数传递及输入输出】&内置函数

    Linux——shell脚本基础3:shell函数【参数传递及输入输出】&内置函数 函数定义: 在Shell 中,函数就是一组命令集或语句形成一个可用块 函数增强了shel…

    Linux 2022年8月26日
    0280
  • AD8275 Driver Amplifiers For Analog-To-Digital Converters

    What amplifiers are used to drive analog-to-digital converters (ADCs)? Possibilities inclu…

    Linux 2022年8月30日
    0270
  • Unknown command ‘run’ try ‘help’

    FSL的U-Boot进行了命令的精简导致run指令无法找到,在config文件添加就可以了,有时候也有可能在配置的.h文件中进行配置。 /*********************…

    Linux 2022年8月30日
    0240
  • 017 Linux 之啥是 ssh ?

    1 什么是 ssh?有什么用? (1)ssh 是一种协议 (2)ssh 服务 2 ssh 基于密匙的安全验证过程是怎样的? 3 对称加密与非对称加密区别是什么? (1)对称加密 (…

    Linux 2022年9月10日
    0200
  • kali使用clash for linux 代理

    用windows的时候挂代理挺方便,用clash for windows从服务商一键导入配置就可以无脑翻,但是最近用kali的时候,有一个小工具在运行的时候报错百度了一下基本可以确…

    Linux 2022年9月10日
    0790
  • Gitee整改之思考

    本文主要内容如下: 1.Gitee是什么? 2.Gitee与Github的区别有哪些? 3.为什么要使用Gitee? 4.Gitee的商业模式是怎样的? 5.Gitee为何会被整改…

    Linux 2022年8月30日
    0280
  • KVM 虚机镜像操作, 扩容和压缩

    qemu-img命令 创建镜像 qemu-img create # 创建一个设备空间大小为10G的镜像 qemu-img create -f qcow2 centos7-guest…

    Linux 2022年9月10日
    0230
  • Linux的history出来的命令如何重复执行指定的命令

    1 答案 !加命令序号 2 例如上面951条命令用!951 posted @2021-09-07 10:35 Questions张 阅读(81 ) 评论() 编辑 Original…

    Linux 2022年8月26日
    0280
  • Golang 实现 Redis(11): RDB 文件格式

    RDB 文件使用二进制方式存储 Redis 内存中的数据,具有体积小、加载快的优点。本文主要介绍 RDB 文件的结构和编码方式,并借此探讨二进制编解码和文件处理方式,希望对您有所帮…

    Linux 2022年9月14日
    0200
  • Redis 持久化

    相关配置 port 6379 daemonize yes logfile "6379.log" dir /data dbfilename dump-6379.r…

    Linux 2022年9月14日
    0160
  • Linux命令——pidof

    参考:Linux pidof Command Examples To Find PID of A Program/Command Linux pidof Command Tutor…

    2022年8月24日
    0270
  • Linux 学习笔记

    Linux 学习笔记 作者:Grey 原文地址:Linux 学习笔记 说明 本文如果没有特别说明,环境是 CentOS 7, 主要是日常学到的一些笔记,所以内容相对零散。 常用命令…

    Linux 2022年9月10日
    0220
  • 在现有的git服务器上面创建新的repo

    在现有的git服务器上面创建新的repo 在现有的git服务器上面创建新的repo 本地:mkdir newcd newgit inittouch READMEgit add .g…

    Linux 2022年8月30日
    0290
  • CentOS 使用官方源yum安装最新nginx版本

    CentOS 使用官方源yum安装最新nginx版本 1、创建nginx.repo # vi /etc/yum.repos.d/nginx.repo 2、添加内容 如果是CentO…

    2022年8月30日
    0280
  • linux Gmssl

    https://blog.csdn.net/u011132987/article/details/102719203 [root@localhost ~]# find / -nam…

    Linux 2022年8月20日
    0620
  • 1.VMware安装CentOS

    注:以下内容适用于Windows操作系统。 一.安装VMware 带秘钥的VMware Workstation 14 Pro下载地址为: 链&#x63…

    Linux 2022年9月10日
    0210
  • ubuntu更改国内源

    1、个人安装环境 1.1 ubuntu 18.04.1 2、更新源分析 2.1 Ubuntu版本一览表 版本号 代号 发布时间 19.04 Disco Dingo 2019/4/1…

    Linux 2022年8月26日
    0320
  • 005 Linux 命令三剑客之-sed

    grep:数据查找定位 awk:数据切片,数据格式化,功能最复杂 *sed:数据修改 三剑客各有所长,和锅锅一一搞起就是了! sed:擅长数据修改。 grep:擅长数据查找定位。 …

    Linux 2022年9月10日
    0180
  • 深度操作系统deepin 20.5发布

    作为全球排名最高的国产团队Linux 发行版,今日晚间,深度操作系统(deepin)20.5正式发布,升级Stable内核至5.15.24,修复底层漏洞,进一步提升系统兼容性和安全…

    Linux 2022年8月11日
    0370
  • 30分钟groovy快速入门并掌握(ubuntu 14.04+IntelliJ 13)

    本文适合于不熟悉 Groovy,但想快速轻松地了解其基础知识的 Java开发人员。了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内…

    Linux 2022年8月26日
    0570
  • Linux下 config/configure/Configure、make 、make test/make check、sudo make install 的作用

    这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤 config/configure/Configure 这个是用来检测你的安装平台的目标特征的。比如…

    Linux 2022年8月20日
    0200
  • Linux 的启动流程(转)

    该文章不涉及操作系统,而仅涉及主板上的板载程序。今天,我想继续讨论操作系统接管硬件后发生的事情,也就是操作系统的启动过程。 [En] That article does not d…

    Linux 2022年8月26日
    0310

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部