在Windows上玩Linux
最近几天在Windows上折腾Linux了,主要是发现现在我装双系统没有意义,准备换回以前使用Linux的模式了,主要也是用来进行测试和一些Linux的学习,所有来回切换系统十分的麻烦。当然了我也体验了一些新的玩法,所以在这里总结一下,在Windows上玩Linux主要有这么几种:
- 虚拟机
- Docker
- Bash on Windows
- Cygwin
前两种折腾的方式我就不再说了,应该是现在的主流玩法了,所以我还是介绍一下后面两种玩法吧O(∩_∩)O哈哈~
Bash on Windows
Windows的Linux子系统其实一直存在,Windows xp和Windows 7中都可以使用,在Windows 8中被微软删除了,以前这个子系统是微软为美国军方提供的,所以用的比较少,功能也少,其也不是为了开发者进行设计的,所以社区对其功能的挖掘较少。在Windows 10发布一周年更新的时候,微软联合了Canonical 联合发布了Bash on Linux这个子系统,其完全使用净室开发,在Windows上完全实现了Bash的接口和操作,其实现的机构图如下,其实就是利用bash对Windows底层的内核态进行了一个抽象和,其基本和win32 api这些是位于同一个层次的:
使用的方法也十分的简单,在设置 -> 更新 -> 针对开发人员
中设置成开发人员模式就行,然后在启用或关闭Windows功能
中将Linux子系统打开基本就可以了。在重启后,在cmd或power shell中输入bash,就可以使用了。
当然也有一种玩法,就是基于这个项目中使用ArchLinux的组件和更新,因为是bash对Windows的底层操作做了抽象,所以这是一种十分好玩的方式,可以试试alwsl这个项目,具体操作如下:
1 | alwsl install |
安装完成后就可以使用ArchLinux那个丰富的软件源了。
Cygwin
许多人知道Cygwin的话应该是初学C语言或者C++语言的时候,但是Cygwin还可以干的事情有很多,Cygwin是自己在Windows上实现了POSIX的模型,利用Cygwin1.dll这个动态库实现各种操作,性能比较低,相当于在一个应用软件中运行一个应用。淡然他的可玩性也是特别高的,比如可以在Windows上体验xfce桌面环境,这几天我折腾的及时StarLight这个项目,其基于Cygwin,利用xserver实现了在Windows上的体验,安装的话和Cygwin安装差不多,不再说了,我写了我的一些玩法:
安装swan-desktop:
1 | spm -i swan-desktop |
安装完成后使用的效果如下:
使用zsh
starlight这个项目提供了一个zsh的实现,我们可以使用这个包,并且配合oh-my-zsh的强大插件,可以体验在Linux上使用各种指令的快感了:
1 | 安装zsh |
Author: moyu-x
Link: http://moyu-x.com/2017/03/27/201703/LinuxOnWindows/
License: 知识共享署名-非商业性使用 4.0 国际许可协议