由于自己的VNCviewer莫名其妙用不了了,所以我得开始想别的办法。
1、在本地宿主机器上安装X11界面工具
sudo apt-get install x11-xserver-utils
xhost +
注意每次重新开机都需要执行一次xhost +
2、创建docker容器时,添加参数
-v /tmp/.X11-unix:/tmp/.X11-unix # 挂载本地显示服务端口到容器中 -e DISPLAY=unix$DISPLAY # 修改环境变量DISPLAY -e GDK_SCALE # 与显示效果相关的环境变量 -e GDK_DPI_SCALE # 同上
我之前的用法:
docker run -it -p 5900:5900 -v /home/zyz/marsim_docker:/home/test ros_marsim:latest
现在改为:
docker run -it -p 5900:5900 -v /home/zyz/marsim_docker:/home/test -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -e GDK_SCALE -e GDK_DPI_SCALE ros_marsim:latest
3、测试本地是否可以显示容器中的图形界面或图像
apt-get install xarclock # 安装 xarclock # 运行
在docker xarclock之后,出现这个钟表示安装成功。
4、运行marsim
成功运行,效果还不错。