鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    docker内部显示Rviz,环境变量配置相关

    已定时 已固定 已锁定 已移动 已解决
    综合问题
    3
    5
    739
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 6
      609974291
      最后由 编辑

      问题反馈:大佬,打扰了,我想咨询个问题。之前看您在b站与古月居合作视频里答疑,docker内部安装ros环境,可以访问Rviz,当时视频中 您export了一个DISPLAY环境变量。我现在也是遇到这个问题,roscore之类的都正常,rviz打不开,提示libGL的错误或者XQb…之类的,困扰了很久,翻阅了很多资料,能否在本机没有nvidia驱动情况下,docker内部打开rviz?需要添加什么环境变量或者有什么踩坑文档之类的推荐一下吗,万分感谢[抱拳]

      小鱼小 1 条回复 最后回复 回复 引用 0
      • 小鱼小
        小鱼 技术大佬 @609974291
        最后由 编辑

        @609974291 首先说一下原理,docker对外显示,个人用的比较多的是走X协议。
        X协议:用于 UNIX 和 Linux 图形显示的 X 视窗系统协议(X-Window/X Protocol)

        看下图可以知道X协议有服务和客户端之分,所以无论是再windows系统还是ubuntu系统,只要建立了X服务,让docker里的容器作为X-client接入即可。

        77709a64-2aa2-4d5e-955b-53c1f92c5f65-image.png

        之前和古月合作直播课中,export DISPLAY其实就是告诉xclient,xserver的地址。

        明白了这一点,你去搜docker再linux上的可视化方法,就应该知道如何操作了。

        再提示一下:

        1. 在Windows上需要软件来启动Xserver
        2. Linux系统上自带Xserver,但默认不允许外部的xclient连接,需要使用指令配置
        sudo xhost +
        

        最后提供一些文档:

        • https://blog.csdn.net/dysh61301601/article/details/3208326
        • https://zhuanlan.zhihu.com/p/460494660

        祝早日解决问题~欢迎在解决后前来发帖回复解决步骤,帮助其他小伙伴!

        新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

        1 条回复 最后回复 回复 引用 0
        • 小鱼小
          小鱼 技术大佬 @609974291
          最后由 编辑

          @609974291 补充一下你的系统环境哈,不知道你是windows还是linux还是其他系统,不同系统处理方式不太一样,以及你的docker是在虚拟机还是windows中还是ubuntu直接装的?

          新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

          6 1 条回复 最后回复 回复 引用 -1
          • 6
            609974291 @小鱼
            最后由 编辑

            @小鱼 好,我的电脑是ubuntu16.04,docker是直接安装在系统中的,不是虚拟机,docker内部的ros ,是docker pull 拉取的官方给的16.04那个。

            小鱼小 1 条回复 最后回复 回复 引用 0
            • 小鱼小
              小鱼 技术大佬 @609974291
              最后由 编辑

              @609974291 首先说一下原理,docker对外显示,个人用的比较多的是走X协议。
              X协议:用于 UNIX 和 Linux 图形显示的 X 视窗系统协议(X-Window/X Protocol)

              看下图可以知道X协议有服务和客户端之分,所以无论是再windows系统还是ubuntu系统,只要建立了X服务,让docker里的容器作为X-client接入即可。

              77709a64-2aa2-4d5e-955b-53c1f92c5f65-image.png

              之前和古月合作直播课中,export DISPLAY其实就是告诉xclient,xserver的地址。

              明白了这一点,你去搜docker再linux上的可视化方法,就应该知道如何操作了。

              再提示一下:

              1. 在Windows上需要软件来启动Xserver
              2. Linux系统上自带Xserver,但默认不允许外部的xclient连接,需要使用指令配置
              sudo xhost +
              

              最后提供一些文档:

              • https://blog.csdn.net/dysh61301601/article/details/3208326
              • https://zhuanlan.zhihu.com/p/460494660

              祝早日解决问题~欢迎在解决后前来发帖回复解决步骤,帮助其他小伙伴!

              新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

              1 条回复 最后回复 回复 引用 0
              • 小鱼小 小鱼 将这个主题转为问答主题,在
              • 小鱼小 小鱼 将这个主题标记为已解决,在
              • 12878566911
                1287856691
                最后由 编辑

                我的是mac系统,显示渲染有关的失败,rviz

                1 条回复 最后回复 回复 引用 0
                • 第一个帖子
                  最后一个帖子
                皖ICP备16016415号-7
                Powered by NodeBB | 鱼香ROS