WSL2的配置

Posted 星辰大海

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WSL2的配置相关的知识,希望对你有一定的参考价值。

有关WSL2的安装及其代理设置


​ 一直都装着双系统,需要Linux环境的时候也就进到Arch中,不需要的时候就去到Win10。但双系统是多有不便啊,不能同时享受Windows对外设的完美适配以及丰富稳定的软件和Linux环境。于是最近又重新折腾起了WSL。但花费我最多时间的就是WSL2的网络代理了。

安装WSL2

首先需要最新的Win10系统,并更新到最新吧!(2333333)(可以考虑开启开发者选项)

然后去设置-应用-可选功能-更多windows功能开启适用于linux的windows子系统虚拟机平台,并等待安装完毕、重启。(注意,不安装虚拟机平台的化只能启用WSL1,因为WSL2是基于虚拟机的。)

重启完毕后,在win10商店里搜索linux,会出现Ubuntu,Kali等常见发行版,选一个自己喜欢的安装吧。(其实这一步还没有正式把Linux子系统安装到windows里)

以Ubuntu为例,在windows全局搜索栏中搜索Ubuntu,或者在cmd中输入Ubuntu并回车,就会自动安装。待安装完毕就可以按照提示输入用户名和密码。(动手安装过Arch的用户应该会很熟悉)之后子系统就会自动进入c盘的用户目录下了。

但是现在还不知道安装的是WSL2还是1。为了确认,新开一个cmd窗口输入:

wsl -l -v

输出内容就是子系统发行版分别对应的WSL版本。若要修改为WSL2,以Ubuntu为例:

wsl --set-version Ubuntu 2

若要以后默认你为WSL2,则输入:

wsl --set-default-version 2

配置WSL2

其实配置WSL和配置普通发行版机会没有什么区别,更新下系统里的包,安装下自己所需要的工具包就好了。

我遇到的主要问题在代理的配置上。

配置WSL2的代理

在国内使用Github的话,总是遇到许许多多的问题,这往往需要通过代理来提升代码管理的体验。我主要聊一聊git相关的代理设置吧。

如果是给Git设置全局代理,直接百度就可以了。但我觉得这个非常不方便,因为有时候不一定会使用GitHub(比如用gitee的话,访问反而会变慢)。

所以我的方案是,在ZSH的配置文件中设置一个别名proxy,这样就可以按需使用了。

准备

首先,要在你windows中的代理软件中开启允许LAN连接允许来自互联网的连接的选项。因为WSL和VMware(或者Virtualbox)不一样。WSL默认只支持NAT模式(默认不启用桥接模式,具体区别可以百度),也就是相当于在Windows用虚拟网卡又做了一次NAT(又路由了一次,或者说又分配了一次ip地址,也就是WSL的位置是“内网中的内网”)。也就是说,WSL2无法使用127.0.0.1这个地址(Localhost)来代理,那应该使用哪个ip地址呢?

不是在wsl中通过ifconfig获得的ip地址哦,那个是wsl的ip地址。(我们所需要监听的ip地址和端口是在windows中的,所以要在windows中通过\'ipconfig\'来查看。)打开cmd:

ifconfig

找到vEthernet (WSL),这一项里的ip地址就是对于WSL来说的windows的ip地址。

在zsh配置文件中进行配置

在wsl中使用cd命令,来到默认用户目录,

 vim .zshrc 

在这个配置文件中添加一个新的别名proxy:(ip地址和端口,按照刚刚在cmd中获得的以及在代理软件中的来)

alias proxy=\'http_proxy=http://127.0.0.1:1080 https_proxy=http://127.0.0.1:1080 \'

使用测试

然后输入zsh来重启zsh(这不废话嘛!)需要代理的时候,就在git前面加上proxy:

proxy git clone https://github.com/xxx.git

是不是快的起飞!!!Enjoy!!!!!

以上是关于WSL2的配置的主要内容,如果未能解决你的问题,请参考以下文章

WSL2配置docker和PHP

超详细 WSL2安装+深度学习环境配置

wsl2 远程登陆ssh

PhpStorm - WSL2 - PHPUnit - 配置 CLI 解释器

Xdebug 3.0 WSL2 和 VSCode - 有效的配置

windows 子系统wsl2 占用内存过大的解决方案