Windows 10, WSL2 显示 GUI 窗口
date
Oct 1, 2022
Last edited time
Mar 27, 2023 08:46 AM
status
Published
slug
Windows10,WSL2显示GUI窗口
tags
Others
summary
type
Post
origin
Field
Plat
在 Windows 上安装 X11
下载好 VcXsvr 安装包后,双击进行安装。完成后,运行程序,此时需要进行一些设置。只需要勾上 Extra settings 里 Disable access control 选项,其他保持默认值即可:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff2e0bc64-28f3-4b4d-95d7-9421fe816fce%2Fb6c49c96-149d-455c-a270-405b89fb966b.png?table=block&id=c81bdda6-8a22-4005-942c-c7d32bf95573&cache=v2)
设置 Windows 防火墙
接下来,打开防火墙设置(可以按下 Win 键,然后输入 firewall 打开),点击左侧的 “允许应用或功能通过防火墙”,然后点击 “更改设置”,把 VcXsvr 的选项都勾上即可:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F7080fd73-7cdd-4661-99a5-067ad484beb2%2Ff04fffa4-9286-4516-b0c8-743bff8ee059.png?table=block&id=4069a0cb-4ca4-4732-a31e-58eea143daa1&cache=v2)
设置 WSL2
最后打开 WSL2,在 ~/.bashrc(如果用的其他 shell,如 zsh,使用它们自己的配置文件)中加入以下内容:
然后刷新 shell 的配置,如使用命令
source ~/.bashrc
。如果以上配置不成功, 显示 Connection refused 则可以尝试以下配置
测试
现在让我们运行一小段 Python 代码测试一下配置结果:
运行结果如下图所示:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F86522046-739e-4896-854d-4e7293801315%2F94ed8ab9-83ff-4986-a3a8-2cd8de5bc76b.png?table=block&id=b629504d-9f64-41d2-b631-932f151ce278&cache=v2)
现在可以愉快地在 WSL 上玩耍了!如果没有安装 Python、Matplotlib 等库,可以使用以下命令安装 x11-apps 进行测试(Ubuntu 用户):
接着在终端里运行 xlogo,结果如下图所示:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F6b3cf44b-3da1-4f5e-aed6-33fc42fdb2bd%2F8d3025db-96a2-4139-bfc7-09693aa38d03.png?table=block&id=017c5fd7-f9f3-40f5-a615-39261dbc7304&cache=v2)
Lazurite的笔记
由于我自己的pc存在一个固定的IP地址: 172.22.0.1, 所以可以利用这个IP进行显示
首先进行测试, 在命令行输入
然后打开VcXsrv, 在配置的时候勾选停用访问控制(Disable access control)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F52753aa9-89c2-432b-bd2c-4340fe37e6a4%2FUntitled.png?table=block&id=45e972ef-913d-4110-b279-b30d131760dc&cache=v2)
一路下一步, 进行测试如果可以正常显示, 则可以把他加入到环境变量里面了.
这样, 可以愉快地在WSL内调用GUI窗口了