Windows10内置Linux子系统
前言
前段时间,机子上的win10又偷偷摸摸升级到了一周年正式版,比较无奈。不过之前听闻这个版本已经支持内置的linux子系统,于是就怀着好奇心试玩了一把。虽然期间遇到了很多问题,但总体来说这个子系统体验还不错,我这这边集合了几家的长短,来拼凑出一个最高效的安装文档,剩下的大家自己折腾吧。
启用linux子系统(部署前的准备)
上面是图形步骤,下面列出文字步骤(有点小啰嗦啊):
- 系统升级到一周年正式版及以上(1607)
- 依次在 设置 - 更新与安全 - 针对开发人员 选项中,启用"开发人员模式"
- 在资源管理器中打开 控制面板\所有控制面板项\程序和功能 , 打开 启用或关闭 Windows功能 , 勾选 适用于Linux的Windows子系统(Beta)
- 重启电脑
- 命令行运行 lxrun /install /y 开始安装,安装速度取决于网络情况,下载的文件在 %localappdata%\lxss 目录下 lxss.tar.gz (181M),解压后大概500M, rootfs 目录即为子系统根目录。
- 命令行运行 bash 进入Ubuntu
默认使用的 root 帐号登录,通过指令 passwd 设置密码。
- 注:本文脚本均在root帐号下操作,因此建议使用root帐号
- 毕竟爱折腾,难免会把子系统环境(lxss目录)玩坏掉,因此干正事前最好先备份下以便快速还原。注意,不要直接右键复制或者打包,可能会导致文件权限丢失的。
xcopy %localappdata%\lxss %localappdata%\lxss.bak /E - 当然,如果你比较任性也可以不执行上一步的备份操作,通过命令行运行 lxrun /uninstall /full 轻松卸载子系统,重复上面的步骤即可重装,不过要注意下载速度时好时坏哦。
准备工作完成过后,那还等什么,开始吧啊!!!
与 Windows 通讯
目前子系统与 Windows 之间通过以下两种方式进行通讯
- 通过 tcp 协议进行通讯(简单点说就是用网络,端口都是通的)
- 通过 /mnt/【盘符】/目录 的方式访问Windows目录
试过在Windows的资源管理器中直接对子系统环境目录下的文件所做的修改不能被子系统所识别,因此需要在bash下进行操作。
在任何情况下,请勿使用Windows应用程序,工具,脚本,控制台等创建或修改Linux文件
使用 bash 客户端软件 cmder (参考)
Windows 自带的命令提示符 cmd 并不是很好用(文本选中、复制粘贴等等操作),在这里使用 cmder 作为替代品,体验效果很好。去 cmder 官网下载 mini版(完整版附带了模拟的bash环境,由于已经安装 linux 子系统,就不再需要了)的解压即可使用。
设置启动 cmder 时直接运行 bash:
1. 进入 "Settings > Startup",
2. 选择 "Startup options > Command line",输入 "bash -cur_console:p"
启动直接运行bash
通过软件底部的加号按钮新开标签页并进入 bash
1. 进入 "Settings > Startup > Tasks",
2. 选择 "bash::bash",将指令修改为 'cmd /c "bash" -cur_console:p -new_console:d:%USERPROFILE%'
文中给的 cmder 是 1.3.2 版本的,最新的 1.3.6 版本已经默认集成了 WSL 的 Task,就不用这一步的配置了
- 设置配色主题
1. 进入 "Settings > Features > Colors",
2. "Schemes" 项下拉选择 "<ubuntu>"
小贴士:将 cmder 目录添加到环境变量 path 中或者复制快捷方式到 “C:\Windows\System32” 目录下,就可通过 win + R 快捷键快速打开了
好了,基本设置有这些就足够了,具体其他的可以参考该博客: