windows11配置wsl安装ubuntu20.04

目录

一、安装系统

二、wsl概述

三、增加图形化

四、配置网络

1.网络介绍

[🧩 2.环境变量(Environment Variables)是关键](#🧩 2.环境变量(Environment Variables)是关键)

[🧠 3.程序是怎么"决定"的?](#🧠 3.程序是怎么“决定”的?)

4.如何让windows和wsl的建立联系?


若提示 wsl 命令不存在,请先更新系统到 Windows 10 2004 以上版本或 Windows 11

一、安装系统

打开 PowerShell(管理员),执行:

复制代码
# 下载wsl
wsl --install
# 下载ubuntu
wsl --install -d Ubuntu-20.04

之后重启计算机

二、wsl概述

wsl和虚拟机差不多,一个wsl中可以安装很多系统。下面介绍一些常用命令

bash 复制代码
# 查看当前下载的系统
wsl --list --verbose

这里的*表示默认启动的系统。

bash 复制代码
#查看当前可安装的系统
wsl --list --online
bash 复制代码
# 手动进入某个系统
wsl -d Ubuntu-20.04
bash 复制代码
# 切换默认系统
wsl --set-default Ubuntu-22.04

三、增加图形化

我的版本如下

更新软件源并安装 GUI 程序

bash 复制代码
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 定义,例如:

bash 复制代码
export http_proxy="http://192.168.16.1:7890"

一旦定义,这个变量会自动传递给所有在当前 shell 启动的子进程

所以任何后续运行的命令(curl、git、pip 等)都能读取它。


🧠 3.程序是怎么"决定"的?

当一个程序(比如 curl)发出网络请求时,它会执行大致这样的逻辑:

python 复制代码
if "http_proxy" in environment: 
    use_proxy = True 
    proxy_address = environment["http_proxy"] 
else: use_proxy = False

也就是说:

  • 如果环境变量存在 → 自动使用代理。

  • 如果环境变量没设置 → 直接连接目标网站。

这种机制是通用的,属于 POSIX 标准约定俗成的行为,所以几乎所有命令行工具都遵守

4.如何让windows和wsl的建立联系?

第一步打开允许局域网

查看局域网信息

找到wsl出口地址

配置环境变量

bash 复制代码
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}"

查看是否可用

bash 复制代码
curl -I -x http://192.168.16.1:7890 https://www.google.com

如果成功返回 HTTP/2 200,说明整个代理链终于打通 ✅

相关推荐
lucky670710 小时前
Windows 上彻底卸载 Node.js
windows·node.js
编程小白202611 小时前
从 C++ 基础到效率翻倍:Qt 开发环境搭建与Windows 神级快捷键指南
开发语言·c++·windows·qt·学习
学历真的很重要11 小时前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师
EHagSJVNpTY11 小时前
MATLAB 中基于最大重叠离散小波变换的心电信号处理探索
ubuntu
深蓝海拓11 小时前
PySide6,QCoreApplication::aboutToQuit与QtQore.qAddPostRoutine:退出前后的清理工作
笔记·python·qt·学习·pyqt
酒鼎11 小时前
学习笔记(3)HTML5新特性(第2章)
笔记·学习·html5
L***一11 小时前
2026届大专跨境电商专业毕业生就业能力提升路径探析
学习
.小墨迹11 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
ZH154558913111 小时前
Flutter for OpenHarmony Python学习助手实战:模块与包管理的实现
python·学习·flutter
Gain_chance11 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip