【问题标题】:Rviz core dump on dockerDocker 上的 Rviz 核心转储
【发布时间】:2018-10-15 04:25:27
【问题描述】:

我正在使用 tensorflow/tensorflow docker 并在其上安装了 ros。这是我的图片:https://hub.docker.com/r/mpkuse/kusevisionkit/

我将我的 docker 镜像运行为

docker run --runtime=nvidia -it mpkuse/kusevisionkit:v0.4 bash 

我可以运行 roscore 并且 rqt_image 的 gui 也可以正确显示。但是我不能运行rviz。这是我的错误:

root@2fe10a6154c8:/app# rviz
[ INFO] [1539052958.662758017]: rviz version 1.12.16
[ INFO] [1539052958.662820468]: compiled against Qt version 5.5.1
[ INFO] [1539052958.662838215]: compiled against OGRE version 1.9.0 (Ghadamon)
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Could not initialize OpenGL for RasterGLSurface, reverting to RasterSurface.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Segmentation fault (core dumped)

如何从 docker 运行 rviz?

【问题讨论】:

  • 我认为您无法在 Docker 容器中打开像 RViz 这样的 GUI 应用程序。
  • 这个link也许对你有帮助
  • 我更新了答案。

标签: docker ros


【解决方案1】:

您无法在 Docker 容器中以常用方式打开像 RViz 这样的 GUI 应用程序。

简单的方法是暴露你的 xhost 以便容器可以渲染到 通过 X11 UNIX 读写正确显示 插座。

docker run -it \
    --env="DISPLAY" \
    --env="QT_X11_NO_MITSHM=1" \
    --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
    osrf/ros:indigo-desktop-full \
    rqt
export containerId=$(docker ps -l -q)

[更新]:

  • 更完整的在这个link

  • 另外,这个question也很相似。

  • 在此stack_post 上声称您可以在 Docker 容器上拥有 GUI 应用程序,例如 Rviz 应用程序。

【讨论】:

  • 我可以从 docker 运行 rqt_graph。但是rviz仍然崩溃。是的,我已经在容器上安装了ros
  • 是的,我运行你的命令。有了它,我可以运行 rqt_graph。 rqt_graph 在容器上运行并显示在主机上。 roscore 在容器上运行。但是,当我运行 rviz 时出现段错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-30
  • 1970-01-01
  • 2019-04-10
相关资源
最近更新 更多