使用Windows机器进行开发的同学看见使用Linux/Mac的同学在shell里面敲两条命令就搭建好了开发环境,表示十分羡慕.
那么Win10自带的WSL(Windows Subsystem for Linux)就是使用Windows进行开发同学的福利了.
本文件介绍了在win10上使用WSL搭建Linux的开发环境的方法,大家可以参考.
前提条件
WSL在win10才有,所以需要win10系统,而且确保升级到最新的版本.win7/8系统没有这个功能,如果是win7系统,要实现这样的功能,就只能安装虚拟机了.
操作步骤
1.开启win10的开发人员模式
![2d6c3343555e36bbb0ccf3f454d6a2a8.png](https://i-blog.csdnimg.cn/blog_migrate/b6aa5f416cd1e1e05056de8afcfa68b3.jpeg)
2.开启win10的适用于linux的windows子系统
![f50fdef77958f8ae76d2c9afb9ab8068.png](https://i-blog.csdnimg.cn/blog_migrate/f29272fe7fa354db777da0035445132b.jpeg)
这一步完成之后机器会重启,重启之后再执行下面的操作
3.安装ubuntu
打开microsoft store,搜索ubuntu,然后安装
![951b24256a96b10b27b91e657f2962c5.png](https://i-blog.csdnimg.cn/blog_migrate/8595e3fc447907ffa675b845410eae24.jpeg)
安装完成之后,启动ubuntu
![ba066af0567349d3ea5c4e3af783d49e.png](https://i-blog.csdnimg.cn/blog_migrate/2c8cba97a1cbb47dce5cd0a78c05fb8f.jpeg)
等一会儿会有一个黑框弹出来,里面会让输入新用户的密码,自己随便输入一个就可以了.
4.设置ubuntu的默认用户为root
默认安装好的ubuntu登录的用户是自己刚才新建的,比如我的就是cxy. 执行很多命令的时候需要使用sudo,比较不方便. 可以将默认用户设置为root.
以管理员身份打开windows的cmd命令行
c:甥敳獲xxxAppDataLocalMicrosoftWindowsApps甥畢瑮u.exe config --default-user root
其中xxx换成自己的用户名
![aae1012cc27989de770a2ef5cd0c0033.png](https://i-blog.csdnimg.cn/blog_migrate/4e2cadc5baf60f890b708de3f9177373.jpeg)
然后再启动ubuntu应用,就能看到默认是root用户登录的了.
5.安装最新版本的mobaxterm方便操作
直接使用上面的命令窗口也可以操作,但是很多复制粘贴都不方便.
可以下载最新版本的mobaxterm(我的是11.1),其可以直接支持wsl.
![1c5e228d6130945371f36d8f9d6a1e57.png](https://i-blog.csdnimg.cn/blog_migrate/53960e613d6bea7a0db6321db754a491.jpeg)
新建session的时候选择WSL,然后默认选项就可以了
![59dcda7059bbc0566cf2923306b340e3.png](https://i-blog.csdnimg.cn/blog_migrate/a599228c3d1d59c668de1d76a78cdb16.jpeg)
最后安装得到的结果,可以看到这个是最新版本的ubuntu 18.04 LTS版本.但是内核不是Linux的,而是Microsoft.
![ced081392b5464b4eac798361b3950bd.png](https://i-blog.csdnimg.cn/blog_migrate/569268937eaa45cb940a4509d6d6ad60.jpeg)
搭建好的环境
使用小技巧
1.可以把下面的两行加入到~/.bashrc的最后.
PS1让提示更加好看.
PATH保证只有linux需要的路径包含在里面,因为默认情况下会将windows的PATH也包含,导致有些命令会冲突.
export PS1=' UBU e[1;37m[e[me[1;32mue[me[1;33m@e[me[1;35mHe[m e[4mwe[me[1;37m]e[me[1;36me[m $(echo $?) $'export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games'
![76148d53c2246e23486d5b494fc72e81.png](https://i-blog.csdnimg.cn/blog_migrate/db89644acfe9d3d8029698ae6fe907ae.jpeg)
2.路径映射
wsl的根目录/是在C盘一个比较深的隐藏路径下面
使用df -hT,可以看到我机器的C:,D:盘分别是/mnt/c和/mnt/d.
平时使用的时候,最好不要把大的东西直接放到/root下面,不然C盘很快就满了.
![887817a85fd625380d5039ca7b498f5e.png](https://i-blog.csdnimg.cn/blog_migrate/0b3ba427a3f906d63143d17c034a2e36.jpeg)
如果文件需要在windows下面也看到,需要到/mnt/x相应的路径下面操作,不然在windows的文件管理器里面不好找到.
其他
- 本来开始想安装centos或者rhel的,但是现在wsl还没有. 我们就安装了ubuntu来用. 在windows store里面搜索linux,能看到好几个其他的发型版本,如果有自己觉得使用更方便的,可以去安装. WSL各个发行版是相互独立的,可以同时安装. 效果就像是装了好几台虚拟机.
- WSL的东西和真正在裸机/虚拟机装的linux还是有些区别的,可以认为各种要操作硬件的东西都是不行的.毕竟kernel是windows的.但是上层的应用都是没有问题的.
- 如果用pycharm写python脚本,pycharm可以配置成使用WSL里面的python而不是windows自己的,比较方便.