前两篇文章基本上都在对 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 命令行实验环境,为后面系列的文章奠定一个基础,并借此扩大下本系列文章的“打击面”。
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 等等。
- Cygwin 通过对 Windows API 的整合封装模拟出一套 POSIX API。有了这套基础性的 POSIX API(就是 Linux C 编程的什么
- How – 看脚注1
- Pros – 傻瓜式安装;可以和 host 文件系统方便互通
- Cons – 没有类似于 apt-get 这种杀手级的软件包管理工具,安装一些额外的软件颇费周折,而且官方软件库更新较慢
- 可用性 – 3 星
- 很多以 Linux 为推荐运行平台的软件也支持在 Cygwin 上开发测试,比如 Hadoop
- 结论 – 如果只是看看 Linux 的命令行长什么样子,那么本文看到这里就可以了
SUA
- What – SUA 是 Windows 的一个 subsystem,提供一些基本的 POSIX API,在此基础上提供一些简单的 *nix 程序,诸如
vi
、ksh
、csh
、ls
、cat
等。 - How – @see 这里
- Pros – SUA 是微软自家的东西
- Cons – 除了 Pros 之外都是缺点
- 软件稀少,版本低无法扩展是致命伤。我只用过一次就甩了
- 可用性 – 1 星,玩具而已,未见日常使用
- 结论 – 了解即可
虚拟机
- What – 虚拟机大概是最常用也最方便的方式了吧,虽然虚拟机本身的水非常深。我第一次接触虚拟机的概念还是在大一上,那个时候自己还在熟悉怎样更好更快地安装 Windows 操作系统,Virtual PC自然而然就成了我的好伙伴,而我也为能在 Virtual PC 下顺利安装一个 MS DOS 7.1 感到欣喜不已。后来接触到了 VMware,它有两个显著的特性,一大特性是强,另一大特性就是卡。VirtualBox是我的最爱,轻量快速,乃居家旅行杀人越货必备良品。
- How – 准备 10 G 硬盘空间就 OK
- VirtualBox 有一些非常给力的特性:
- 支持和宿主机单向共享文件
- 安装 VirtualBox Additions 后支持全屏
- 折腾好的话可以支持 USB 接口
- 再 NB 一点的话甚至可以启动真实磁盘上的系统,impossible is nothing。
- VirtualBox 有一些非常给力的特性:
- Pros – 虚拟机能够给你 100% 原生的 Linux 观感和体验,而且使用过程中无毒无害,更不用担心将系统不小心搞挂,配合上 VirtualBox 的文件共享功能和全屏功能,再加上一个稍微给力点的电脑2,有时候能够达到以假乱真的效果
- Cons – 性能上还是有些损失的;除了 VMware,其余虚拟机软件好像没有特别方便的方法支持 bridge network,有时候很不方便
- 可用性 – 4 星
- 结论:VirtualBox 乃居家旅行杀人越货必备良品
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本身的安装还是要非一番周折的。幸运的是,万能的社区提供了两个打包好的一键安装方案,那就是 andLinux 和 Topologilinux。我只用过 andLinux,推荐。
- coLinux 可以通过 Samba 和 Windows 系统共享文件。
- 可以将 coLinux 做成随系统启动的一个服务,并且在 coLinux 里面开始
sshd
进行,之后用 putty 这类软件连接 SSH,就可以全面享受 Linux 命令行运指如飞的畅快了 - 如果你以前没有用过 apt-get 这个程序,这次不要错过,因为集中化的软件管理机制是 Linux(Debian/Ubuntu 的 apt-get)的杀手级特性,也是我的最爱。
- Pros:除了 Cons 都是 Pros
- Cons:None
- 可用性:5 星
- 结论:这是我大三暑假在华数淘宝实习时跟一位高手偷师过来的,最爱,强烈推荐
其余解决方案
除了以上谈到的,KDE for Windows 是在 Windows 上体验 KDE 桌面环境的一种可行的方案,虽然其目前 bug 依然多多;如果你玩腻了以上所有,想装个真家伙,又怕手生一不小心误删重要文件,那么 Ubuntu Wubi 应该是一个不错的解决方案。如果你已经开始讨厌 Ubuntu Wubi 了,那么恭喜你,你已经成功地被我忽悠,进入 *nix 的精彩世界,just enjoy it。