2017-08-01 10 views
0

私はtkinterウィンドウを開くドッキングコンテナを持っていますが、ホストマシンのディスプレイに接続できないためクラッシュしています。 this postで与えられた答えは、X-11ソケットをコンテナ-v /tmp/.X11-unix:/tmp/.X11-unix:roにバインドし、その表示環境変数をホストマシン-e DISPLAY=$DISPLAYに設定することを推奨しますが、これらは両方ともUNIX特有のパス/変数であるため、他のオペレーティングシステムでは動作しません。 tkinterがホストOSに依存しない方法でそれを使用できるように、どのように表示情報をコンテナに渡すことができますか?ドッカーからtkinterウィンドウを表示

答えて

0

X11ベースのドッカーコンテナをX11以外のディスプレイに表示することはできません。このドッカーコンテナーでウィンドウをディスプレイに開くことができるようにするには、X11を実行している必要があります。 WindowsとOSXの両方のサーバー実装があります。

+0

私のドッカーコンテナにどのOSでもウィンドウを表示させる方法はありませんか?もしそうなら、これはドッカー技術の巨大な限界のようです。 –

+0

@GWarner:それはドッカー技術の限界ではなく、単にコンピュータの仕組みです。サーバが任意のOS上の任意のディスプレイに情報を送信することができる汎用ディスプレイプロトコルは存在しない。 X11は* nixの言葉でこれを解決する素晴らしい仕事をします - どんなドッカーコンテナも他の* nixシステム(X11を使用しています)でウィンドウを開くことができますが、両方のウィンドウとMacは異なるディスプレイ技術を使用します。私が答えて言ったように、X11アプリケーションをインストールすると、WindowsとOSXにウィンドウを表示できます。 –

関連する問題