原文作者:Dominic Humphries
原文链接:Linux is Not Windows
译者:sctronlinux
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处。注意它们有不同的设计。
但是你会想,汽车之间的差异非常小:它们都有方向盘、脚踏板、变速杆、手刹车、车窗、车门、油箱……如果你能够开这部车,你就能开任何一部车。
确实如此。但你有没看见过有些人不开汽车,取而代之他们骑摩托车?
从一个版本的 Windows 切换到另一个版本就像从一辆汽车换到另外一辆汽车。Win95 到 Win98 ,老实说我说不出有什么区别。Win98 到 WinXp,差别比较大但是也没有什么真正的重大区别。
但是从 Windows 切换到 Linux 就象从开汽车切换到骑摩托车。他们都是操作系统(道路车辆)。他们可能都使用同样的硬件(道路)。他们可能都提供一个运行应用程序的环境(把你从甲地运到乙地)。但他们使用本质不同的两种方法来达到目的。
Windows(汽车)对于病毒(小偷)并不安全,除非你安装反病毒软件(锁上车门)。Linux(摩托车)却没有病毒(车门),所以即使你没有安装反病毒软件(没锁车门)也非常安全。
让我们反过来看一看:
Linux
(汽车)从根本上用于多用户(乘客们)。Windows(摩托车)用于单用户(乘客)。每个 Windows
用户(摩托车驾驶员)每时每刻都要习惯集中精力控制他的计算机(车辆)。而一个 Linux 用户(汽车乘客)只有在以 root
根用户身份登录(坐在驾驶座上)时才要去控制计算机(车辆)。
通过两种不同的方法来达成同样的目标,他们各有优缺点:当载上一家子的成员
和大包小包的货物从甲地至乙地时,一辆车显然是明智的选择:因为它有充裕的座位以及足够的储存空间。而对于一个人从甲地到乙地的情况,摩托车则是更好的选
择:因为它不怎么会遇上堵车,消耗的燃油也更少。
无论选择摩托车或是汽车,仍有很多事情不会改变:你要把油加进油箱,把车开在同一条道上,而且必须遵守红绿灯,在转弯前要打转向灯,你同样也要遵守限速指示。
但是也终究有很多情况不同了:汽车驾驶者不必带着安全头盔开车,摩托骑手不用系安全带;开车的人转动方向盘来转弯,摩托车驾驶者则要倾斜身子改变重心;开车的人需要踩油门踏板来加速,而摩托车通过手旋转手把来控制加速。
一
位汽车司机如果试图通过转移重心来拐弯,很快就会陷入一堆麻烦中。同样的,一个 Windows
用户如果认为自己的经验可以直接派上用场,结果也会因为相同的原因而徒劳无获。事实上,较之电脑新手,一个 Windows “高级用户”在
Linux 的使用过程中常遇上更多麻烦。那些经验丰富的 Windows
用户在面对问题时,如果无法解决,常会觉得“如果我这么有知识的,都搞不定,那新手就更不别想了”,因而得出“Linux离桌面应用还有十万八千里呢”的
强烈想法。但这显然是与事实不符。
解决方法在于:Windows 用户必须意识到他只是一个有经验的 Windows 用户,而不是有经验的电脑用户,Windows 用户必须意识到当自己在尝试 Linux 时,他又成了一个新手。
问题三: 文化冲击
子问题 A : 那是一种文化
Windows
用户或多或少地处于一种消费者和供应商之间的关系:他们花钱买软件,获得授权,得到支持,等等。他们希望软件能够有确切的可用性。因此他们习惯于去得到使
用软件的权利:他们花钱去得到技术上的支持以及他们得到他们想要的权利。他们也经常要与一些除了个人之外的实体打交道:例如他们与一家公司签一份合同。
Linux 用户有着更多的一致性。他们不需要花钱去买软件,不需要为得到技术上的支持而耗费财力。他们免费下载软件,并且使用在线聊天工具和到论坛去寻求帮助。他们和个人打交道,而不是公司。
一个 Windows 的用户如果只是把他的观点带到 Linux 中,那么他是不会喜欢上 Linux 的,这需要慢慢地适应。
引
起矛盾的最大原因在于在线交流方面:一个初学 Linux
的菜鸟在遇到问题时寻求帮助,当他没有得到他可以接受的答案的时候,他便开始抱怨并且想要得到更多的帮助。因为这正是他以前用付费来获得帮助的方式。问题
就是这不是付费提供帮助的系统。而是很多热心人发自内心地帮助其他人解决问题的系统。一个新的用户没有任何权利去向这些热心人索要帮助,这就如同一个想要
得到施舍的人,还要求从捐赠者那里获得更多的捐赠品一样。
同样,一个 Windows
用户习惯了使用商业软件。这些软件在没有做到足够的可靠性、功能性以及对用户友好的界面之前,公司是不会发布该软件的。因此这正是 Windows
用户希望软件是从1.0 版本开始的。而 Linux 软件一旦重写就会立即发布,因此是从 0.1
版本开始的。这样的,真正需要这些功能的人就会马上得到它;感兴趣的开发者会来帮助改进代码,;以及社区就会知道接下来要做什么了。
如果菜鸟在使用Linux时遇到了困难,他会抱怨:这个软件没能满足我的需求,并且他认为他有权得到这样的满足。如果他得到这样带有讽刺性的回答:“如果我是你,我要求退款!”,他的情绪将会更差。
因此,为了避免这些问题,应做到:只要记住,你并没有付给那些软件开发者或者在线帮你提供技术指导的人任何钱。他们并不欠你任何东西。
子问题 B : 新的 VS. 旧的
Linux
几乎是因黑客的业馀爱好而诞生的。它的成长也使得易于它吸引了更多志同道合的黑客们。Linux
在获得一个易于使用的可用安装程序前一直默默无闻。在相当长的时间里,它在大众眼中只是一个极客(Geek)而已。可以说Linux“始于极客,馈于极
客”。直至今日,大多数 Linux 的老用户仍自认为是极客。
这是件非常好的事情:如果你在硬件或软件方面有问题,存在一大群极客们不断寻找解决方案这个状况,显然一种明显的优势。
但
长久以来 Linux 的成长仍旧十分有限。尽管存在一些可以被绝大多数人安装的发行版本,甚至一些版本基于 CD 并且与用户使用的硬件并无冲突。当
Linux
开始因其无病毒和廉价的升级而吸引一些非发烧友用户时,两大用户阵营间并不是没有摩擦,但双方都明了一点:对方都没有恶意,仅仅是缺乏相互理解而已。
首
先,你面临的是核心极客们仍然假设所有使用 Linux
的用户们都是极客同志。这意味着他们认为所有人都对此有很深入的理解,这导致了他人控诉他们的一些行为是傲慢、自大和无礼的。事实上,有时如此。但大多时
候却并非这样:“每个人都应知道”这样的善意表达被说成了“地球人都知道!”——大相径庭。
其次,你面临着从使用的商用操作系统转投而来的新用户。这些用户已习惯使用人机界面友好的软件,他们也是不确定因素。
这类问题起因于不同使用习惯的碰撞:第一类人沉醉于不断地按自己喜好重构系统,而第二类人对操作系统如何工作漠不关心,只要它能工作就好。
在乐高(Lego)玩具发生的类似的情况正好阐述这种问题。试想下面的情景:
新用户(以下简称“新”):我想要一个新玩具汽车,每个人都因乐高汽车的好玩而着了迷。所以我也买了它,但当我到家後我才发现,我的盒子里只有积木和齿轮!我的车子在哪里?
老用户(以下简称“老”):你应该在积木之外组装一辆车,这才是乐高的真谛。
新:什么??我不知道应怎样拼装这个车子。我不是个机械师。为什么我应该知道如何组装它?
老:盒子里有使用手册。它上面写着拼装车子的步骤。你不用知道原理,只要按照按部就班就好。
新:好吧,我找到了步骤。这将占用我很多时间!为什么厂家不能装好了再卖给我,还得让我自己动手??
老:并不是所有人都满足于将乐高做成玩具车。这些积木可以被我们组成万物。这才是游戏的真谛。
新:我仍旧不明白为什么厂商不能给我们这种想要车子的人一个成品,如果那些喜欢动手的人高兴可以自己拆了它阿。无论如何,我还是将它组装起来了,尽管某些部件时不时地掉下来。我有什么方法可以解决吗?我能将它们粘起来吗?
老:这就是乐高。他就是用来拆装的。这才是游戏的真谛。
新:但我不希望总是拆拆装装,我仅仅希望一个玩具车而已!
老:呃,欢迎您到地球来。你买的是乐高吗?
很明显,对那些只想要一个玩具车的人来说,乐高并不是为他们准备的。上面的情景应该不会发生在你的生活中。乐高的价值在于你可以建造过程中体会乐趣而且你也可以将它组装成任何你想要的东西。如果你不想动手拼装,只能说乐高不适合你。这显而易见。
由于长久以来一直关注 Linux 的老用户,同样的问题在 Linux 上越发明显:它是开源的、完全可定制的软件集。这才是真谛。如果你不想修改一些组件,为什么自找麻烦来使用它呢?
与
乐高出售成品玩具的做法略有相似,通过最近的一系列的成果提升了非黑客用户使用 Linux 的舒适性,这使得更广大的用户可以使用
Linux。也正因如此,你仍可以听到与上面相似的对话,程度也仅是略有不同。新用户抱怨老用户只考虑基本特性,他们不得不通过阅读手册才能实现一些功
能。对太多发行版本的抱怨,对软件过多配置选项的抱怨和对运行时时常报错的抱怨不正如对乐高有太多模块的抱怨一样忽略了它可以被用来按你想发拆装成事实
吗?
因此,为了避免这个问题:请铭记现在的 Linux 已今非昔比。Linux 社区最大的也是最关键的组成部分——黑客和开发者们,他们因 Linux 的可以按需定制而欢喜;他们也会可制定能力的丧失因而神伤。
问题四: 为设计者而设计
在汽车工业中,你很难发现一个人即设计车辆引擎也设计车辆内饰:这些是完全不同的技能。没有人想要只是看起来可以跑得很快的引擎,同样也没有人想要一个做工出众但狭小且肮脏的内饰。基于同样的道理,在软件产业,用户界面(UI)往往不是由软件编程人员设计的。
但
在 Linux 的世界却大不相同:一个项目往往是因个人的兴趣而产生。个人也包办了所有的工作,因此这些项目的界面往往缺乏了“用户友好”
的特性:用户对这个软件了如指掌,所以他也就不需要了帮助文件等。vi
就是一个很好的例子,最初它的目标用户就是为那些了解它工作方式的人。因而设计者从来都没有想过如何用其他方式退出 vi
,所以新用户不得不靠重启计算机退出的事情时有发生。
但是,自由开源软件(FOSS)程序员与商用软件程序员的一个最重大区别在于,
FOSS程序员的作品都是他们自己想要使用的东西。因此当作品不能被新用户“舒适”使用的同时,它又成为了最终用户最需要的东西:因为作者也是最终用的一
员。商用软件的程序员却大不相同,他们总是为其他人编写软件,而且这些用户都不是专家。
所尽管 vi 拥有拥有一个令新手望而生畏的界面,但它仍然在当今流行,这又归功于他的界面:当你熟悉後就会发现它原来无比强大。Firefox 也是被经常浏览网页的人编写出来的。Gimp 同样是出自经常处理图形文件的人之手。不胜枚举。
Linux
的界面对于新手而言同样的有些“难度”。尽管 vi
名声在外,但他仍然不在那些需要快速修改一些文件的新手的考虑之列。如果你在一个软件生命周期的早期使用它,光鲜亮丽且友善的用户界面永远只高挂在“计
划”列表之上:功能优先。没有人先雇好装修队再去找楼盘,程序员们都是实现功能再不断改进界面。
所以,为了避免这个问题:寻找那些已便于上手为目的设计的软件,或者接受那些与你使用习惯急剧不同的软件。抱怨 vi 对新手不够友好只是舍本求末罢了。
问题五: “用户友好”的神话
在电脑世界里,“用户友好“是一个十分广泛的专有名词。甚至有一个网络笑话就叫这个名字。但这个词却名不副实。
基本实现方法听起来似乎不错:软件的设计要从用户的想法和需要出发。这个方法一直都被认为是单一的实现办法,但事实并非如此。
如果你一辈子都在进行文书处理的工作,理想的软件对你来说就是个快捷强大、能让你投入最小的精力来实现最大的工作效率的文字处理软件。简单的键盘快捷键和无须鼠标的操作将是最基本的需求。
但如果你很少做字处理的工作,你只是要写一封普通的信,那么你不会想着去学会那些键盘快捷键操作方法。排列有序的菜单和一目了然的工具栏图标就是你的理想环境。
很明显,你为某个用户的需求所设计的软件可能对其他的用户来说并不合适。如此说来,若我们每个人都对软件有不一样的需求,那这些软件怎么能自称“用户友好”呢?
简单来说:“用户友好”并非事实,只是为了让复杂的情况看上去变得简单一点而已。
那么“用户友好”到底是什么意思呢?好吧,从那些使用这个词的文章中来看,“用户友好”的软件实际上意味着“该软件对那些以前从未使用这个软件的用户们来说也不是那么难上手”。这就使得那些看上去用户界面都差不多的软件都被归类为“用户友好”。
子问题 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: 低效的就是友好的
这是一个可悲的但无法逃避的事实。似乎你越想提高一个程序的功能性,它就看起来越友好。
这是因为友好性是通过在用户界面中使用简单、可视化的“线索”实现的——越多越好。毕竟,如果一个完全的计算机新手被放到一个所见即所得的字处理软件前并被要求把一些文本变成粗体,接下来很有可能:
* 他会认为 "Ctrl+B" 是通常的方法。
* 他会寻找线索,并尝试点击 "编辑" 菜单。如果不成功,他就会从接下来的一系列菜单中尝试比较像的那个:“格式”。新的菜单有一个看起来很有希望的“字体”选项。嗨!这里有我们想要的“粗体”选项。成功了!
下次你再做任何文字处理,都想试着通过菜单来完成每一件工作:不用快捷键,也不用工具栏图标。菜单就是一切。当任务突然需要大量按键和鼠标点击时,你会发现你比爬还慢。
这
样使软件变得“用户友好”就像在自行车上装辅助轮一样:它让你能马上骑起来起来,不需要任何技巧和经验。这对一个初学者来说是完美的。但是没有人会觉得所
有的自行车都应该加上辅助轮销售。如果你今天得到这样的一辆自行车,我敢打赌你要做的第一件事就是除去这不必要的阻碍:一旦你知道怎样骑车了,辅助轮就没
用了。
同样的道理,大量的 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 从那时起尝试模仿它。
为了揭穿这些,我们可以引用一个经常被讨论的说法:趋同现象。它说的是:两个不同的、各自独立的系统随着时间的推移会逐渐变得类似。这种现象经常发生在生物学领域。举例来说:鲨鱼和海豚,他们都有着类似的背鳍、胸鳍和尾鳍,以及同样的流线型外形。
但
是,鲨鱼是由鱼进化而来的,而海豚则是由陆地上的哺乳动物进化而来的。他们拥有类似外形是由于他们都生活在同样的海洋环境中,他们必须朝最大效率适应海洋
环境的方向进化。实际上不会有一幕这样的场景:未进化的海豚看到鲨鱼以後就开始想“Wow,看看鲨鱼的鳍,它们非常有用。我也要这样进化一套自己的鳍!”
同
样,如果先看早期的 Linux 桌面、FVWM 和 TWM 以及许多简陋的 GUI(图形用户界面),然后再看看今天的 Linux
桌面、Gnome 和 KDE,以及它们带有的任务栏、菜单、视觉效果。是的,不得不说现在的 Linux 比早期的更像 Windows 了。
另一方面,Windows也同样如此;我印象中 Windows 3.0 没有任务栏。那么开始菜单呢?什么是开始菜单?
Linux 过去没有任何桌面像今天的 Windows,微软过去也没有。现在他们都有了,这说明什么问题呢?
这说明两个开发阵营的成员都在寻找提升GUI(图形用户界面)性能的方法,但是解决相同的问题可供选择的方法并不多,他们难免会使用类似的方法。类似并不能说明或暗指一方在模仿另一方。记住这一点,你就不会受到这个问题的困扰了。
问题七:那些 FOSS(自由和开源软件)的事
噢,这导致了问题。非本质的:自由和开源的软件是整个事情中一个极好的和很重要的部分。但是对于一些人看来,理解 FOSS(自由和开源软件)和私有软件之间的不同是一个巨大的改变。
我已经提醒了一些事实,人们认为他们需要并喜欢技术支持。但是事实往往离得很远。
微软的使命声明是“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 想要我?”
本文遵循 Creative Commons License 创作共用协议。
原文链接:Linux is Not Windows
译者:sctronlinux
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处。注意它们有不同的设计。
但是你会想,汽车之间的差异非常小:它们都有方向盘、脚踏板、变速杆、手刹车、车窗、车门、油箱……如果你能够开这部车,你就能开任何一部车。
确实如此。但你有没看见过有些人不开汽车,取而代之他们骑摩托车?
从一个版本的 Windows 切换到另一个版本就像从一辆汽车换到另外一辆汽车。Win95 到 Win98 ,老实说我说不出有什么区别。Win98 到 WinXp,差别比较大但是也没有什么真正的重大区别。
但是从 Windows 切换到 Linux 就象从开汽车切换到骑摩托车。他们都是操作系统(道路车辆)。他们可能都使用同样的硬件(道路)。他们可能都提供一个运行应用程序的环境(把你从甲地运到乙地)。但他们使用本质不同的两种方法来达到目的。
Windows(汽车)对于病毒(小偷)并不安全,除非你安装反病毒软件(锁上车门)。Linux(摩托车)却没有病毒(车门),所以即使你没有安装反病毒软件(没锁车门)也非常安全。
让我们反过来看一看:
Linux
(汽车)从根本上用于多用户(乘客们)。Windows(摩托车)用于单用户(乘客)。每个 Windows
用户(摩托车驾驶员)每时每刻都要习惯集中精力控制他的计算机(车辆)。而一个 Linux 用户(汽车乘客)只有在以 root
根用户身份登录(坐在驾驶座上)时才要去控制计算机(车辆)。
通过两种不同的方法来达成同样的目标,他们各有优缺点:当载上一家子的成员
和大包小包的货物从甲地至乙地时,一辆车显然是明智的选择:因为它有充裕的座位以及足够的储存空间。而对于一个人从甲地到乙地的情况,摩托车则是更好的选
择:因为它不怎么会遇上堵车,消耗的燃油也更少。
无论选择摩托车或是汽车,仍有很多事情不会改变:你要把油加进油箱,把车开在同一条道上,而且必须遵守红绿灯,在转弯前要打转向灯,你同样也要遵守限速指示。
但是也终究有很多情况不同了:汽车驾驶者不必带着安全头盔开车,摩托骑手不用系安全带;开车的人转动方向盘来转弯,摩托车驾驶者则要倾斜身子改变重心;开车的人需要踩油门踏板来加速,而摩托车通过手旋转手把来控制加速。
一
位汽车司机如果试图通过转移重心来拐弯,很快就会陷入一堆麻烦中。同样的,一个 Windows
用户如果认为自己的经验可以直接派上用场,结果也会因为相同的原因而徒劳无获。事实上,较之电脑新手,一个 Windows “高级用户”在
Linux 的使用过程中常遇上更多麻烦。那些经验丰富的 Windows
用户在面对问题时,如果无法解决,常会觉得“如果我这么有知识的,都搞不定,那新手就更不别想了”,因而得出“Linux离桌面应用还有十万八千里呢”的
强烈想法。但这显然是与事实不符。
解决方法在于:Windows 用户必须意识到他只是一个有经验的 Windows 用户,而不是有经验的电脑用户,Windows 用户必须意识到当自己在尝试 Linux 时,他又成了一个新手。
问题三: 文化冲击
子问题 A : 那是一种文化
Windows
用户或多或少地处于一种消费者和供应商之间的关系:他们花钱买软件,获得授权,得到支持,等等。他们希望软件能够有确切的可用性。因此他们习惯于去得到使
用软件的权利:他们花钱去得到技术上的支持以及他们得到他们想要的权利。他们也经常要与一些除了个人之外的实体打交道:例如他们与一家公司签一份合同。
Linux 用户有着更多的一致性。他们不需要花钱去买软件,不需要为得到技术上的支持而耗费财力。他们免费下载软件,并且使用在线聊天工具和到论坛去寻求帮助。他们和个人打交道,而不是公司。
一个 Windows 的用户如果只是把他的观点带到 Linux 中,那么他是不会喜欢上 Linux 的,这需要慢慢地适应。
引
起矛盾的最大原因在于在线交流方面:一个初学 Linux
的菜鸟在遇到问题时寻求帮助,当他没有得到他可以接受的答案的时候,他便开始抱怨并且想要得到更多的帮助。因为这正是他以前用付费来获得帮助的方式。问题
就是这不是付费提供帮助的系统。而是很多热心人发自内心地帮助其他人解决问题的系统。一个新的用户没有任何权利去向这些热心人索要帮助,这就如同一个想要
得到施舍的人,还要求从捐赠者那里获得更多的捐赠品一样。
同样,一个 Windows
用户习惯了使用商业软件。这些软件在没有做到足够的可靠性、功能性以及对用户友好的界面之前,公司是不会发布该软件的。因此这正是 Windows
用户希望软件是从1.0 版本开始的。而 Linux 软件一旦重写就会立即发布,因此是从 0.1
版本开始的。这样的,真正需要这些功能的人就会马上得到它;感兴趣的开发者会来帮助改进代码,;以及社区就会知道接下来要做什么了。
如果菜鸟在使用Linux时遇到了困难,他会抱怨:这个软件没能满足我的需求,并且他认为他有权得到这样的满足。如果他得到这样带有讽刺性的回答:“如果我是你,我要求退款!”,他的情绪将会更差。
因此,为了避免这些问题,应做到:只要记住,你并没有付给那些软件开发者或者在线帮你提供技术指导的人任何钱。他们并不欠你任何东西。
子问题 B : 新的 VS. 旧的
Linux
几乎是因黑客的业馀爱好而诞生的。它的成长也使得易于它吸引了更多志同道合的黑客们。Linux
在获得一个易于使用的可用安装程序前一直默默无闻。在相当长的时间里,它在大众眼中只是一个极客(Geek)而已。可以说Linux“始于极客,馈于极
客”。直至今日,大多数 Linux 的老用户仍自认为是极客。
这是件非常好的事情:如果你在硬件或软件方面有问题,存在一大群极客们不断寻找解决方案这个状况,显然一种明显的优势。
但
长久以来 Linux 的成长仍旧十分有限。尽管存在一些可以被绝大多数人安装的发行版本,甚至一些版本基于 CD 并且与用户使用的硬件并无冲突。当
Linux
开始因其无病毒和廉价的升级而吸引一些非发烧友用户时,两大用户阵营间并不是没有摩擦,但双方都明了一点:对方都没有恶意,仅仅是缺乏相互理解而已。
首
先,你面临的是核心极客们仍然假设所有使用 Linux
的用户们都是极客同志。这意味着他们认为所有人都对此有很深入的理解,这导致了他人控诉他们的一些行为是傲慢、自大和无礼的。事实上,有时如此。但大多时
候却并非这样:“每个人都应知道”这样的善意表达被说成了“地球人都知道!”——大相径庭。
其次,你面临着从使用的商用操作系统转投而来的新用户。这些用户已习惯使用人机界面友好的软件,他们也是不确定因素。
这类问题起因于不同使用习惯的碰撞:第一类人沉醉于不断地按自己喜好重构系统,而第二类人对操作系统如何工作漠不关心,只要它能工作就好。
在乐高(Lego)玩具发生的类似的情况正好阐述这种问题。试想下面的情景:
新用户(以下简称“新”):我想要一个新玩具汽车,每个人都因乐高汽车的好玩而着了迷。所以我也买了它,但当我到家後我才发现,我的盒子里只有积木和齿轮!我的车子在哪里?
老用户(以下简称“老”):你应该在积木之外组装一辆车,这才是乐高的真谛。
新:什么??我不知道应怎样拼装这个车子。我不是个机械师。为什么我应该知道如何组装它?
老:盒子里有使用手册。它上面写着拼装车子的步骤。你不用知道原理,只要按照按部就班就好。
新:好吧,我找到了步骤。这将占用我很多时间!为什么厂家不能装好了再卖给我,还得让我自己动手??
老:并不是所有人都满足于将乐高做成玩具车。这些积木可以被我们组成万物。这才是游戏的真谛。
新:我仍旧不明白为什么厂商不能给我们这种想要车子的人一个成品,如果那些喜欢动手的人高兴可以自己拆了它阿。无论如何,我还是将它组装起来了,尽管某些部件时不时地掉下来。我有什么方法可以解决吗?我能将它们粘起来吗?
老:这就是乐高。他就是用来拆装的。这才是游戏的真谛。
新:但我不希望总是拆拆装装,我仅仅希望一个玩具车而已!
老:呃,欢迎您到地球来。你买的是乐高吗?
很明显,对那些只想要一个玩具车的人来说,乐高并不是为他们准备的。上面的情景应该不会发生在你的生活中。乐高的价值在于你可以建造过程中体会乐趣而且你也可以将它组装成任何你想要的东西。如果你不想动手拼装,只能说乐高不适合你。这显而易见。
由于长久以来一直关注 Linux 的老用户,同样的问题在 Linux 上越发明显:它是开源的、完全可定制的软件集。这才是真谛。如果你不想修改一些组件,为什么自找麻烦来使用它呢?
与
乐高出售成品玩具的做法略有相似,通过最近的一系列的成果提升了非黑客用户使用 Linux 的舒适性,这使得更广大的用户可以使用
Linux。也正因如此,你仍可以听到与上面相似的对话,程度也仅是略有不同。新用户抱怨老用户只考虑基本特性,他们不得不通过阅读手册才能实现一些功
能。对太多发行版本的抱怨,对软件过多配置选项的抱怨和对运行时时常报错的抱怨不正如对乐高有太多模块的抱怨一样忽略了它可以被用来按你想发拆装成事实
吗?
因此,为了避免这个问题:请铭记现在的 Linux 已今非昔比。Linux 社区最大的也是最关键的组成部分——黑客和开发者们,他们因 Linux 的可以按需定制而欢喜;他们也会可制定能力的丧失因而神伤。
问题四: 为设计者而设计
在汽车工业中,你很难发现一个人即设计车辆引擎也设计车辆内饰:这些是完全不同的技能。没有人想要只是看起来可以跑得很快的引擎,同样也没有人想要一个做工出众但狭小且肮脏的内饰。基于同样的道理,在软件产业,用户界面(UI)往往不是由软件编程人员设计的。
但
在 Linux 的世界却大不相同:一个项目往往是因个人的兴趣而产生。个人也包办了所有的工作,因此这些项目的界面往往缺乏了“用户友好”
的特性:用户对这个软件了如指掌,所以他也就不需要了帮助文件等。vi
就是一个很好的例子,最初它的目标用户就是为那些了解它工作方式的人。因而设计者从来都没有想过如何用其他方式退出 vi
,所以新用户不得不靠重启计算机退出的事情时有发生。
但是,自由开源软件(FOSS)程序员与商用软件程序员的一个最重大区别在于,
FOSS程序员的作品都是他们自己想要使用的东西。因此当作品不能被新用户“舒适”使用的同时,它又成为了最终用户最需要的东西:因为作者也是最终用的一
员。商用软件的程序员却大不相同,他们总是为其他人编写软件,而且这些用户都不是专家。
所尽管 vi 拥有拥有一个令新手望而生畏的界面,但它仍然在当今流行,这又归功于他的界面:当你熟悉後就会发现它原来无比强大。Firefox 也是被经常浏览网页的人编写出来的。Gimp 同样是出自经常处理图形文件的人之手。不胜枚举。
Linux
的界面对于新手而言同样的有些“难度”。尽管 vi
名声在外,但他仍然不在那些需要快速修改一些文件的新手的考虑之列。如果你在一个软件生命周期的早期使用它,光鲜亮丽且友善的用户界面永远只高挂在“计
划”列表之上:功能优先。没有人先雇好装修队再去找楼盘,程序员们都是实现功能再不断改进界面。
所以,为了避免这个问题:寻找那些已便于上手为目的设计的软件,或者接受那些与你使用习惯急剧不同的软件。抱怨 vi 对新手不够友好只是舍本求末罢了。
问题五: “用户友好”的神话
在电脑世界里,“用户友好“是一个十分广泛的专有名词。甚至有一个网络笑话就叫这个名字。但这个词却名不副实。
基本实现方法听起来似乎不错:软件的设计要从用户的想法和需要出发。这个方法一直都被认为是单一的实现办法,但事实并非如此。
如果你一辈子都在进行文书处理的工作,理想的软件对你来说就是个快捷强大、能让你投入最小的精力来实现最大的工作效率的文字处理软件。简单的键盘快捷键和无须鼠标的操作将是最基本的需求。
但如果你很少做字处理的工作,你只是要写一封普通的信,那么你不会想着去学会那些键盘快捷键操作方法。排列有序的菜单和一目了然的工具栏图标就是你的理想环境。
很明显,你为某个用户的需求所设计的软件可能对其他的用户来说并不合适。如此说来,若我们每个人都对软件有不一样的需求,那这些软件怎么能自称“用户友好”呢?
简单来说:“用户友好”并非事实,只是为了让复杂的情况看上去变得简单一点而已。
那么“用户友好”到底是什么意思呢?好吧,从那些使用这个词的文章中来看,“用户友好”的软件实际上意味着“该软件对那些以前从未使用这个软件的用户们来说也不是那么难上手”。这就使得那些看上去用户界面都差不多的软件都被归类为“用户友好”。
子问题 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: 低效的就是友好的
这是一个可悲的但无法逃避的事实。似乎你越想提高一个程序的功能性,它就看起来越友好。
这是因为友好性是通过在用户界面中使用简单、可视化的“线索”实现的——越多越好。毕竟,如果一个完全的计算机新手被放到一个所见即所得的字处理软件前并被要求把一些文本变成粗体,接下来很有可能:
* 他会认为 "Ctrl+B" 是通常的方法。
* 他会寻找线索,并尝试点击 "编辑" 菜单。如果不成功,他就会从接下来的一系列菜单中尝试比较像的那个:“格式”。新的菜单有一个看起来很有希望的“字体”选项。嗨!这里有我们想要的“粗体”选项。成功了!
下次你再做任何文字处理,都想试着通过菜单来完成每一件工作:不用快捷键,也不用工具栏图标。菜单就是一切。当任务突然需要大量按键和鼠标点击时,你会发现你比爬还慢。
这
样使软件变得“用户友好”就像在自行车上装辅助轮一样:它让你能马上骑起来起来,不需要任何技巧和经验。这对一个初学者来说是完美的。但是没有人会觉得所
有的自行车都应该加上辅助轮销售。如果你今天得到这样的一辆自行车,我敢打赌你要做的第一件事就是除去这不必要的阻碍:一旦你知道怎样骑车了,辅助轮就没
用了。
同样的道理,大量的 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 从那时起尝试模仿它。
为了揭穿这些,我们可以引用一个经常被讨论的说法:趋同现象。它说的是:两个不同的、各自独立的系统随着时间的推移会逐渐变得类似。这种现象经常发生在生物学领域。举例来说:鲨鱼和海豚,他们都有着类似的背鳍、胸鳍和尾鳍,以及同样的流线型外形。
但
是,鲨鱼是由鱼进化而来的,而海豚则是由陆地上的哺乳动物进化而来的。他们拥有类似外形是由于他们都生活在同样的海洋环境中,他们必须朝最大效率适应海洋
环境的方向进化。实际上不会有一幕这样的场景:未进化的海豚看到鲨鱼以後就开始想“Wow,看看鲨鱼的鳍,它们非常有用。我也要这样进化一套自己的鳍!”
同
样,如果先看早期的 Linux 桌面、FVWM 和 TWM 以及许多简陋的 GUI(图形用户界面),然后再看看今天的 Linux
桌面、Gnome 和 KDE,以及它们带有的任务栏、菜单、视觉效果。是的,不得不说现在的 Linux 比早期的更像 Windows 了。
另一方面,Windows也同样如此;我印象中 Windows 3.0 没有任务栏。那么开始菜单呢?什么是开始菜单?
Linux 过去没有任何桌面像今天的 Windows,微软过去也没有。现在他们都有了,这说明什么问题呢?
这说明两个开发阵营的成员都在寻找提升GUI(图形用户界面)性能的方法,但是解决相同的问题可供选择的方法并不多,他们难免会使用类似的方法。类似并不能说明或暗指一方在模仿另一方。记住这一点,你就不会受到这个问题的困扰了。
问题七:那些 FOSS(自由和开源软件)的事
噢,这导致了问题。非本质的:自由和开源的软件是整个事情中一个极好的和很重要的部分。但是对于一些人看来,理解 FOSS(自由和开源软件)和私有软件之间的不同是一个巨大的改变。
我已经提醒了一些事实,人们认为他们需要并喜欢技术支持。但是事实往往离得很远。
微软的使命声明是“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 想要我?”
本文遵循 Creative Commons License 创作共用协议。
Powered by ScribeFire.
No comments:
Post a Comment