• 2006-01-21

    请使用Linux

    Views: 9106 | 3 Comments

    “Linux怎么不能玩这个或者那个游戏?这可真是让人遗憾。如果Linux下面能够运行那个我喜欢的游戏的话,我就考虑试用一下Linux。”好吧,Linux确实不能运行那个他喜欢的只能在Windows下运行的游戏。但是,电脑不是游戏机,大部分的人使用电脑的目的是工作和学习。

    在我转向Linux平台之前,Counter-Strike是我最喜欢的游戏之一。而且在我拥有自己的电脑之前,几乎每个星期我都会到网吧玩上几回,每一回都是3个小时左右。但是,当我购买了自己的电脑的时候,我意识到自己是为了学习计算机科学和学习编程才买的。于是,在短暂的使用盗版Windows(像99%的中国个人电脑用户一样)之后,我立即安装上了Linux。

    我安装的第一个Linux版本是RedHat9,现在来说并不是一个好的版本,原因是它已经显得太旧了,它使用的是2.4的内核,对很多新硬件都不支持。大约两个月后,我安装上了Debian3--新的2.6内核。我从学校的服务器上以2M每秒的速度下载了它的ISO镜像。因为有以前安装过RH9的经验,而且电脑里仍然有GRUB,所以,我的安装是完全顺利的--它甚至认出了我的ATI9550显卡,并且默认设置屏幕分辨率为1024*768,这真是太好了!重启两次之后,我就进入了一个漂亮的桌面环境GNOME。

    你想知道它已经能干什么了吗?我双击一个MP3文件,它就能播放了(Noatun)。然后我放入一个DVD,也能播放(Noatun)。然后,我双击一个C语言源代码,系统就使用一个具有漂亮语法着色功能的文本编辑器把它把打开在屏幕上(Gedit/Kwrite)。在Windows系统下,为了找一个具有语法着色功能的文本编辑器,我只能冒着违反法律的危险从网上下载一个带有破解注册码的盗版软件。这可真是丢人,如果你已经习惯于重复此类事情,那就另当别论了。

    是的,我遇到了一点麻烦--这时候,Xwindow桌面环境还不能显示中文文字,也不能输入中文。出现这种问题的原因是因为同很多的Linux发行版一样,Debian是针对国际的,并没有像某些商业操作系统一样针对特定的国家和地区增减软件包。当然,如果你愿意支付少量的金钱给别人的时间,就会有人为你弄好这些--这和正版Windows不一样,因为你可以选择不支付任何金钱而是自己来做。相反,无论你是一个使用Windows多少年有多少重装系统经验的用户,Windows对于你来说都没有选择,Windows的定价就是在那里了。这当然也和盗版Windows不一样!无论你如何地认为使用盗版Windows是理所当然的和拥有几百亿身家的比尔盖茨不应该和你的3元钱的盗版Windows纠缠,事实是,你正在违反中国的法律和正在背负不道德的包裹。

    我解决以上两个问题只需要简单地花费几分钟时间安装字体(ttf-arphic-uming)和输入法(fcitx)。

    忘了跟你说了,我安装的时候选择了Apache这个占据全球服务器市场60%份额的服务器软件,所以我的朋友可以通过在浏览器中输入我的IP地址来访问我的个人网站,再加上PHP模块,我把我的网站建成动态的了。之后,我申请了一个国际域名www.ideawu.net,这样,我的朋友就可以通过在浏览器中输入www.ideawu.net来访问我的网站。你不试一下吗?不过请在每天的06:30--22:30的时候访问,因为我的寝室只有在这段时间才给电。

    Posted by ideawu at 2006-01-21 21:40:21
  • 2006-01-14

    Debian3.1的安装和汉化美化

    Views: 7243 | No Comments

    安装Debian感到复杂的初学者,如果你能阅读基本的英文,可以使用下面的方法安装。

    1. 请下载3.1版的ISO文件然后刻成光盘,下载地址在:

      光盘启动一路回车(注意不要选安装语言为中文,因为这样会导致乱码)。分区问题,可以在安装之前用PQ图形界面分好3个区,一般是10G+10G+1G。安装分区时,把10G分区挂载点(Mount point)选在/下,10G分区挂载在/home下,1G分区挂载在/swp下。注意不要出错。

    2. 第一次重启后,将光盘拿出。当需要选择语言时,选上zh_CN.GBK/zh_CN.GB2312/zh_CN.UTF-8中的至少一种和en_US.UTF-8,然后回车后再选择默认使用en_US.UTF-8。当需要选择安装包时,选上Desktop Enviroment安装包。一路回车。等待重启。

    3. 重启后拿出光盘。然后你就启动到了英文界面的Debian桌面环境。不要以root身分登陆,默认也不允许这样。

    4. 如果你有Windows,而且不知道怎么安装中文字体。打开Application-->System Tools-->Root Terminal,输入root口令。程序启动后输入mount /dev/hda1 /mnt。然后输入nautilus& 回车,你将得到一个资源管理器。在地址栏输入/mnt,你就进入了C盘,把Windows目录下的Fonts目录下的字体(一般是simsun.ttf或类似simsun.*,10M左右大小。如果不是,复制后改名)复制到 /usr/share/fonts/truetype/文件夹里,然后右键将文件改为可读(有三项)。

    5. 打开Application-->Desktop Preference-->Font,然后选择Monochrome。打开一个中文网页,看是否可以显示中文。

    6. 以后想使用中文界面,在登陆的时候选择中文(在登陆界面那几个菜单中找到)。

    Posted by ideawu at 2006-01-14 16:53:55
  • 2006-01-10

    安装Linux中文输入法fcitx

    Views: 10400 | 3 Comments

    Linux下的中文输入法主要有fcitx和scim,我使用的是fcitx。它有源码包,预编绎包RPM包,Deb包等,建议使用 fcitx3.1稳定版(预编译包)

    解压后,得到fcitx-3.1-bin文件夹,进入其中。如果是root身分进入X,双击fcitx.install文件。或者在终端下su后执行./fcitx.install 它将运行这个脚本

    rm -f /usr/bin/fcitx
    rm -fr /usr/share/fcitx
    cp -r usr/* /usr
    

    然后在终端执行fcitx,你应该看到这是一个有效命令,而不是command not found。否则手动执行上面的脚本。或者你不使用上面的方法,运行apt-get install fcitx,然后继续下面的设置。

    这时候,fcitx还不能开机自动运行,甚至不能工作。为了让fcitx开机自动运行,你需要:

    编辑/etc/X11/Xsession.d/25xinput文件或者55gnome-session_gnomerc文件(并不是每个发行版都会调用 /etc/X11/Xsession.d/ 中的脚本,如果你知道更好的方法请告诉我),如果没有就建一个。加入:

    export LC_CTYPE=zh_CN.UTF-8 #注释1
    export XMODIFIERS=@im=fcitx
    export XIM=fcitx
    export XIM_PROGRAM=fcitx
    fcitx
    

    注释1处也可用zh_CN.GBK。如果你你在命令行下执行locale发现有LC_CTYPE=“zh_CN.UTF-8”或者LC_CTYPE=“zh_CN.GBK”,就把注释1处的那一行去掉。

    如果你使用RedHat9, 你还需要运行:

    cd /usr/bin
    ln -s fcitx chinput
    

    fcitx有两个重要的配置文件~/.fcitx/table(没有则拷贝/usr/share/fcitx下的或者安装包中的)和~/.fcitx/config,这两文件用且只能用GB2312编码存储,如果你打开时有乱码,你知道该怎么做了,不是吗?

    table配置五笔,二笔等码表输入法。config配置界面。配合fcitx的文档,你就知道怎么修改了。

    希望大家安装输入法时不会再遇到问题了。如果你照这个方法不成功的话,请回复说明。

    Posted by ideawu at 2006-01-10 08:58:30
  • 2006-01-03

    Linux的中文字体,粗体,斜体问题

    Views: 8403 | No Comments

    Linux发展到现在,已经非常完美了。对于中文的支持更不在话下,因为Linux是国际化的。Linux已经为中国人准备好了,可是,中国人为Linux准备好了什么?还没有,至少在字体方面没有。这就是为什么还是有那么多的所谓的“中文美化问题”。

    美化问题是所有文字都面临的问题,并不是中文自有的。英文字体也有美化的问题,只是因为英文字母比较简单,所以易于解决。

    用过Linux的人都知道,Linux的中文问题往往只需要拷贝Windows的字体就解决了汉字的显示问题(我不是让你拷贝你没有权利拷贝的字体)。但是,粗体问题却要经过一大堆的步骤,更改多个配置文件才能解决,而且成功机率也不是100%。这是由于Linux和Windows的字体引擎不同导致的。

    Windows下的粗体是实时计算出来的,因此Windows只需要一套汉字字体就足够了,而Linux却没有此功能(最近已经拥有了这项功能,但没有被普遍支持)。所以单纯的拷贝Windows下的字体到Linux下并不能解决粗体问题。而一般的解决方案有:

    1. 每一种字体使用四套字体:正常体,粗体,斜体,粗斜体。
    2. 使用新的字体引擎。

    这两种解决方法有一个微妙的关系,就是:第一套方案在现有的字体引擎下能完美地工作;而第二套方案,无论字体引擎做得多么好,同样必须有一套好的字体。而且,我们发现,英文字体一般有多套字体,就是正常体,粗体,斜体,粗斜体,例如Verdana就有verdanab.ttf verdanai.ttf verdana.ttf verdanaz.ttf。因为他们认为字体引擎产生的粗体和斜体不算完美。

    所以我认为,Linux的“中文美化问题”,本质上是中文字体的问题。而中文字体的问题,根本就是中国人自己的问题。所以,Linux的“中文美化问题”就是纯粹的中国人自己的问题。

    当前的中文字体,个人认为以中易公司的simsun宋体最为美观(微软也是使用这套字体)。但这套字体是商业字体,微软向中易公司购买simsun在 Windows中的使用权。而免费的Linux当然不可能向中易公司购买了(有些国内商业发行版Linux这么做),所以就有了Linux的“中文美化问题”。

    Linux下的中文字体主要有:文泉驿(wqy)字体(wqy.sourceforge.net)和台湾萤火虫(firefly) 字体。由于各种原因,自由字体的发展不能令大部分的人满意。但我们还是要由衷的感谢那些无私地为我们造字的人,因为造字很大程度上是体力活(个人认为,并无他意)。汉字的造字困难程度我们可想而知,而自由字体至今未得到中国北京政府的明确支持。

    所以,当我们抱怨Linux的中文问题,我们应该立即羞愧地想到,我们中国人是多么的可怜。

    Posted by ideawu at 2006-01-03 20:35:24
  • 2005-12-09

    Linux不是Windows

    Views: 6359 | No Comments

    Linux不是Windows

    上次修改时间: 2005-12-04 13:51

    贡献人: 来源:http://linux.oneandoneis2.org/LNW.htm, 中文:http://www.ubuntu.org.cn/lnw, 翻译:laborer

    !=

    以下的文章中,当我提到GNU/Linux操作系统和种种的FOSS(译者:自由和开源软件)项目时我都会用一个统一的名称Linux来代替,这样看起来好些。

    如果你像我一样花些时间在Linux论坛上,那你就会像我一样因为有太多这样的帖子而恼怒:

    "嗨!我用了几天Linux,总体还行。但某某功能不能像Windows那样,真糟糕。为什么开发人员不能重写一下让它更像Windows一点?我相信这样做的话Linux的用户会更多!"

    你也许尝试过回应这些问题,结果那个Linux新手却和你吵得面红耳赤,他根据自己几年来在另外一个操作系统上和区区几小时在Linux上的经验,得出结论:他的想法是无比睿智的,而你不同意他的观点是因为你是一个从“古董学校”出来的Linux用户,认为GUI是恶魔的产物,所有人都应该强迫去用CLI (译者:命令行界面)。

    本文的目的就是向这样的新手解释为什么他们的观点会引发争论而不是受到欢迎。

    首先就是这个最常被提起的论断: "如果Linux能这样,那就会有更多的人从Windows转过来!"

    这样,让我先解释一下为理解Linux所需的基本常识:Linux社区不会试图去为一般的Windows用户提供一个替代的操作系统。Linux的目标不是“每台机器都装Linux”。

    千真万确,真的不是。. 的确,它们都是操作系统,的确,它们都能做相同的事情,但是这让Linux成为一种选择,而不是替代品。这看上去也许算不上什么区别,但实际上却是最最重要的一点。

    Linux和Windows就如同摩托车和小汽车:都是车,能通过公路吧你从甲地送到乙地,但它们有不同的形状、不同的尺寸、不同的操作装置,其基本工作方式也不同。它们是不可以随意互换的。它们有不同的用途、不同的长处和短处,你要挑选一种适合自己的,而不要指望一种可以完全替代另一种。

    一个开车的人遇到塞车时,看到摩托车自如在车堆中来回穿梭,他也许会羡慕摩托车所具备的这种能力。如果这个司机接着又说:“我对汽车了如指掌,所以我也一定同样了解摩托车!”,那么他就错了。

    * 如果那个司机买了一辆摩托,然后发现很难适应用手旋转握把来控制加速,而不是脚踏板,他可能会报怨摩托也应该装油门踏板。

    * 如果那个司机有一个老婆两个孩子,他也许觉得摩托车只能载一个乘客是个缺点。他会建议重新设计摩托车,使其可以两两肩并肩的坐四个人。

    * 如果那个司机想骑摩托车,却发现无法控制平衡,总是摔倒,他也许会建议让摩托车也安上四个轮子。

    * 如果这个司机发现转弯时自己身体总会倾斜,那他会建议在摩托上装稳定器使其可以在转弯时总保持正直。

    * 如果这个司机怕摩托车被偷,他也许会报怨摩托没有门,让小偷容易得手。

    * 如果这个司机觉得头盔碍事,他也许会建议在手把上装一个安全气囊以替代烦人的头盔。

    这些情况下他都错了,因为他想用摩托车替代汽车,他想让摩托做所有汽车能做的,他以为摩托的工作方式与汽车相同,比汽车缺少的功能只要嫁接上就行了。

    同样,一些好心的Linux新手也建议把Linux变成他们所熟悉的样子,结果也因为相同的原因没有任何所获。也许Linux和Windows都可以被用于完成相同的任务,但汽车和摩托也是。这并不意味这你可以直接从一个换到另外一个,也不意味着它们的特性可以相互替换。

    太多的人以为从Windows转移到Linux就如同宝马换奔驰一样,认为其控制方式应该相同,他们的经验直接可以派上用场,而两者之间所有的差别也仅仅是表层的。他们想:“在公路上行驶时,我需要汽车,在使用电脑时,我需要操作系统。汽车的工作方式都相同,因此操作系统的工作方式也应该都相同。”但这并不准确。“在公路上行驶时,我需要车,在使用电脑时,我需要操作系统。我知道如何开汽车,但我不懂摩托车。我知道如何使用Windows,但我不懂 Linux。”----这才是准确的。

    Windows用户必须意识到他只是一个有经验的Windows用户,而不是有经验的电脑用户,就像汽车司机仅仅是汽车司机,而不是所有种类车辆的司机。Windows用户必须意识到当他在尝试Linux时,他又成为了一个新手,就像汽车司机去尝试开摩托。 Windows必须要愿意去学习完成相同任务所需的不相同的手段,就像汽车司机必须要去适应替代方向盘的手把和他从没戴过的头盔。并且他们要作好心理准备:这些“不同”并不意味着“劣等”。

    这个简单的事实给有基础的Windows用户造成了更大的麻烦。他们来用Linux时带着根深蒂固的Windows操作习惯和一种态度:“谢谢,我知道怎么用电脑!”问题是,他们并不知道,他们只知道怎么用Windows。当面对另一种操作系统时,这些高级用户可能会遇到最糟的问题:他们有太多的经验需要遗忘掉。

    当一个新手说“我不知道”,接着就开始在论坛上探索、提问时,一个Windows高级用户可能会说:“我知道怎么做,我就这么、这么、这么做,然后……居然不行!愚蠢的系统!”接着他们又说:“如果我这么有知识的都搞不定,那新手就更不要想了,Linux离桌面应用还有十万八千里呢!”他们恐怕没有意识到他们的知识帮了倒忙,使他们比经验少的用户遇到更多的问题。他们错误的以为Linux是一种可以和Windows做相同事情的软件,而事实上是它是一种不同于Windows的软件,做的事也不同。不是Linux做与Windows相同的任务做得不好,而是它很好的完成了一个替代的任务。

    Linux是一种可供选择的操作系统,而不是Windows的替代品。它也永远不会取代Windows,因为它们有完全不相容的目标。微软的目标是让他们的软件装到更多的电脑中,赚更多钞票。而Linux不是这样,它是免费的,它的着眼点不同。

    要理解这一点就要先理解FOSS 。并不奇怪很多Linux新手现在还不能很好的理解它,他们是新手嘛,他们还是习惯于从私有软件的角度思考。所以让我解释一下:

    典型的FOSS软件的作者往往因为对现存软件的不满,于是想到自己来写一个。而他又是个大好人,他把软件源码公之于众之后对大家说:“你们自己折腾吧!”。他可以这样做,因为复制软件没有任何成本,所以把软件贡献给世界也不会比自己留着用多花一分钱。他不会因为把软件送人而感到痛苦。

    然而,很重要的一点需要记住的是:他也不会因为送出软件而获利。不论是一人用还是一亿人用,对开发者来说毫无区别。哦,当然,他一定乐意看到自己的产品广受欢迎:用户数是个自我吹嘘的好题材,还能创造记录。但这不会为他带来任何金钱:因为这是FOSS。

    如果这个软件有所成功,别人就会对此感兴趣,也愿意帮助改善它。这是FOSS最大的优势:每一个用户都可能是潜在的开发者,每一个人都能参与使软件工作得更好,功能更多,bug更少。如果一个软件能吸引到一大帮开发者那将是非常好的事情。但这仅是对软件本身而言的,它会使软件变得更好,而开发者不会因此致富,只会让他们为此投入更多的时间。

    FOSS与如Windows一类的私有软件截然相反:FOSS完全关注于软件本身,而不在意最终用户的数量。软件运行很好,但用户寥寥,这从商业软件的标准来看是失败的,但从FOSS的标准来看却是成功的。

    FOSS关注于编写高质量的软件,真正能做事的软件。如果你想使用它,那你就需要投入时间来学习如何使用。FOSS软件是免费供你使用的,为编写它许多人不去计较个人利益,投入了大量的时间 。因此,在你报怨它不能像Windows中相对应软件一样工作之前,至少也应该投入一点时间,算是对软件作者贡献的一种尊敬吧。

    “哈哈,现在我抓到你的破绽了,”一个新手自鸣得意的说:“有一些Linux项目的目的就是替代Windows,而不仅是提供一种选择。”

    不难看出这种想法从何而来。例如,KDE和Gnome提供了一种不同于Linux传统的窗口管理器和CLI的桌面环境,它们更加类似于Windows。Linspire更一种要把Linux做的完全和Windows一样的Linux发行版。

    然而,这些论据更能支持我的观点,而不是那个新手的。

    为什么?因为这些都是标准的FOSS项目,都是以把软件做得更好为目的的。唯一的区别就是,在这些项目中品质的定义是“如何让Windows用户使用起来更方便?”

    你一旦考虑了这个因素,你就不得不同意这些项目的目标都是改进软件本身,它们都是100%的典型Linux软件。这些项目由那些更加无私的开发人员编写:他们这样做不是为满足自己的需要,因为他们已经太熟悉Linux了。相反,他们是为了使其它人从Windows过渡到Linux更加容易。

    这些开发人员知道有一些Windows用户希望转投Linux阵营,于是他们花力气建造一个能让Windows用户感到舒服、熟悉的Linux环境。他们无意去替代Windows,尽管最终的结果给人留下了这样的印象,但他们的最终目的是不一样的:不是制造一个Windows替代品,而是帮助 Windows用户过渡到Linux上。

    社区里反对这些项目的声音并不罕见。有些人理由也是合理的(“KDE太吃资源,还是用Fluxbox好”),有些人则抱着一种不够理性的“像Windows样的软件都不好”的态度。事实上这不是反微软或反Windows的态度,而是蛮不讲理的憎恨自己不了解的东西。

    典型的Linux用户是一个电脑爱好者:他用电脑因为电脑好玩,编程好玩,hacking(译者:这个词非常难译,没有一个简单的词能够代替,这里主要是指修改软件使之满足自己需求)也好玩。而Linux是hacking爱好者的最爱,他可以把Linux分解到最基本的部分,然后再根据自己需要重新组装起来。

    然而,新来的Linux用户很大部分不是电脑爱好着,也不是hacker(译者:修改软件使之满足自己需求的人)。他们只要求电脑能工作,就像Windows那样工作。他们没兴趣去花时间设置Linux,他们希望拿来就能用。

    这很好,但在典型的Linux用户看来,这就如同有人想要一辆已经组装好并用胶水粘牢的乐高玩具汽车。这对他们来说实在无法想象:“怎么会有人要这个?”

    这的确难以理解。如果你想要一辆做好的汽车模型,那去买一辆玩具车。如果你想要一辆可以自己组装的车,那就买乐高。怎么会有人想要一辆只能当玩具车玩的乐高车呢?乐高的乐趣就在于自己组装啊!

    典型的Linux用户也会如此回答那帮问“为什么它就是不能工作呢?”的人:“如果你仅想让电脑工作,用Windows好了,如果你想自己能动手修改,那就用Linux。如果你对开源软件的这些好处毫无兴趣,那你干什么还要转去用Linux呢?”

    答案通常是他们根本就不是真心想去用Linux,他们仅仅是想远离Windows:他们希望远离病毒,远离恶意软件,他们希望免除收费软件的限制,不被E.U.L.A.所束缚。他们不是在尝试投入Linux的怀抱,他们只想摆脱Windows。而Linux只是最广为人知的一种选择罢了。

    稍后再进一步论述. . .

    你可能想:“好吧,这样可以解释为什么开发者不去尽力让他们的软件更像Windows,但是Linux软件也可以在不违反FOSS的原则的前提下拥有有像Windows那样友好的GUI呀。”

    有一些理由可以说明为什么不是这样。

    首先: 你真的认为写软件的人会故意去弄个很烂的用户界面?

    当一个人投入大量个人时间去编写软件时,他总会努力使软件的用户界面(UI)尽可能的好。UI对软件来说太重要了:如果某个功能不能通过UI来访问,那它就根本毫无意义。你也许不知道,但UI成为现在这样不是没有道理的,其原因是那就是软件创造者能做出的最好的UI了。

    如果你仍坚持类似Windows的UI使软件更好,请不要忘了这样一个事实:这些软件的作者并不同意你的意见。他们对这些软件的理解肯定比你要深刻得多,也许他们错了,但可能性很小。

    第二: 现在已经有很多漂亮的、易于被Windows用户接受的GUI前端。我想不出有什么功能不能通过GUI来控制,不管是多么高级的。你可以编译内核(make xconfig),设置放火墙(fwbuilder),硬盘分区(qtparted)……这些都可以由好看的、交互的、符合直觉的并且用户友好的程序完成。

    但是Linux的发布周期与Windows不同,不可能从一开始就有一个精良的GUI界面。GUI只会增加软件的复杂度,而不会给功能带来什么改进。开发者的本意可不是弄个花哨却什么也做不了的GUI,他们创作的是自己需要的软件。

    一个软件最先能做的便是在命令行(CLI)方式下使用,它可能包含各式各样的调用选项和长长的配置文件。因为这是实现软件功能所需要的最基本的东西,其它的都可以慢慢完善,即使日后有了漂亮的GUI,但我们仍应当看到:通常它还是完全可以用CLI和配置文件来控制的。

    * 这是因为CLI有很多优势:CLI通用;每个Linux系统都有CLI;所有程序都能从CLI执行;远程访问CLI也特别方便。而GUI则不然:有些Linux机器没装X11窗口系统;有些软件不能通过GUI菜单访问;通常远程使用GUI工具也不容易。

    最后,可能会有不同GUI前端能做相同事情,别人无法知道你到底装了哪一种。

    所以请记住,当你问“我该怎么弄……?”的时候,大部分情况下别人都会告诉你怎么通过CLI解决。这并不意味着问题只能从CLI解决,而是恰恰反映了在软件发展过程中CLI相对于GUI的重要性。

    * Windows是完全以GUI为中心的,它是一种基于GUI的操作系统,其CLI是烂得可以(但很快就要改善了)。几乎没有什么Windows软件是没有GUI的。这也使人们认为GUI是一个软件必不可少的重要元素。但对于Linux来说,软件一旦能工作就可以发布了,只有等它足够稳定、没什么bug、功能也很丰富时才有必要增加GUI。

    请试着把一个没有很好GUI界面的软件理解为内部测试版,而不是一个已经完成的产品。FOSS还远远没有“完成”,它还在不断的改进中。只要时机成熟,它完全可以变得用户友好。但在大部分情况下,使它工作的更好要比使它看上去感觉更好重要得多。你应该高兴今天就有机会能用上未来软件的功能,而那些只喜欢漂亮GUI的人就享受不到了。FOSS并没有到达它旅途的终点,它才刚刚上路呢。

    最后你还需要记住的是:软件的GUI部分经常是分开提供的,甚至有可能是完全不同的开发人员独立开发出来的。所以如果想要GUI,那一点也不奇怪你必须分开安装,而不是一次性装好。

    诚然,为了获得Windows式的GUI,分开安装确实增加了额外的步骤,但这不影响这样一个事实:你现在就可以通过“像Windows一样”的GUI做几乎所有事情。请不要忘记GUI通常只是最后一步,Linux绝不会只图外表而不重内涵的。

    第三: Linux是特别设计给知识丰富的老手使用的,而不是无知的新手。有两个原因:

    * 无知乃与生俱来,但它很短暂,知识才是永恒的。也许要几天、几周、几个月才能让你从“Linux新手”成为“中等的Linux用户”。但你一旦达到这个水平,你就可以一直用下去了。

    为了使软件对新手来说比较易用而放进一大堆代码就如同给所有自行车焊上永久的平衡轮。也许这会让起步变得比较容易,但之后呢?我相信你现在肯定不会想买一辆带平衡轮的车。不是因为你是一个反对用户友好的怪人,而是平衡轮对你来说毫无用处了,除了新手谁都用不上,放在那里反而碍事。

    * 不管软件多好,用户要能用得好才行。就算有世界上最安全的门,如果你不关窗、不锁门或者忘拔钥匙,小偷一样畅通无阻;就算有世界上最好的引擎,如果你加错了燃料,一样跑不了。Linux把所有的能力都交到了用户手里,这也包括破坏它的能力,当然没人想这样。想要保持Linux正常的运作,多学点让自己知道自己在做什么是唯一的办法。如果用户可以很容易的操作那些他根本不了解的功能,那么他也很有可能会造成破坏。

    第四: 从上面的文字中,你觉得FOSS有可能通过吸引典型的Windows用户而获得任何好处吗?

    不急,你可以重新看一遍,我等着。

    Linux和FOSS的指导原则是“做好的软件”,并非“做Windows的替代品”。一群典型的Windows用户对Linux的唯一贡献就是报怨。他们报怨什么?“它工作得不像是在Windows上那样。”

    不,它不像。如果Linux工作得就和Windows一样,那就太烂了,它将会是一个没人要的劣质品。人们如此热烈的喜爱Linux正是因为它不像Windows,它不会替你做每件事,它不会假设你永远是个无知的新手,它不会所有把内部的工作都隐藏起来。

    Windows是载着你四处跑的司机;Linux则给了你钥匙并让你坐上驾驶座。如果你不会开车,那是你的问题、你自己的错。只要你肯问,很多人都会帮助你。如果你提建议类似于装备定速巡航系统,你定是有所领悟:汽车还是自己控制在自己手上,只不过可以省不少力气。但是如果你尝试去劝说别人Linux真的真的需要一个司机,那你真该忏悔一下。

    “但这将使Linux更加主流啊!”,新手叫到。

    也许是这样。但是Linux成为主流,开发者们又能从中得到什么好处呢?Linux是免费的,就算Linux获得了更大的用户群,Linux的创造者们不会因此多赚钱,Linux论坛上的人们也不会由此获利。Linux的目标不是“获得更大用户群”──那是私有软件的目标。

    Linux的目标是创造真正好用的操作系统。开发者们一直都在忙于增加功能、减少bug和改进现有的代码,他们可没有闲功夫去举着广告牌宣传他们的东西有多好。你不难发现在他们眼中什么才是最重要的。

    有意思的是这样的模式使Linux的用户群不断增长,Linux开始很渺小,后来却非常巨大。什么原因使Linux得到如此广泛的认同?原因是它一直将质量视为焦点。用户被Linux自由和质量所吸引,而这只有FOSS能够提供。Linux能够发展壮大正是因为它并不在乎自己有多大。开发者们仅仅关注如何使它工作得更好,于是他们吸引了那些想要一个能工作得更好的操作系统的用户。

    如果突然把这一切都抛弃,相反让Linux去关注如何替代Windows,那就等于抹杀了Linux赖以成功的要素。有些公司已经看到了Linux成长潜力,希望从中掘出宝藏。但GPL成为了他们的障碍,他们无法把Linux买出Microsoft的价。“Linux如果还坚持开源的话那肯定长不了,”他们说,“因为没人能这样赚钱的。”

    他们没有意识到把Linux变为私有软件是杀鸡取卵的短视行为。正因为Linux是FOSS,也没有人想用它去替代Windows,Linux才能发展到今天的规模。Linux繁荣的原因恰恰在于它在与Windows的竞争中选择了一条Microsoft永远无法对抗的阵线:开放和质量。

    对于大多数Windows来说,Linux只是一个劣质的Windows摹仿品,它看上去功能不够丰富、集成度差还特别复杂。对于这些用户来说, Linux是个很差的操作系统。的确是这样:Linux没有满足他们的需求。他们需要的是一个简单易用的操作系统,不用任何学习就能上手。

    Windows是设计给非技术人员使用的,他们普遍感到Linux很难用。尽管情况不是这样,但这种误解还是可以理解的。

    事实上Linux很容易使用,真的非常非常易用。那为什么他们都不这么看呢?因为“易用”一词含义被严重的扭曲了,“易用”现在被理解为“在没有预先学习的情况下用起来也很容易”。但那真的不是“易用”的含义,而是“易懂”。其区别就如同:

    * 一个保险箱,上面有一张纸条写道:“如需开此保险箱,请先把播盘播到32,然后到64,然后到18,然后到9,最后拧动钥匙,同时向上提起把手即可。”

    * 一辆小汽车,只要按动摇控器上的“开锁”按钮就能打开车门。

    开车锁相比要容易得多,对吧?只要靠近汽车,一个按钮就能搞定,不像保险箱还得精确的来回转动播盘。然而,对于两种锁都不会开的人来说开保险箱锁要比开车锁容易:保险箱上写有清楚的打开方法,而开车门的按钮甚至都没有装在车上。

    会者不难。Linux也是这样,它很易用,但是学起来辛苦,只有当你愿意投入时间去学习Linux时你才能发现它为什么简单。不可避免,你越是把任务分解为简单的步骤,完成这个任务所需的步骤就越多。

    让我随便来举一个简单的例子:把文本中的五行(段)从中间移到尾部。

    如果用微软的Word、写字板、记事本等等“用户友好”的Windows文本编辑器,最快的办法是:

    - Ctrl-Shift-Down
    - Ctrl-Shift-Down
    - Ctrl-Shift-Down
    - Ctrl-Shift-Down
    - Ctrl-Shift-Down
    - Ctrl-X
    - Ctrl-End
    - Ctrl-V
    

    (这里假设你使用键盘操作。不然,你需要好几步鼠标托拽操作和可靠的自动滚屏。)

    在vi里只需如此:

    - d5d
    - Shift-g
    - p
    

    论“用户友好”性,vi可谓要多差有多差,但它完成同一操作所需的击键次数却比微软的软件少。为什么?因为Vi注重于功能,而微软更注重“用户友好”。微软把所有事情都分解为简单步骤,所以完成同样的任务要花多得多的步骤。

    这使得不论是什么样的文本编辑任务,一旦你学会使用,相比之下vi都更加高效、易用。如果你不知道“d5d”的意思是“将五行文本放入缓冲,然后将其从文档中删除”,那么可能你用起vi来就会感到很痛苦。但如果你已经知道了,那用它起来就是随心所欲了。

    所以当一个新手看到有经验的vi用户可以如此快速、方便的做事时,他自然会很容易得出结论:编辑文本,vi要比Word强。然后他自己去尝试,运行vi,看到的是满屏的~s,打字,什么反应也没有。

    后来他弄明白了文字录入和命令模式,接着就想用vi做事。然而对vi过于有限的知识依旧使他步履维艰,在他能真正掌握vi之前还有太多的东西要去学习。然后他开始报怨:“vi如果能像Word那样易用就好了。”

    但实际的问题是:“我不知道怎么用vi,学起来太麻烦了。”这是他自己的问题,他在指责自己的问题而不是软件的。 有成千上万的人乐意于使用vi,他们从没报怨过说:它太难用了,必须改!

    请相信我,如果他能写出一个软件既像Word那样“用户友好”又像vi那样功能强大,那他一定能赢得无数掌声。事实上,他应该还能赢得诺贝尔极度智慧奖,因为目前还根本没有其它人能做到这一点。但他如果仅仅是诉苦vi太难用,那只会遭到嘲笑,因为vi没问题,问题在他自己。

    转至 UserFriendly.org 版权所有 ? 2004 J.D. "Illiad" Frazer.

    (译者:

    图1,左:你有没有给Niffle先生打电话,关于他的连接问题?右:有。

    图2,左:那分析结果是?右:经典PEBKAC问题。

    图3,左:PEBKAC?右:键盘和椅子之间存在的问题。)

    这就像买了达芬奇的画笔然后报怨自己还是不会画画。画家的技巧才是成就名作的关键,画笔本身创作不了蒙娜丽莎,它只是一个依赖使用者技巧的工具。而这种技巧必须通过练习才能获得。

    vi正是如此,很多Linux软件也一样。一些新手总是报怨这些文本编辑器、包管理器或者命令行本身太复杂、太不够直观。

    在你坚持Linux某些东西必须修改之前,请问自己这样一个问题:“那些老手们是不是也有同样的意见呢?”

    如果答案是“不”,那问题在你自己这一边。如果其它人都能很好的使用,你为什么就不行呢?你有没有花时间去学呢?或者你是否打心底里就没有想去尝试呢?

    “用户友好”和“底层的功能性”常常是矛盾的。那些小按钮和下拉菜单确实能使软件变得易于使用,但对有经验的用户来说它们却可能是麻烦。这就如同拿着地图和指南针从A走到B,与看着路标走的区别一样:谁都会跟者路标走,但这会比知道如何直接过去的人多走一倍的距离。

    (译者:蓝色线条:“简单”路径;红色线条:直接路径)


    粘贴数值。我不想在这些“友好”的菜单、子菜单和对话框中选来选去,我就想直接完成。老实说,如果重设快捷键,再记录一些宏,我完全可以通过键盘来指挥Excel和Word做绝大部分的事。

    但这就不是用户友好了,对不对?它还是需要用户投入大量时间来研究这个软件。Linux要求你花时间学习如何使用现成的功能,而“用户友好”的软件却要你花时间自己创造功能。

    如果你喜欢这样,没问题,你就这样做好了。只是你应当看到:问题出在你自己的知识水平上,而不是软件本身。一旦知道如何使用,所有的Linux软件都超级好用。但如果你不知道,那它就显得很难使,这并不是软件的错。

    现在也许你开始觉得Linux有点态度问题。它不想要用户,它不想让自己的用户感到方便……它只是给那些自命不凡的l33t h4xx0r5用的!(译者:l33t h4xx0r5又可写作leet haxxors,指不受电脑系统权限所约束、对自己的电脑技巧极有自信的人,通常指黑客)

    这完全脱离事实。Linux当然想要用户,它当然不想让事情变得困难。正相反:按照Linux的定义,难用的软件就是垃圾软件。

    但是你要知道,它的定义可能和你的不同,也和“传统”的私有软件的定义不同。

    Linux想要那些真正需要Linux的用户。这不仅是说需要一个名头,而是所有的东西:自由、开源的软件;自己修补软件的能力;坐上驾驶座的感觉,一切尽在掌握。

    这才是Linux,这才是Linux关注的。人们因为讨厌病毒、讨厌蓝屏、讨厌间谍软件而转去用Linux也是可以理解的。但这些人并不需要Linux,他们只想要一个没有那么多毛病的Windows。他们不要Linux,那Linux凭什么一定要他们呢?

    但如果他们因为病毒和间谍软件而去尝试Linux,然后慢慢接受了Linux的理念并开始被Linux自身的特点所吸引,继而想要使用它,此时Linux也想要他们。

    在你决定转而使用Linux之前,问问自己“我为什么要转?”

    如果答案是“我想要一个能赋予用户所有的权力操作系统,我明白它要求用户必须学习使用。”:那就选Linux。也许你要付出很多时间和努力才能达到你想要的高度,但最终你能得到一台完全按照你的想法工作的电脑。

    但是. . .

    如果答案是“我想要个没那些毛病的Windows”:那么安装一套干净的Windows XP SP2;设好防火墙;安好杀毒软件;永远不要用IE浏览网页;经常更新;每次装完软件都重启;还要多了解安全方面的知识。我自己从Windows 3.1用到95、98、NT和XP,从来没有中过病毒和间谍软件,也没被黑过。Windows可以很安全、很稳定,但是只有你花力气维护它才行。

    如果答案是“我想要个没毛病的Windows替代品”:那买一台苹果Mac。我听说OS X的Tiger版很棒,苹果机器的外观也很漂亮。也许你为此要花钱买一台新的机器,但你能获得你想要的东西。

    这两种情况下,都不要去尝试使用Linux。你会对Linux的软件和社区感到失望的。Linux不是Windows。

    Posted by ideawu at 2005-12-09 16:51:27
  • 2005-12-01

    Linux离我们还有多远?谈Linux系统的中文问题

    Views: 5982 | No Comments

    1.前言

    随着更多的国际巨头将目光投向Linux,这一充满传奇色彩的操作系统迅速地在全世界范围内得到了广泛的应用??不管是科学领域,还是在商务领域、桌面领域,Linux都表现得游刃有余。

    不过在中国,在政府采购之外,我们却完全看不到这种景象。令人奇怪的是,中国甚至还拥有几个自己的Linux发行版,可是既没有宣传攻势,也没有媒体关注,甚至市场上也很难见到和买到。而Linux相关技术对于中国软件业的重要性无异于一根救命稻草,中国的软件企业却大都对它视若无睹。

    如今,在整个国际环境发生变化之后,国内终于有越来越多的人开始关注并使用Linux。可是形势却很令人迷惑:在市场上,他们只能买到redhat(红帽子)公司的发行版(包括redhat和fedora core),而对于国内开发商,顶多也只听说过红旗。于是,在中国,redhat=最好的Linux,红旗=国产Linux,人们无法选择其他闻所未闻的发行版。

    事实上,redhat9、红旗尽管中文支持相当优秀,但在其他方面实在是差强人意,与新的发行版如fedora core、suse、mandriva等根本无法相提并论。而在部分人通过网络下载到这类一流的Linux发行版并安装后,许多人失望了:Linux也许很漂亮,也许很易用,也许很稳定,可是我们没法用??中文显示乱七八糟,中文软件寥寥可数。最后,还是去用多年前最好的Linux或者国产Linux吧……

    这到底是为什么?Linux到底离我们有多远?本文仅就Linux在中国推广过程中出现的两大问题??字体、软件本地化,进行分析和讨论。

    2.现状

    我们说Linux的中文支持存在问题,是和Windows相比较而言的。Windows的中文支持相当优秀。相比较而言,Linux下的中文显示简直乱七八糟,许多世界一流的发行版哪怕是安装过程中选择了中文(中国),在安装之后,要不就是中文显示缺字,或者很难看,或者是乱码,或者干脆就没有中文。当我们背着“盗版”的罪名把Windows下的宋体字体拷过来之后,这才发现系统根本无法显示中文的粗体和斜体效果……如果你愿意的话,可以到网上搜一下Linux安装和配置方面的文章,最常见的问题肯定是:字体美化。那些乱七八糟的命令和一大堆配置文件足以让无数初接触Linux的人知难而退。

    在经历了痛苦和艰辛之后,你终于可以使系统正常显示中文了,这时却发现了新的问题:无数应用软件根本没有中文的。Linux的应用软件不少,但有中文界面的却着实不多(和Windows下的相比)。对于一个Linux新手而言,最痛苦的莫过于为了做一件在Windows下可以舒舒服服就完成的事情,不得不在因特网的海洋中大肆搜索Linux下的替代品,然后是忍受那满屏的英文……

    3.原因

    假若中国人没有中文字体和中文软件可用,应该怪谁呢?

    字体

    很多人在埋怨,为什么Redhat以外的国外Linux开发商不重视中国市场,连字体都不愿意提供?

    有一点我们必须明白:当某个软件在某个区域的支持上表现不佳时,往往可以归咎于这个区域而非软件本身,至少在Linux世界往往如此。

    与中文支持形成鲜明对比的是,一般的Linux发行版的日文、韩文乃至阿拉伯文的支持都很好(这是当然的),系统中往往已经附带了一批这些语言的字体。这总是让人产生“Linux不重视中国市场”的错觉。也许是微软的Windows出色的中文支持让大家逐渐遗忘了事实:Windows中自带的中文字体并非微软出产,而是我国的中易公司制作的。问题是Windows是一个商业桌面系统,微软有充足的金钱来购买中国字体公司制作的字体,或者雇用中国的开发团队来为他们进行本地化工作。Redhat、红旗之所以具有良好的中文支持,也正是采用了同样的方法。而今天的Suse、Mandriva等Linux开发商也已经开始走上同样的道路。

    似乎这个问题就此解决了。可是,为什么我们的邻居??日本和韩国,却根本没有发生这样的问题呢?难道是因为他们的经济比我们要发达么??对于那些社区开发的Linux发行版,又是采用什么方法来解决其他亚洲语言字体的呢?

    事实上,不管是在日本还是在韩国,这类字体都是由商业公司免费提供给Linux使用的,面对这一可能将对自己民族产生巨大利益的自由操作系统,他们无法只是盯着那点利润不放。在台湾,文鼎公司也一次提供了14套中文字体供Linux使用者免费使用。然而,中国大陆则根本没有任何一家字体公司宁可任由别人去盗版自己的字体,也不愿意将自己的任何一款字体在Linux下授权免费使用。结果,我们目前所能找到的所有开源的或是免费的简体中文字体,几乎全部是出自大陆以外的华人同胞之手!至于欧美的情况,看看任何一款Linux发行版中所附带的近百种令人眼花缭乱的英文字体,就应该可以明白这些资本主义国家中的字体公司是如何看待这个问题的了。

    目前的情况还真是有些可笑,我们明明有那么多的企业拥有字体,可是作为中国人,我们却没有一款大陆公司或大陆开源社区制作的简体中文字体可用。

    粗斜体问题

    很多人觉得很奇怪,在Linux下,默认情况通常是无法显示中文粗斜体效果的,但英文的粗斜体效果却很好,恐怕不由得又开始怀疑别人的“中国市场政策”了。

    不过,这次是Linux本身的问题。我们如果要看到粗斜体效果,其实有两种方法:一是字体本身带有粗体、斜体、粗斜体,即每个同名字体会有4个文件;二是字体本身只有一个文件,由操作系统计算粗斜体效果,这种粗斜体称为模拟粗斜体。现在大家应该明白了,Linux之所以无法显示中文粗斜体,正是因为我们在Windows常用的中文字体,都根本没带有粗斜体,完全是由系统模拟的,而Linux默认没有计算模拟粗斜体的功能。而Linux之所以对英文的粗斜体支持不错,则是因为几乎所有的英文字体,都是本身带有粗斜体文件的!

    现在我们知道,Linux在这方面确实存在不足;而我们也知道了,其实我们自己完全可以解决这个问题。有人也许会抱怨多套字体占空间,不过这种抱怨是无用的,因为你系统中的英文字体已经采用了这样的解决方案。我们当然可以等待Linux将模拟粗斜体的计算模块纳入默认的发布版中,但是在那之前,我们完全可以先通过制作粗斜体字体的方法来解决。也许有人会觉得很麻烦,其实这一切都是可以由软件来完全搞定的,费不了什么事,不过有个前提:必须有字体公司授权或者字体公司自己愿意做。尽管网络上已经出现了多款这样的字体,但是目前并没有任何一款是获得字体公司合法授权的,而且本身也存在着各种问题。而在盗版Windows的长期统治下,似乎没有任何一家中国的字体公司意识到自己有必要解决这个问题。

    中文软件

    这里说的“中文软件”指两种,一种是我们自己做的中文软件,一种是对老外的软件进行了汉化之后的软件。

    首先,我们自己做的Linux中文软件比较少,这一点是很容易理解的,因为中国的Linux用户和开发人员都比较少,随着Linux的普及程度得到加强,这个问题也会逐渐得到解决。

    对于汉化软件的缺乏,我们可以回顾一下上面所说过的那一条:当某个软件在某个区域的支持上表现不佳时,往往可以归咎于这个区域而非软件本身,至少在Linux世界往往如此。在Linux世界中,中文翻译人员还是很多的,而且我们可以看到,像KDE、GNOME、Firefox之类的大型软件项目的中文本地化程度都很高。不过,跟Windows下的情况相比,又存在一些不同。

    在windows下,以商业软件占多数,因此汉化工作主要有两种。一种是厂商主动进行中文本地化以在中国市场进行推广,这种本地化通常质量比较高。另一种也就是常见的所谓“汉化破解”,一般由用户中的一些高手在未得到厂商许可的情况下,为了方便而自行进行汉化,这种汉化的质量通常取决于个人的实力。在Windows下,前一种情况更常见些。

    在linux下,则以自由软件占多数,汉化工作也就更依赖于普通用户。自由软件为了方便用户进行本地化,通常在国际化支持方面都会做得比较好,以便用户只需要提供一个语言文件即可。而且在Linux下,汉化工作通常是由一群爱好者组成的一个汉化小组进行的,因此在质量方面也比较有保障。

    也就是说,Linux的汉化软件之所以不多,正是因为中国的普通用户很少愿意去为软件进行汉化工作,而这种工作通常是无偿的。

    尽管客观上存在着用户数不高的原因,但这并不是一个很好的借口,因为其他语言的本地化情况则完全不同。通常每个软件出来之后,都是首先出现拉丁语系的语言文件,然后必定是日本和俄国的,紧接着就是繁体中文的,最后才有可能出现简体中文的。许多简体中文包根本就是基于繁体中文包的基础上制作的。中国是世界上人口最多的国家,可是在汉化工作上则是亚洲最落后的国家。不愿奉献而只顾索取,正是现代众多中国人精神面貌的一大特色。

    4.解决方案

    要解决以上这些问题,其实并不是那么困难。

    首先,最好还是有一些(哪怕有一个也好)商业字体公司为Linux用户提供一份免费使用授权协议,如果能附带粗斜体字体就更好了,这种做法对公司本身就是很好的宣传。如果我们的字体公司不愿意免费提供,我们的政府也完全可以以很小的代价购买这些字体的使用权并使它们对最终用户免费。另外,我们还可以号召中国的Linux爱好者募集资金成立一个基金会,由基金会来购买字体并且进行字体相关的一些工作。此外,我们还可以大力发展我们自己的开源社区,以开源的方式制作和发布字体,这方面文泉驿项目(不过似乎原本还是由我们的港澳台同胞牵的头)就做得相当不错。

    至于中文软件,大力推广和普及Linux和跨平台技术是个不错的解决方法。但要从根本上改变的话,则还是需要大力推动开源社区建设,以开源的方式来制作中文软件或是汉化软件,这对于发扬我们的共享精神和奉献精神也是很有帮助的。

    5.总结和曙光

    Linux离我们还有多远?当某个软件在某个区域的支持上表现不佳时,往往可以归咎于这个区域而非软件本身,至少在Linux世界往往如此。要在中国普及Linux,需要靠我们中国人自己的努力。

    - 作者: Addone 访问统计:30 2005年11月3日, 星期四 07:30

    天堂一角 http://addone.blogchina.com/blog/3399985.html

    Posted by ideawu at 2005-12-01 13:07:14
|<<<789101112131415>>>| 14/15 Pages, 86 Results.