UbuntuベースのDockerコンテナにインストールされたGUIアプリを実行するために、SSH経由のX転送を使用しようとしていますが、/ etc/ssh /にX11Forwarding yes
でxauth
をインストールしてもX転送は適用されませんsshd_config。 ($DISPLAY
は定義されていません。)
同じ構成の実際のコンピューターでXフォワーディングを使用しようとしましたが、うまく機能しました。 ($DISPLAY
が定義されています。)
SSH経由でDockerコンテナーにXを転送することは本当に可能ですか?
コンテナがローカルマシン上にある場合、コンテナ内部のプログラムに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