python – docker _tkinter.TclError:无法连接到显示

weixin_38054276 2019-09-12 11:54:12
ubuntu 16.04,安装了nvidia-docker,一个张量流容器运行,python 2.7 我想在容器中运行一个简单的python代码.如下所示 from tkinter import * master = Tk() canvas_width = 80 canvas_height = 40 w = Canvas(master, width=canvas_width, height=canvas_height) w.pack() y = int(canvas_height / 2) w.create_line(0, y, canvas_width, y, fill="#476042") mainloop() 但是当我运行它时,会出现此错误 _tkinter.TclError: no display name and no $DISPLAY environment variable 并根据这个网站https://github.com/moby/moby/issues/8838我将容器提交到图像,然后使用-e标志再次运行它: -e DISPLAY=:0.0 但是这里出现了错误: _tkinter.TclError: couldn’t connect to display :0.0 我没有使用ssh登录容器.任何人都可以给我建议吗?
...全文
433 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38067113 2019-09-12
  • 打赏
  • 举报
回复
这是因为容器无法访问主机的x11套接字.所以在做docker运行时,需要包含这两个标志. -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY 在此之后,我们需要做另一个操作.因为X11的默认设置只允许本地用户打印.所以我们需要将此更改为所有用户. $sudo apt-get install x11-xserver-utils $xhost + 然后问题解决了. ^ ^

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