Home [Tips] 원격 서버에서 GUI를 실행하기 위해서 X11 설치하기
Post
Cancel

[Tips] 원격 서버에서 GUI를 실행하기 위해서 X11 설치하기


터미널을 통해 원격 서버에서 작업을 하다보면 GUI가 필요한 프로그램을 실행할 일이 종종 생긴다.

이때는 X11을 설치하여 사용하면 된다.

별거 아니라고 생각했는데, 설치하는 데에 꽤나 우여곡절이 많았다. 😭


로컬에서 할 일

  1. ~/.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
    
  2. OS에 맞는 X11 프로그램을 설치한다.

    Mac의 경우에는 XQuartz를 다운 받고 설치하면 된다.
    참고: https://blog.naver.com/asa4209/222219869485


서버에서 할 일

  1. 관련 패키지를 설치한다. (참고 링크)

    1
    2
    3
    4
    5
    
     apt install xauth
     which xauth # 설치 후 경로가 잘 뜨는지 확인한다.
    
     apt install xorg 
     # xorg 설치 과정에서 keyboard 언어를 선택하게 되는데, 나는 Korean으로 했다. (58 -> 1)
    
  2. /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 # 설정을 적용한다.
    
  3. 서버에 다시 접속해본다. 기존 명령어에서 -X를 붙이면 되며, -v도 붙이면 자세한 log를 볼 수 있다.

    1
    
     ssh -X aistages # 나는 서버 host 이름을 aistages로 설정해두었다.
    
  4. 서버 내에서 환경변수 DISPLAY가 잘 뜨는지 확인한다.

    1
    2
    3
    4
    5
    
     echo $DISPLAY
    
     # === 실행 결과 ===
     # root@fcfe826b5c70:~# echo $DISPLAY
     # fcfe826b5c70:10.0
    
  5. 간단하게 시계 프로그램을 띄워본다.

    1
    
     xclock # 시계 화면이 뜨면 성공이다!
    


사용 예시

나는 X11을 이용하여 부스트캠프 최종 프로젝트 리서치 중 unknown-face-classifier의 실험 결과를 시각적으로 확인할 수 있었다. 예능 영상에 등장하는 인물의 얼굴을 영상 재생과 함께 실시간으로 clustering 하여 보여주는 코드를 돌려보았으며, 다음과 같이 GUI로 확인이 가능했다.

This post is licensed under CC BY 4.0 by the author.

[Tips] Jupyter Lab에 가상 환경 추가하기

[Tips] 원격 서버의 Bash Highlighting 설정 및 한글 깨짐 문제 해결 방법