【问题标题】:Displaying tkinter window from docker从 docker 显示 tkinter 窗口
【发布时间】:2018-01-08 20:59:59
【问题描述】:

我有一个 docker 容器,它打开了一个 tkinter 窗口,但它不断崩溃,因为它无法连接到主机的显示器。 this post 中给出的答案建议将 X-11 套接字绑定安装到容器 -v /tmp/.X11-unix:/tmp/.X11-unix:ro 并将其显示环境变量设置为主机 -e DISPLAY=$DISPLAY 的显示环境变量,但由于这些都是 unix 特定的路径/变量,它们将不起作用其他操作系统。如何将显示信息传递给容器,以便 tkinter 可以以独立于主机操作系统的方式使用它?

【问题讨论】:

    标签: python docker tkinter display x11-forwarding


    【解决方案1】:

    您将无法让基于 X11 的 docker 容器显示在非 X11 显示器上。如果您希望此 docker 容器能够打开显示窗口,则需要运行 X11。 Windows 和 OSX 都有服务器实现。

    【讨论】:

    • 那么有没有办法让我的 docker 容器在任何操作系统上显示一个窗口?如果是这样,这似乎是 docker 技术的巨大限制......
    • @GWarner:这不是 docker 技术的限制,它只是计算机的工作方式。没有通用的显示协议,服务器可以将信息发送到任何操作系统上的任何显示器。 X11 在 *nix 词中很好地解决了这个问题——任何 docker 容器都可以在任何其他 *nix 系统(使用 X11)上打开窗口,但是 windows 和 mac 都使用不同的显示技术。正如我在回答中所说,如果您安装了 X11 应用程序,则可以在 Windows 和 OSX 上显示窗口。
    猜你喜欢
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    • 2015-08-01
    • 1970-01-01
    相关资源
    最近更新 更多