터미널을 통해 원격 서버에서 작업을 하다보면 GUI가 필요한 프로그램을 실행할 일이 종종 생긴다.
이때는 X11
을 설치하여 사용하면 된다.
별거 아니라고 생각했는데, 설치하는 데에 꽤나 우여곡절이 많았다. 😭
로컬에서 할 일
~/.ssh/config
파일을 수정한다.1 2 3 4 5 6 7 8 9 10
vim ~/.ssh/config # 다음과 같이 기존 내용에 ForwardX11, ForwardAgent 부분만 추가하면 된다. Host aistages HostName 118.67.130.53 User root Port 2226 IdentityFile /Users/seungri/workspace/bcaitech3/lv2-p-3/key ForwardX11 yes ForwardAgent yes
OS에 맞는
X11
프로그램을 설치한다.Mac의 경우에는 XQuartz를 다운 받고 설치하면 된다.
참고: https://blog.naver.com/asa4209/222219869485
서버에서 할 일
관련 패키지를 설치한다. (참고 링크)
1 2 3 4 5
apt install xauth which xauth # 설치 후 경로가 잘 뜨는지 확인한다. apt install xorg # xorg 설치 과정에서 keyboard 언어를 선택하게 되는데, 나는 Korean으로 했다. (58 -> 1)
/etc/ssh/sshd_config
파일을 수정한다.1 2 3 4 5 6 7 8 9
vim /etc/ssh/sshd_config # 다음의 항목을 주석 해제하고 다음과 같이 변경한다. X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost no # 저장 후 나온다. /etc/init.d/ssh reload # 설정을 적용한다.
서버에 다시 접속해본다. 기존 명령어에서
-X
를 붙이면 되며,-v
도 붙이면 자세한 log를 볼 수 있다.1
ssh -X aistages # 나는 서버 host 이름을 aistages로 설정해두었다.
서버 내에서 환경변수
DISPLAY
가 잘 뜨는지 확인한다.1 2 3 4 5
echo $DISPLAY # === 실행 결과 === # root@fcfe826b5c70:~# echo $DISPLAY # fcfe826b5c70:10.0
간단하게 시계 프로그램을 띄워본다.
1
xclock # 시계 화면이 뜨면 성공이다!
사용 예시
나는 X11
을 이용하여 부스트캠프 최종 프로젝트 리서치 중 unknown-face-classifier의 실험 결과를 시각적으로 확인할 수 있었다. 예능 영상에 등장하는 인물의 얼굴을 영상 재생과 함께 실시간으로 clustering 하여 보여주는 코드를 돌려보았으며, 다음과 같이 GUI로 확인이 가능했다.