行者无疆 始于足下 - 行走,思考,在路上

打造高效的工作环境(番外篇1): windows/linux钗黛双收

前两篇文章基本上都在对Windows进行各种吐槽,最近Win8消费者预览版的出现更是让我对我的吐槽充满了信心——微软已经堕落到需要靠五颜六色的砖块来吸引眼球的地步了。我虽然没有亲身体验过Metro UI,但是我依然坚持,Metro UI是个无比糟糕的设计,一个彻头彻尾的倒退。颠覆传统、回归本原?是回归到Windows 3.x时代吗?一眼望去,Metro UI似乎很绚烂,像焰火漫天的夜空,但是稍不留意,作为使用者的我们就很容易迷失在图标的海洋里面。在我的印象中,直角化的图案一直是设计里的禁忌之一,而为了弥补这个缺憾(或者说是对传统的颠覆),Metro采用了大量的颜色来填充一个又一个的砖块,使得这些砖块能够不至于“迷失自我”。

我认为一个良好的使用界面应该要有统一的风格,至少不能有太多的颜色,而不是像一个调色版一样令人眼花缭乱;圆角在舒适的用户体验中是不可缺少的,可惜苹果在前,*nix在后,微软在UI设计方面的创新已经没有太多可选的余地,只能走一个极端来玩一场赌博;前两年的Ribbon界面应该是Metro设计的一个铺垫,我认为Ribbon确实是个不错的创新,能够将大量的MS Office小白用户从繁杂的菜单中解放出来,但是Metro实在太过了;最苦的应该是Windows开发者,唉,三年一小改、五年一大改是微软的一贯风格。

不过这些对我都不重要,重要的是我相信,即便我对Windows吐槽了这么多,许多朋友还是小心翼翼,不敢投入Linux的怀抱。正常,因为Linux的门槛确实不低,加上一大堆的概念和思维的转变,再补上如百花从般绚烂多彩的发行版和如满天繁星般闪亮的各种大小bug瑕疵,足以令80%的初学者望而却步。而我又不想让我的文章太过小众(我在开篇中说过,这一系列的文章主要面对以Linux系统为工作环境的初级Coder,兼带高级电脑使用者)。因此,我总结了一些变通的方法,让你可以在你的Windows系统上无痛地尝尝Linux的鲜。

本文主要针对那些想要尝试下Linux但又怕损坏自己Windows的工作平台的同志。当然,本文的重点还是命令行环境的建立,因为熟练掌握命令行是高效使用Linux的必由之路。而至于图形界面,由于Windows Explorer的顽固存在,Windows下的GUI没什么可折腾的。除了虚拟机,似乎没有什么特别完美的办法能够在不切换系统的情况下体验Linux的图形界面。

本文主要介绍一些简单易行的方法手段,能够在Windows下建立一套相对完整的Linux命令行实验环境,为后面系列的文章奠定一个基础,并借此扩大下本系列文章的“打击面”。

1 Cygwin

  • What:通俗的讲,Cygwin是Windows上的一个模拟软件,最初是由Cygnus Solutions公司开发的。
    • Cygwin通过对Windows API的整合封装模拟出一套POSIX API。有了这套基础性的POSIX API(就是Linux C编程的什么fork/wait啊、signal啊、open/close啊这套东西),再加上一套合适的交叉编译器(就是大名鼎鼎的GCC了),就有了在Windows上模拟运行*nix软件的基础。
    • Cygwin本身也包含了很多常用的自由软件,包括核心的bash、coreutils、findutils等,配合Cygwin/X这个东西,甚至可以直接运行许多X Windows上的软件,包括Emacs,gvim等等。
  • How:1
  • Pros:傻瓜式安装;可以和host文件系统方便互通。
  • Cons:没有类似于apt-get这种杀手级的软件包管理工具,安装一些额外的软件颇费周折,而且官方软件库更新较慢。
  • 可用性:3星。
    • 很多以linux为推荐运行平台的软件也支持在Cygwin上开发测试,比如hadoop
  • 结论:如果只是看看Linux的命令行长什么样子,那么本文看到这里就可以了。

