windows11配置wsl安装ubuntu20.04
目录
一、安装系统
二、wsl概述
三、增加图形化
四、配置网络
1.网络介绍
🧩 2.环境变量(Environment Variables)是关键
🧠 3.程序是怎么“决定”的?
4.如何让windows和wsl的建立联系?
若提示 wsl 命令不存在,请先更新系统到 Windows 10 2004 以上版本或 Windows 11
一、安装系统
打开 PowerShell(管理员),执行:
# 下载wsl
wsl --install
# 下载ubuntu
wsl --install -d Ubuntu-20.04
之后重启计算机
二、wsl概述
wsl和虚拟机差不多,一个wsl中可以安装很多系统。下面介绍一些常用命令
# 查看当前下载的系统 wsl --list --verbose这里的*表示默认启动的系统。
#查看当前可安装的系统 wsl --list --online
# 手动进入某个系统 wsl -d Ubuntu-20.04# 切换默认系统 wsl --set-default Ubuntu-22.04
三、增加图形化
我的版本如下
更新软件源并安装 GUI 程序
sudo apt update
sudo apt install -y x11-apps gedit nautilus firefox
现在直接在 WSL 命令行中输入gedit,直接在windows弹出来一个窗口

四、配置网络
具体细节我也忘了那些有用,那些没用了。
1.网络介绍
对于混合模式的话,意味着一个IP和端口号可以同时使用下面两个。

🧩 2.环境变量(Environment Variables)是关键
在 Linux 系统中,大部分命令行工具 不会自己去读取配置文件,
而是靠操作系统传进来的 环境变量(Environment Variables) 来决定是否使用代理。
常见变量包括:
| 环境变量名 | 用途 | 示例值 |
|---|---|---|
http_proxy | HTTP 协议代理地址 | http://192.168.16.1:7890 |
https_proxy | HTTPS 协议代理地址 | http://192.168.16.1:7890 |
ftp_proxy | FTP 协议代理地址 | http://192.168.16.1:7890 |
all_proxy | 通用代理(SOCKS5 等) | socks5://192.168.16.1:7890 |
no_proxy | 指定哪些地址不走代理 | localhost,127.0.0.1,.example.com |
这些变量通常由你在 shell 里用 export 定义,例如:
export http_proxy="http://192.168.16.1:7890"
一旦定义,这个变量会自动传递给所有在当前 shell 启动的子进程。
所以任何后续运行的命令(curl、git、pip 等)都能读取它。
🧠 3.程序是怎么“决定”的?
当一个程序(比如 curl)发出网络请求时,它会执行大致这样的逻辑:
if "http_proxy" in environment: use_proxy = True proxy_address = environment["http_proxy"]
else: use_proxy = False
也就是说:
-
如果环境变量存在 → 自动使用代理。
-
如果环境变量没设置 → 直接连接目标网站。
这种机制是通用的,属于 POSIX 标准约定俗成的行为,所以几乎所有命令行工具都遵守
4.如何让windows和wsl的建立联系?
第一步打开允许局域网

查看局域网信息

找到wsl出口地址

配置环境变量
export WIN_IP=192.168.16.1
export PROXY_PORT=7890
export http_proxy="http://${WIN_IP}:${PROXY_PORT}"
export https_proxy="http://${WIN_IP}:${PROXY_PORT}"
export all_proxy="socks5://${WIN_IP}:${PROXY_PORT}"
查看是否可用
curl -I -x http://192.168.16.1:7890 https://www.google.com
如果成功返回 HTTP/2 200,说明整个代理链终于打通 ✅



