影城网站建设比较有名的编程培训机构
在 WSL2 docker 中运行GUI界面。
具体流程和远程显示Ubuntu界面类似,链接, 更简单一点, 少了 ssh 的部分。
- 安装好wsl2 和 docker
wsl2 运行GUI程序,windows 会默认弹出窗口。 可以安装
gedit测试一下
-
windows 下载并运行
Xlaunch.- 运行
-
docker 环境中设置
DISPLAY变量。- 以
ros为例, 下载并运行,进入 docker 镜像。 echo 'export DISPLAY={your windows WSL2 IP}:0.0' >> ~/.bashrc- 运行
rviz, 即可正常显示 GUI

- 以
说明
-
Windows IP:

-
可以测试在docker中能不能ping通主机。
- 安装 ping。
apt install iputils-ping - 关闭 Windows 防火墙
- 也可以用windows 主机名代替 IP。

可以使用DISPLAY=DESKTOP-8SPQ0E8:0.0来表示, 前提是ping DESKTOP-8SPQ0E8可以ping通。
- 安装 ping。
-
新建 docker container
docker run -it --name ros-noetic ros:noetic-robot-focal
参考:
- wsl ros docker, https://blog.csdn.net/enwuone/article/details/121412077
- https://jackkawell.wordpress.com/2019/09/11/setting-up-ros-in-windows-through-docker/
Update: WSL2 Docker VNC 连接图形界面
-
下载并运行镜像, 以Ubuntu20.04为例.
# 下载 docker pull ubuntu:20.04 # 创建 container docker run --gpus all --name ubuntu20_vnc -p 5090:5090 -p 6001:6001 --network hosts ubuntu:20.04-
只使用 程序GUI, 只需要 container 可以 ping 通 主机IP即可, 默认的网络链接就可以(默认的是
bridge), docker 网络链接 介绍; -
使用VNC服务, 需要 container 和 主机 双向 ping 通. 采用
host, 保证主机和container在同一个局域网下.默认
bridge的连接
host的连接

-
-
安装
vncserver-
安装桌面环境
apt-get update apt-get install xorg openbox vim -
安装 xfce4 桌面环境
apt install xfce4 xfce4-goodies xfce4-terminal update-alternatives --config x-terminal-emulator # 配置终端 -
安装
tightvncserverapt install tightvncserver
-
-
配置VNC
-
运行
vncserver, 创建链接密码

-
关闭刚刚创建的 VNCserver:
vncserver -kill :1 -
修改xstartup文件 (
vim ~/.vnc/xstartup), 添加下列内容#!/bin/sh xrdb $HOME/.Xresources startxfce4 & -
为了保证VNC服务正常启动,需要配置xstartup为可执行文件。
chmod +x ~/.vnc/xstartup -
重新启动
vncserver

-
-
主机启动 VNC view 链接, 默认端口 5901
参考链接 1
参考链接2
