(¿Ï·á) docker¿¡¼ GUI Ç¥Çö ¹®Á¦...
https://superuser.com/questions/1202611/forward-x11-over-an-ssh-conne¡¦ (563)
안녕하세요, 현재 서버 하나에 docker image를 하나 만들어 사용을 하려고 합니다. (cuda docker)
```
# Dockerfile
FROM nvidia/cuda
ENV TERM xterm-256color
ENV DEBIAN_FRONTEND noninteractive
RUN cp /etc/apt/sources.list /etc/apt/sources.list~ &&\
rm /etc/apt/sources.list &&\
cat /etc/apt/sources.list~ | sed -e "s;archive;kr.archive;g" > /etc/apt/sources.list &&\
apt-get update &&\
apt-get install -y apt-utils locales &&\
apt-get install -yq keyboard-configuration &&\
apt-get upgrade -y
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
RUN apt-get install -y vim-nox sudo wget rsync &&\
apt-get install -y cuda-repo-ubuntu1604 &&\
apt-get update &&\
apt-get install -y cuda mpich
ENV USERNAME myid
RUN useradd -m $USERNAME -s /bin/bash &&\
echo "$USERNAME:$USERNAME" | chpasswd &&\
usermod --shell /bin/bash $USERNAME &&\
usermod -aG sudo $USERNAME &&\
echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/$USERNAME &&\
chmod 0440 /etc/sudoers.d/$USERNAME &&\
usermod --uid 1000 $USERNAME &&\
groupmod --gid 1000 $USERNAME
USER $USERNAME
WORKDIR /home/$USERNAME
```
위쪽이 제 Dockerfile이고, 실행 시 아래와 같은명령어로 실행을 했습니다.
nvidia-docker run --rm -ti -u myid -e DISPLAY="$DISPLAY" -v /tmp/.X11-unix:/tmp/.X11-unix image:tag /bin/bash
하여튼, 문제가 뭐냐면...
1. 직접 (물리적으로) 서버에 가서 docker image를 실행할 경우 GUI가 아주 잘 나옵니다. (예를 들어 xterm)
2. 그런데 저 서버에 ssh로 접속 후 위 명령어를 실행하면 display "localhost:포트" 를 열 수 없다고 나오네요.
(xterm 실행 시: xterm: Xt error: Can't open display: localhost:10.0)
어떤 설정을 추가로 해줘야 할까요?
+ 저와 같은 질문을 한 사람이 stack ex. superuser 에 있길래 링크 추가합니다... (답변이없네요 ㅠㅠ)
putty ¼³Á¤Áß¿¡ tunnel ÂÊ ¼³Á¤ÇϽðí Çѹø Çغ¸¼¼¿ä :)
/etc/ssh/sshd_config ¾Æ·¡¿¡ X11Forwarding ÀÌ yes·Î ¼³Á¤µÇ¾î ÀÖÀ¸½Å°¡¿ä?
X¿Í °ü·ÃÇؼ ¸µÅ©¿Í °°Àº ¼³Á¤ÀÌ ÀÖ½À´Ï´Ù.
https://unix.stackexchange.com/questions/108679/x-client-forwarded-over-ssh-cannot-open-display-localhost11-0