WSL2运行图像应用或图形界面

WSL2运行图像应用或图形界面

软件图形化界面运行

Windows 端配置

这里我们需要安装 VcXsrv,可以直接在官方 github 仓库中进行下载:VcXsrv

安装好之后直接启动:

这里有四个选项

  • Multiple windows 是多窗口运行,就是把 WSL 中的应用作为一个窗口应用显示到 windows 系统上

  • Fullscreen 是全屏运行,如果选择这一项,建议新建一个桌面

  • One large window 是全屏窗口运行,在我们不使用的时候直接最小化即可

  • One window without titlebar 是窗口全屏话,这样便于我们切出,同时也去掉了标题栏

这里设置显示窗口编号,-1是自动从0分配

这里就是要选择我们的连接方式,默认选择第一个就可以

这里我们要勾选第三项,WSL2 相当于是一个外部网络,所以我们要使用 ssh 进行连接

最后我们点击完成就可以了

WSL 端配置

这里我们要设置 WSL 2 的 X Server 显示设置,首先我们需要知道我们的 WSL 对应的 ip:

在 cmd 中使用 ipconfig 命令查询:

在环境变量中添加如下:

export DISPLAY=[HOST]:[DISPLAY NUMBER]

然后我们使用命令刷新环境变量即可

这样我们就实现了简单的软件图形化界面的使用

桌面环境使用

WSL 安装桌面环境(Ubuntu)

由于我们使用的是 Ubuntu 20.04 版本,所以我们选择直接安装 gnome 桌面环境

直接运行安装命令:

# 安装gnome桌面环境
sudo apt-get install ubuntu-desktop
# 安装相关工具
sudo apt-get install gnome-tweak-tool

Windows子系统下安装的分发版Ubuntu默认不支持systemctl命令,然而systemctl在原生版Ubuntu中是非常重要的,在这里手动安装

在Ubuntu命令行中依次执行如下命令:

git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
cd ubuntu-wsl2-systemd-script/
bash ubuntu-wsl2-systemd-script.sh

注意:这里可能杀毒软件会出现警告,需要允许程序所有操作或者先行关闭杀毒软件,当看到下面图片所示时代表安装成功

安装成功界面如下:

这时需要重启 WSL 服务,以管理员模式打开 PowerShell,执行:

# 停止服务
net stop LxssManager
# 启动服务
net start LxssManager
# 或者直接一句话
net restart LxssManager

安装远程控制软件 xrdp:

我们每次双击打开的 Ubuntu20.04 LTS 图标都是命令行终端,无法看到桌面环境,所以需要在 Ubuntu 中安装远程控制软件,然后使用 Windows 自带的 mstsc 工具来达到可视化操作 Ubuntu 的目的

# 安装xrdp远程控制服务
sudo apt-get install xrdp

将端口从3389改为3390,因为此前默认的3389端口已保留用于ubuntu shell:

sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini

配置启动 session,否则远程桌面登录输入密码之后会直接闪退

echo "gnome-session" > ~/.xsession

重新启动 xrdp 服务

sudo systemctl restart xrdp

这时可以查看 xrdp 服务状态

sudo systemctl status xrdp

如图所示,有绿色的 running 代表服务成功运行

之后我们就可以使用我们 windows 系统自带的远程桌面连接软件 mstsc 进行连接即可

这里输入账号密码点击 ok 即可

注意:这里我们一定要使用 xorg 进行连接,在上一步之后可能会有短暂的黑屏,别怕!这不是配置没成功,稍微等待一下就可以看到下面这个图片啦,到此为止说明桌面环境已经成功配置并且可以正常进入啦

这样我们就已经成功连接到了系统:

可视化环境设置中文

首先要安装中文语言包

sudo apt install language-pack-zh-hans

设置中文为默认语言

方法一:

sudo dpkg-reconfigure locales
# 选择 en_US.UTF-8 和 zh_CN.UTF-8
# 选择 zh_CN.UTF-8 为默认语言

方法二:

sudo vim /etc/locale.gen
# 找到 "# zh_CN.UTF-8 UTF-8"并取消注释,然后保存并退出
sudo locale-gen
# 设置默认语言为中文
sudo vim /etc/default/locale
# 将内容修改为
LANG=zh_CN.UTF-8

到这里,重启 WSL Ubuntu 终端即可显示中文,但是运行 gui程序仍然缺少中文字体,安装字体管理工具 fontconfig

sudo apt install fontconfig

安装 Windows 字体,创建 /etc/fonts/local.conf 文件 (可以从目录中其它文件复制后修改获得)

方法一:直接使用 Windows 字体文件夹

方法二:复制 windows 的字体到 /usr/share/fonts/ 下

sudo cp -r /mnt/c/Windows/Fonts /usr/share/fonts/windows

方法三:安装 ttf-mscorefonts-installer

sudo apt-get install --reinstall ttf-mscorefonts-installer

刷新字体缓存

fc-cache -f -v

重新开启 WSL 即可生效

测试:

export DISPLAY=:0.0
gvim &

必要时修改时区:

dpkg-reconfigure tzdata

参考资料

超详细Windows10/Windows11 子系统(WSL2)安装Ubuntu20.04(带桌面环境)

WSL2运行图像应用或图形界面

Win10+WSL2+vcXsrv+xfce4实现Windows下一键开启Ubuntu可视化界面

工具篇1——WSL可视化与VSCODE

猜你喜欢

转载自blog.csdn.net/m0_59161987/article/details/129544000