如何解决在 Docker 中使用 Xlib.display 包时出错
编辑 18/7/21
所以我已经将错误隔离在 xlib.display 中。在 docker 容器中,当我运行 echo $disPLAY
时它返回 069f0be6990c:10.0
。
上面的代码所做的本质上是
import Xlib.display
Xlib.display.display('069f0be6990c:10.0')
这会抛出 X11 connection rejected because of wrong authentication.
错误。
原件
我目前的连接是这样
windows local machine ------*SSH*------ remote GPU ------*SSH*------ docker container
启用 X-11 转发后,当我在 docker 中执行 xclock
和 xeyes
等程序时,它在我的本地机器上显示没有问题。但是,当我尝试执行 AI2THOR 时。它返回以下错误
X11 connection rejected because of wrong authentication.
Traceback (most recent call last):
File "test.py",line 4,in <module>
controller = Controller()
File "/usr/local/lib/python3.6/dist-packages/ai2thor/controller.py",line 465,in __init__
self._build = self.find_build(local_build,commit_id,branch)
File "/usr/local/lib/python3.6/dist-packages/ai2thor/controller.py",line 1130,in find_build
if build.platform.is_valid(request):
File "/usr/local/lib/python3.6/dist-packages/ai2thor/platform.py",line 32,in is_valid
return len(cls.validate(request)) == 0
File "/usr/local/lib/python3.6/dist-packages/ai2thor/platform.py",line 166,in validate
request.x_display,request.width,request.height
File "/usr/local/lib/python3.6/dist-packages/ai2thor/platform.py",line 90,in _validate_screen
display_screen_str
File "/usr/local/lib/python3.6/dist-packages/Xlib/display.py",line 89,in __init__
self.display = _Basedisplay(display)
File "/usr/local/lib/python3.6/dist-packages/Xlib/display.py",line 71,in __init__
protocol_display.display.__init__(self,*args,**keys)
File "/usr/local/lib/python3.6/dist-packages/Xlib/protocol/display.py",line 162,in __init__
auth_prot_data = auth_data)
File "/usr/local/lib/python3.6/dist-packages/Xlib/protocol/display.py",line 1075,in __init__
display.send_and_recv(request = -1)
File "/usr/local/lib/python3.6/dist-packages/Xlib/protocol/display.py",line 609,in send_and_recv
raise self.socket_error
Xlib.error.ConnectionClosedError: display connection closed by server
当我执行这个程序时,Xlib 包中似乎有一些错误。非常感谢任何帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。