ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

WSL2的配置

2021-05-18 15:02:43  阅读:231  来源: 互联网

标签:windows ip 配置 WSL 代理 proxy 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!!!!!

标签:windows,ip,配置,WSL,代理,proxy,WSL2
来源: https://www.cnblogs.com/tanche-z/p/14780919.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有