Я пытаюсь использовать X передач через SSH для запущения приложений GUI, установленных в основанном на Ubuntu контейнере Докера, но X передач не применяются, даже я установил xauth
с X11Forwarding yes
в/etc/ssh/sshd_config. ($DISPLAY
не определяется.)
Я пытался использовать X передач для реальных компьютеров с той же конфигурацией, и она работала хорошо. ($DISPLAY
определяется.)
X передает через SSH действительно возможному контейнеру Докера?
Если контейнер находится на вашем локальном компьютере, проще предоставить программам, находящимся внутри вашего контейнера, прямой доступ к вашему сокету 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