2 SUA

  • What:SUA是Windows的一个subsystem,提供一些基本的POSIX API,在此基础上提供一些简单的*nix程序,诸如vi、ksh、csh、ls、cat等。
  • How:@see 这里
  • Pros:SUA是微软自家的东西。
  • Cons:除了Pros之外都是缺点。
    • 软件稀少,版本低无法扩展是致命伤。我只用过一次就甩了。
  • 可用性:1星,玩具而已,未见日常使用
  • 结论:了解即可

3 虚拟机

  • What:虚拟机大概是最常用也最方便的方式了吧,虽然虚拟机本身的水非常深。我第一次接触虚拟机的概念还是在大一上,那个时候自己还在熟悉怎样更好更快地安装Windows操作系统,Virtual PC自然而然就成了我的好伙伴,而我也为能在Virtual PC下顺利安装一个MS DOS 7.1感到欣喜不已。后来接触到了VMware,它有两个显著的特性,一大特性是强,另一大特性就是卡。VirtualBox是我的最爱,轻量快速,乃居家旅行杀人越货必备良品。
  • How:准备10G硬盘空间就OK。
    • VirtualBox有一些非常给力的特性:
  • Pros:虚拟机能够给你100%原生的Linux观感和体验,而且使用过程中无毒无害,更不用担心将系统不小心搞挂,配合上VirtualBox的文件共享功能和全屏功能,再加上一个稍微给力点的电脑2,有时候能够达到以假乱真的效果
  • Cons:性能上还是有些损失的;除了VMware,其余虚拟机软件好像没有特别方便的方法支持bridge network,有时候很不方便。
  • 可用性:4星
  • 结论:VirtualBox乃居家旅行杀人越货必备良品。

4 Colinux

  • What:Cooperative Linux, abbreviated as coLinux, is software which allows Microsoft Windows and the Linux kernel to run simultaneously in parallel on the same machine. 简单而言,coLinux和VirtualBox这类虚拟软件最大的区别在于,coLinux运行的linux系统是何Windows宿主系统共享系统资源的3,因此其性能对比VirtualBox这类虚拟机软件要好很多。
  • How:coLinux本身的安装还是要非一番周折的。幸运的是,万能的社区提供了两个打包好的一键安装方案,那就是andLinuxTopologilinux。我只用过andLinux,推荐。
    • coLinux可以通过samba和windows系统共享文件。
    • 可以将coLinux做成随系统启动的一个服务,并且在coLinux里面开始sshd进行,之后用putty这类软件连接ssh,就可以全面享受linux命令行运指如飞的畅快了。
    • 如果你以前没有用过apt-get这个程序,这次不要错过,因为集中化的软件管理机制是linux(debian/ubuntu的apt-get)的杀手级特性,也是我的最爱。
  • Pros:除了Cons都是Pros。
  • Cons:None。
  • 可用性:5星。
  • 结论:这是我大三暑假在华数淘宝实习时跟一位高手偷师过来的,最爱,强烈推荐。

5 其余解决方案

除了以上谈到的,KDE for Windows是在Windows上体验KDE桌面环境的一种可行的方案,虽然其目前bug依然多多;如果你玩腻了以上所有,想装个真家伙,又怕手生一不小心误删重要文件,那么Ubuntu Wubi应该是一个不错的解决方案。如果你已经开始讨厌Ubuntu Wubi了,那么恭喜你,你已经成功地被我忽悠,进入*nix的精彩世界,just enjoy it。

--

Footnotes:

1 什么?你不会问我Cygwin要怎么安装吧?

2 不够2G内存的同志赶紧去花钱加内存吧,当然,有双屏更好。

3 coLinux运行的linux系统需要对内核进行特殊的修改。当然,关于这种修改本身和coLinux背后的原理已经远远超出了本文讨论的内容和本人的技术水平,还请高手不吝赐教。




Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee