WSL安装与使用简明教程
WSL安装与使用🦖教程
latest update:2024/9/11 by🦖
本文介绍了在主流的 Windows 系统下使用 Windows Subsystem for Linux 运行 Linux 环境的方法。
更新内容:
1.更加精简,删除了不重要的部分
2.更正补充了xrdp连接部分
启用 WSL
🦖GUI安装法
-
点左下角图标,进入 Microsoft Store
-
搜索WSL,前两个选一个安装
接下来,请转到下面「配置分发版」一节完成其他设置。
自动安装
本部分适用于 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11。
如果你正在使用 2004 以下版本或你的电脑不支持虚拟化,请阅读下面的手动安装一节。
如果你正在使用 1607 以下版本的 Windows 10,你的系统不支持 WSL。
-
以管理员身份打开 Windows PowerShell(右击「开始」按钮,选择 Windows PowerShell(管理员)或 Windows 终端(管理员))
-
输入
wsl --install
,并等待所有组件自动安装完成。期间你可能需要重启你的计算机来启用必要的 Windows 功能。 -
安装完成后,你可以在「开始」菜单或 Windows 终端的标签页中找到你安装的发行版。
-
接下来,请转到下面「配置分发版」一节完成其他设置。
配置分发版
本章以 Windows 自动安装的 Ubuntu 为例。
运行 Ubuntu
打开「开始」菜单找到 Ubuntu 并启动,或使用 wsl
命令从 Windows 命令行启动。
可以为 Ubuntu 创建应用程序磁贴或固定至任务栏,以在下次方便地打开。
初始化
第一次运行 Ubuntu,需要完成初始化。
Installing, this may take a few minutes...
等待一两分钟时间,系统会提示创建新的用户帐户。
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
输入完用户名以后会提示输入密码。在 Linux 中,输入密码时屏幕上不显示文字属于正常现象。
Enter new UNIX password:
设置好帐户名和密码后,WSL 就安装完成了。
Installation successful!
To run a command as administrator (user "root"), use "sudo
See "man sudo_root" for details.
chtholly@SENIORIOUS:~$
更换为国内软件源
Ubuntu 默认的软件源在国外。可以换成国内的软件源以加快速度,如 清华 TUNA 的软件源。
请在页面中寻找与自己系统版本相配的源(可使用 sudo lsb_release -a
查看 Ubuntu 版本)。
除非你知道你在做什么,否则不要使用与自己的系统版本不匹配的源!
使用以下命令更新软件和软件源:
$ sudo su # 执行这行指令后,终端提示符会从 $ 变成 #,执行下文的命令前注意关注提示符
[sudo] xxx 的密码:
# cp /etc/apt/sources.list /etc/apt/sources.list.bak
# vim /etc/apt/sources.list
...(按 i 之后将上文的源粘贴进去,编辑完后按 Esc,再输入 :wq 和回车)
# apt update
# apt upgrade -y
安装中文环境(可选)
# apt install language-pack-zh-hans -y
# apt install fontconfig -y
# apt install fonts-noto-cjk fonts-wqy-microhei fonts-wqy-zenhei -y # 中文字体
# dpkg-reconfigure locales
此时会进入一个设置菜单,不用管,直接回车。
下一个菜单中选择 zh_CN.UTF-8
回车。
Default locale for the system environment:
None
C.UTF-8
en_US.UTF-8
[zh_CN.UTF-8]
之后关闭 WSL 并重启,系统就会变成中文。
再依次输入下列命令,把 man
帮助页替换为中文。
# apt install manpages-zh
# sed -i 's|/usr/share/man|/usr/share/man/zh_CN|g' /etc/manpath.config
可以用 man help
测试。
进阶操作(可选)
使用 WSLg 运行 GUI 程序
如果你使用 Windows 10 19044 及以上版本或 Windows 11,则可以使用 WSL 2 提供的集成的桌面体验。该功能允许你直接安装并启动 Linux 桌面程序而无须其他配置。
参见 在适用于 Linux 的 Windows 子系统上运行 Linux GUI 应用
安装图形环境,并使用远程桌面连接
如果你使用的版本尚不支持 WSLg, 可以尝试使用以下指南开启图形界面功能。
以下以 Xfce 为例。
如果只想安装 Xfce,可以执行以下命令:
$ sudo apt install xfce4 tightvncserver -y
如果除 Xfce 外想要更多的软件,可以执行以下命令:
$ sudo apt install xubuntu-desktop -y
图形环境文件较大,下载解包需要一定时间。
如果使用了 xfce4,可以在弹出的窗口中使用如下命令激活 xfce4:
$ xfce4-session
配置 xrdp:
$ sudo apt install xrdp -y
$ echo "xfce4-session" >~/.xsession
$ sudo service xrdp restart
为了防止和计算机原有的远程桌面冲突,需要更换默认端口。
运行命令 vim /etc/xrdp/xrdp.ini
,其中的 port
改为其他端口(如 3390
)。
[globals]
...
port=3390
运行 sudo service xrdp restart
,然后win+R,打开mstsc,用 localhost:3390
来访问。


如果访问失败,可能需要打开端口:
sudo ufw allow 3390
WSL 与 Windows 文件的互访问
Windows 下的硬盘被自动挂载至 Linux 环境下的 /mnt
文件夹下。
如 C 盘在 WSL 下的路径为 /mnt/c
PS C:\Users\chtholly> bash
/mnt/c/Users/chtholly$ echo "Hello world!" > hello
/mnt/c/Users/chtholly$ exit
PS C:\Users\chtholly> cat hello
Hello world!
PS C:\Users\chtholly> echo "Welcome!" > welcome
PS C:\Users\chtholly> bash
/mnt/c/Users/chtholly$ cat welcome
Welcome!
另外,也可以从文件管理器访问 WSL 目录。在安装 WSL 后,可以在资源管理器的侧边栏中发现 Linux 项,在其中可以访问所有安装的发行版中的文件。
同样,也可以在资源管理器的路径或运行(Win+R)中直接输入 \\wsl$
来转到 WSL 的目录。
也可以直接使用诸如 \\wsl$\Ubuntu\home\
的路径访问其子文件夹。
配合 Visual Sudio Code 进行编辑
如果习惯在 Windows 环境下使用 Visual Studio Code 进行代码编辑,可以安装 VS Code 中的 Remote - WSL
插件,更方便地对 WSL 系统中的文件进行编辑。
通过 Remote - WSL
,可以在 Windows 下的 VS Code 界面中直接对 WSL 子系统进行操作,更加方便地编辑子系统目录下的文件、更方便地使用终端进行调试。
通过在 WSL 中直接键入 code .
,可以在该目录下直接唤出 Visual Studio Code,对于该目录下的文件进行编辑。
同时,可以通过类似 code filename
的命令,对于指定文件进行编辑。
在插件 Remote - WSL
的 Getting Started 页面,包含对于编辑操作的详细简介。
同时,也可以参考 Visual Studio Code 的官方文档中关于 WSL 的内容(Remote development in WSL),这篇文章包含从 WSL 安装到配合插件使用的全流程的更详细的介绍。
WSL1 升级为 WSL2
请确认已经完成前面 WSL1 的安装步骤。
执行命令 wsl -l -v
可以看到 WSL 版本号是 1,需要执行升级,才能到 2。
-
启用「虚拟机平台」功能
使用 PowerShell 以管理员身份运行:dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后 重启电脑。
-
下载 Linux 内核更新包
- x64 的内核更新包。
- ARM64/AArch64 的内核更新包。
-
设置分发版版本
执行命令:wsl --set-version <分发版名称> <版本号>
如:将 Ubuntu 18.04 设置为 WSL 2 的命令为wsl --set-version Ubuntu-18.04 2
这一步比较耗时,执行完成后通过命令wsl -l -v
来检查升级是否成功。
FAQ
参见:常见问题,WSL 2 常见问题解答
-
如何在子系统下进行 xxx?
可以用自带命令行,或者使用图形界面。
比如说 vim,在命令行中键入man vim
,会给出一份详尽的使用方法。
亦可使用vim --help
。
关于命令行,可阅读 命令行 -
对系统资源的占用量?
这个系统和 Windows 10 共用 Host,所以理论上是比虚拟机占用小的。
外部链接
- 关于适用于 Linux 的 Windows 子系统
- Ubuntu 镜像使用帮助,清华 TUNA
- Dev on Windows with WSL(在 Windows 上用 WSL 优雅开发)
- GitHub 上的 Awesome-WSL
- 排查适用于 Linux 的 Windows 子系统问题
- WSL1 升级为 WSL2
参考资料与注释
Ubuntu 的 man 命令帮助如何设置中文版,Frank 看庐山,2017-06-09
Run Bash on Ubuntu on Windows, Mike Harsh, 2016-05-30, Windows Blog
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
· 易语言 —— 开山篇