2017-08-01 65 views
0

我有一個碼頭容器打開tkinter窗口,但它不斷連接,因爲它無法連接到主機的顯示。在this post中給出的答案建議將安裝X-11插座綁定到容器-v /tmp/.X11-unix:/tmp/.X11-unix:ro並將它的顯示環境變量設置爲主機-e DISPLAY=$DISPLAY的顯示環境變量,但是由於這些都是特定於unix的路徑/變量,所以它們將無法在其他操作系統上工作。我如何將顯示信息傳遞給容器,以便tkinter可以以獨立於主機操作系統的方式使用它?從碼頭顯示tkinter窗口

回答

0

您將無法將基於X11的Docker容器顯示在非X11顯示器上。如果你想讓這個碼頭容器能夠打開你的顯示器的窗口,你需要運行X11。有Windows和OSX的服務器實現。

+0

那麼有沒有辦法讓我的碼頭容器在任何操作系統上顯示一個窗口?如果是這樣,這似乎是碼頭技術的巨大侷限...... –

+0

@GWarner:它不是碼頭技術的限制,它只是計算機的工作原理。沒有通用顯示協議,服務器可以將信息發送到任何操作系統上的任何顯示器。 X11在* nix這個詞中做了很好的工作 - 任何docker容器都可以在任何其他* nix系統(使用X11)上打開窗口,但Windows和Mac都使用不同的顯示技術。正如我在我的回答中所說的,如果您安裝了X11應用程序,則可以在Windows和OSX上顯示窗口。 –