web-dev-qa-db-ja.com

Dockerコンテナー内のSSHサーバーにX転送を使用する

UbuntuベースのDockerコンテナにインストールされたGUIアプリを実行するために、SSH経由のX転送を使用しようとしていますが、/ etc/ssh /にX11Forwarding yesxauthをインストールしてもX転送は適用されませんsshd_config。 ($DISPLAYは定義されていません。)
同じ構成の実際のコンピューターでXフォワーディングを使用しようとしましたが、うまく機能しました。 ($DISPLAYが定義されています。)
SSH経由でDockerコンテナーにXを転送することは本当に可能ですか?

5
LesMiserables25

コンテナがローカルマシン上にある場合、コンテナ内部のプログラムにX11ソケットへの直接アクセスを提供する方が簡単です。このためには、/tmp/.X11-unix~/.Xauthorityをコンテナにマウントし、$DISPLAYを設定するだけです。

some_userをホームディレクトリ/home/some_user/で使用して、コンテナでyour_programを実行すると仮定しますsome_image

docker run  -v /tmp/.X11-unix:/tmp/.X11-unix \
            -v ~/.Xauthority:/home/some_user/.Xauthority \
            --env DISPLAY=:0 --user some_user some_image your_program
1
Florian Diesch