码迷,mamicode.com
首页 > 其他好文 > 详细

ROS Could not connect to display localhost:17.0

时间:2020-04-15 17:45:04      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:its   dep   nts   detail   mamicode   shm   contain   https   serve   

问题

我是 Xshell 连接的 VirtualBox 的 Ubuntu16.04 版本
是因为我在命令行窗口启动 GUI 界面导致的

QXcbConnection: Could not connect to display localhost:17.0
rqt: cannot connect to X server localhost:.0

解释

17.0 是 DISPLAY 变量的值
关于DISPLAY 变量的解释,建议可以参考 Linux DISPLAY环境变量的妙用 文章格式有点乱,但戳中了正点.

解决方法

  1. 删掉 Docker 容器,在图形化桌面开启容器,因为这样默认分配到图形化桌面的显示器来显示
    root@ubuntu:/home/walker# docker container rm kinetic -f
    root@ubuntu:/home/walker# docker run -itd --name kinetic --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" -v "/root/.ros/:/root/.ros/" osrf/ros:kinetic-desktop-full-xenial rqt
  2. 这个未经验证,是根据对 DISPLAY 的理解来推理的(请自己肉测)
    1)查看图形化桌面的 DISPLAY 值
    2)修改报错的那个终端的 DISPLAY 值为系统桌面的

若碰到 No protocol specified rqt: cannot connect to X server :1 提示,记得赋权限

root@ubuntu:/home/walker# echo ${DISPLAY}
:1
root@ubuntu:/home/walker# xhost +
access control disabled, clients can connect from any host

技术图片

ROS Could not connect to display localhost:17.0

标签:its   dep   nts   detail   mamicode   shm   contain   https   serve   

原文地址:https://blog.51cto.com/laok8/2487505

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!