Windows上舒适地使用Linux子系统?
推荐使用 win10 + wsl 搭建最强命令行环境
WSL1+Ubuntu 18.04 LTS + Windows Terminal Preview
安装适用于Linux的Windows子系统
在Windows上安装任何Linux发行版之前,必须启用“ Linux的Windows子系统”可选功能。
以管理员身份打开PowerShell并运行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
只安装WSL 1的话,现在就可以重新启动计算机并继续安装所选的Linux发行版,本文不作WSL2的扩展
安装您选择的Linux发行版
设置新的发行版
首次启动新安装的Linux发行版时,将打开一个控制台窗口,并且将要求您等待一两分钟以将文件解压缩并存储在PC上。以后所有的操作都将花费不到一秒钟的时间。
Windows控制台中的Ubuntu解压缩
如果遇到在windows应用商店安装ubuntu系统,报错WslRegisterDistribution failed with error: 0x8007019e
1.报错:
Installing, this may take a few minutes...
Installation Failed!
Error: 0x8007019e
Press any key to continue...
2.原因:
未安装Windows子系统支持。
3.解决办法:
1.win+x,选择Windows PowerShell(管理员)
2.输入:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
3.回车,输入Y,重启!
4.重新打开已经安装的子系统,等几分钟,输入账户和密码。
到这一步就能在win10上面启动一个ubuntu了,但是我们很快就会发现只能启用一个终端窗口,这对长期在linux下开发的人来说,无疑是蛋疼的,接下来我们来完成多开。
wsl1.png
使用Windows-Terminal来启动终端
安装
打开微软应用商店,搜索Windows Terminal安装即可。(需要更新win10的版本到最新的1903)
设置默认shell
默认情况下,打开Windows Terminal时,会使用powershell,虽然可以通过新增一个标签页来使用wsl,但有强迫症的我还是有些不爽,那么,如何设置默认的shell为wsl呢,其实很简单,方法如下:
打开Windows Terminal,查看本系统上已经安装的shell种类,找到你之前安装的wsl,记住它的名字,然后打开Settings设置,如图:
wsl2.png
在settings.json中,找到wsl对应的配置区域中的guid字段,然后将defaultProfile字段的值改为此guid的值,同时可以设置默认打开的路径如图:
wsl3.png
然后再设置一下窗口切换的快捷键就完事了,同样是修改刚才打开的settings.json文件,找到keybindings,并做如下修改
"keybindings":
[
// Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
// These two lines additionally bind them to Ctrl+C and Ctrl+V.
// To learn more about selection, visit https://aka.ms/terminal-selection
{ "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
{ "command": "paste", "keys": "ctrl+v" },
// Press Ctrl+Shift+F to open the search box
{ "command": "find", "keys": "ctrl+shift+f" },
// Press Alt+Shift+D to open a new pane.
// - "split": "auto" makes this pane open in the direction that provides the most surface area.
// - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
// To learn more about panes, visit https://aka.ms/terminal-panes
{ "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" },
{ "command": { "action": "switchToTab", "index": 0 }, "keys": "alt+1" },
{ "command": { "action": "switchToTab", "index": 1 }, "keys": "alt+2" },
{ "command": { "action": "switchToTab", "index": 2 }, "keys": "alt+3" },
{ "command": { "action": "switchToTab", "index": 3 }, "keys": "alt+4" },
{ "command": { "action": "switchToTab", "index": 4 }, "keys": "alt+5" },
{ "command": { "action": "switchToTab", "index": 5 }, "keys": "alt+6" },
{ "command": { "action": "switchToTab", "index": 6 }, "keys": "alt+7" },
{ "command": { "action": "switchToTab", "index": 7 }, "keys": "alt+8" },
{ "command": { "action": "switchToTab", "index": 8 }, "keys": "alt+9" }
]
保存并退出,重启Windows Terminal,最终我们会得到一个windows+linux同时跑的操作系统,然后就可以开始你的表演了
wsl4.png