我在Docker中有一個安裝程序,用於在Ubuntu 14.04.03的Docker中運行GUI應用程序。使用X11轉發在Docker中運行多個GUI
使用具有必要參數的腳本文件啓動GUI應用程序。如果應用程序只有一個窗口,並且我可以通過執行X11轉發輕鬆查看結果,則設置工作正常。這是我用它來運行應用程序
sudo docker run -it \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=$DISPLAY \
-w /Apps/ \
--rm appsdocker:v1 \
/bin/bash -c "./run_singleGUIapp.sh param1"
的命令,但如果GUI有一個按鈕,點擊後會打開一個新的窗口,GUI應用程序無法響應和而返回到系統提示符後。
我試着運行這個link的例子,它解釋瞭如何在使用X11轉發的docker上運行firefox。一旦我搜索Docker中運行的firefox上的查詢,並嘗試「在新窗口中打開」任何後續命中,該應用程序的工作。我試圖假設它也會導致一個不響應的行爲,但似乎這不是一般情況,而只是與我的腳本一致。
據我所知,這是非常模糊的問題描述,因爲我無法透露應用程序和環境的細節。任何關於如何處理自己生成的GUI應用程序的指針都將不勝感激。
首先,你不需要寫:'-v /tmp/.X11-unix:/tmp/ .X11-unix「和」-e DISPLAY = $ DISPLAY「。 '-v /tmp/.X11-unix \ -e DISPLAY'就足夠了。 –
我已經描述了一種解決方案作爲答案。我也可能是另一個問題:第二個窗口將顯示在另一個環境中,其中沒有設置「DISPLAY」變量的值。嘗試編寫更多關於點擊此按鈕後發生的事情。它是否啓動一個新的應用程序? –