WSL2 docker GUI 界面

在 WSL2 docker 中运行GUI界面。
具体流程和远程显示Ubuntu界面类似,链接, 更简单一点, 少了 ssh 的部分。

  1. 安装好wsl2 和 docker

wsl2 运行GUI程序,windows 会默认弹出窗口。 可以安装 gedit 测试一下

  1. windows 下载并运行 Xlaunch.

    • 运行
  2. docker 环境中设置 DISPLAY 变量。

    • ros 为例, 下载并运行,进入 docker 镜像。
    • echo 'export DISPLAY={your windows WSL2 IP}:0.0' >> ~/.bashrc
    • 运行 rviz, 即可正常显示 GUI
      在这里插入图片描述

说明

  1. Windows IP:在这里插入图片描述

  2. 可以测试在docker中能不能ping通主机。

    • 安装 ping。apt install iputils-ping
    • 关闭 Windows 防火墙
    • 也可以用windows 主机名代替 IP。
      在这里插入图片描述
      可以使用 DISPLAY=DESKTOP-8SPQ0E8:0.0 来表示, 前提是ping DESKTOP-8SPQ0E8可以ping通。
  3. 新建 docker container
    docker run -it --name ros-noetic ros:noetic-robot-focal

参考:

  1. wsl ros docker, https://blog.csdn.net/enwuone/article/details/121412077
  2. https://jackkawell.wordpress.com/2019/09/11/setting-up-ros-in-windows-through-docker/