J'essaie d'utiliser le transfert X via SSH pour exécuter des applications graphiques installées dans un conteneur Docker basé sur Ubuntu, mais le transfert X n'est pas appliqué même si j'ai installé xauth
avec X11Forwarding yes
dans/etc/ssh/sshd_config. ($DISPLAY
n'est pas défini.)
J'ai essayé d'utiliser le transfert X pour de vrais ordinateurs avec la même configuration, et cela a bien fonctionné. ($DISPLAY
est défini.)
La redirection X via SSH vers le conteneur Docker est-elle vraiment possible?
Si le conteneur se trouve sur votre machine locale, il est plus facile de donner aux programmes votre initié un accès direct à votre socket X11. Pour cela, il vous suffit de monter /tmp/.X11-unix
et ~/.Xauthority
dans votre conteneur et de définir $DISPLAY
.
En supposant que vous utilisiez some_user
avec le répertoire personnel /home/some_user/
pour exécuter your_program
dans le conteneur some_image
use
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