andLinux:(接近)无痛的Linux
一个人接近Linux(换一个好听的词叫做自由世界)的方式可以有很多种。最痛苦的,比如Linux from scratch,完全从每一行源代码开始编译,装一个系统没几天下不来,更别说好用;到现在主流的Ubuntu,基本上一个Live CD就可以搞定所有,并且装好之后也直接拥有一个十分完整的桌面——很多方面甚至要强过刚装好的Xp或者Vista,因为Linux自带的驱动和程序往往非常全。但是,现实世界是,绝大部分人依旧每天生活在Windows之中,这里面有无数好用的,或者不好用而必须要用的程序,这些人要抛下一切,去拥抱自由的世界,恐怕没有那么容易。
原来我们一直有一个解决方案,叫做虚拟化,大部分情况下,采用的是平台虚拟,就是虚拟出一套完整的硬件平台来,在这个平台上再运行一个系统——你可以在Linux里面跑Windows(我自己的机器就是这么干的),也可以在Windows里面跑Linux。但是这样做的缺点就是虚拟出来的硬件往往效率低下,而且虚拟系统的资源是固定的,没有柔性。而且一个虚拟的硬件,如果内存预分配是500MB,那么他就是500MB,不能大,也不会小很多。不知道有多少人会经常在Windows上这样跑Linux的?
但是我们现在有另外一个方式来做这件事情,这就是andLinux。简单的说,他是一个在Windows上面跑Linux程序的工具,并且他上层包装了Ubuntu——前面说过这是目前最流行的Linux,意味着你有最多的程序和最好的社区支持。而在底层,他用的是一个叫做coLinux的核心,这个才是关键。
据Linux.com的文章,coLinux最初是2000年由Dan Aloni开始的,那个时候他还是计算机系一年级的学生。coLinux的主要工作方式是对Linux内核打补丁,把他的硬件接口都直接转换为Windows已有的硬件接口——大概的意思就是,现在Linux程序和Windows程序用的是同一套硬件了,而不是虚拟出来的一套硬件——因此这种方式的工作效率很高,接近直接运行Linux系统的效率。不过这样做的缺点就是,你需要扫描整个Linux内核,查找所有他用到的硬件接口,然后替换掉。因为现在要将Linux运行在Windows里面,Linux原有的一部分硬件检测等启动步骤也需要修改。这些都是耗时耗力的手工劳动——在已经有这么多年工作成果的基础上,修改一个新版本的内核,在现有的项目人力水平下,仍旧需要几个月的时间——这也就是为什么过了这么多年,coLinux项目还只发展到0.7.2的水平,稳定内核也还是两年前的2.6.17。
不过总体上来说,目前coLinux已经工作的很好,有数个小组在他们工作的基础上,推出了上层的桌面组件,andLinux就是其中之一。因为他包裹的是Ubuntu,所以成功的机会更大一些。通过Xming(Linux桌面的Windows移植),Linux程序现在可以无缝的运行在Windows之上,你可以在Windows和Linux程序之间随意切换——真是cool!
我在XP和Vista上都安装过andLinux,几分钟就装完了,过程很顺利,运行也非常顺畅。唯一的问题是中文:无论是Windows输入法,还是Linux中的SCIM都无法工作;andLinux程序与Windows之间可以共享剪贴板,但遇到中文似乎也无法工作。andLinux占系统资源很小,启动之后大概只占60MB的内存。
总的来说,我们要像那些辛苦工作的开源程序员们致敬,是你们的辛勤劳动,才让我们能这么帅的来用Linux。