Я пытаюсь использовать пересылку X через SSH для запуска приложений GUI, установленных в контейнере Docker на основе Ubuntu, но пересылка X не применяется, даже если я установил xauth с X11Forwarding yes в / etc / ssh / sshd_config , ($DISPLAY не определен.) Я попытался использовать пересылку X для реальных компьютеров с одинаковой конфигурацией, и она работала хорошо. ($DISPLAY определено.) Действительно ли возможна пересылка X через SSH в контейнер Docker?
Если контейнер находится на вашей локальной машине, проще предоставить программам инсайдерский доступ к вашему контейнеру прямо к вашему гнезду X11. Для этого нужно всего лишь установить [F2] и [F3] в контейнер и установите $DISPLAY.
Предполагая, что вы используете some_user с домашней директории /home/some_user/, чтобы запустить your_program в контейнере [ f8] использовать
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
Если контейнер находится на вашей локальной машине, проще предоставить программам инсайдерский доступ к вашему контейнеру прямо к вашему гнезду X11. Для этого вам нужно только установить /tmp/.X11-unix и ~/.Xauthority в свой контейнер и установить $DISPLAY.
Предполагая, что вы используете some_user с домашним dir /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
Если контейнер находится на вашей локальной машине, проще предоставить программам инсайдерский доступ к вашему контейнеру прямо к вашему гнезду X11. Для этого вам нужно только установить /tmp/.X11-unix и ~/.Xauthority в свой контейнер и установить $DISPLAY.
Предполагая, что вы используете some_user с домашним dir /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
Если контейнер находится на вашей локальной машине, проще предоставить программам инсайдерский доступ к вашему контейнеру прямо к вашему гнезду X11. Для этого вам нужно только установить /tmp/.X11-unix и ~/.Xauthority в свой контейнер и установить $DISPLAY.
Предполагая, что вы используете some_user с домашним dir /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