서버 GUI 프로그램 클라이언트에서 보기

ssh를 통해 서버를 접속할 수 있다면, X11 forwarding 기능을 이용해 서버에서 GUI 프로그램을 구동시키고, 그 화면을 클라이언트(개인 PC, 노트북) 등에서 확인할수 있다. GUI 프로그램의 예는 NEURON, GROMACS, pymol 등이 있겠다. 보통은 X11 forwarding하는 것이 느린 편(이미지를 전송해야 하므로)이기 때문에 잘 쓰지 않지만, 아예 원격테스크탑을 쓰지 않고도 GUI를 클라이언트에서 다룰 수 있다는 장점이 있다. 또한 NEURON이나 GROMAC같이 계산복잡도가 높은 시뮬레이션을 돌리는 프로그램은 화면 전송 딜레이를 감수하고 X11 forwarding 기능을 쓰는게 나을 수도 있다.

이 작업을 하려면 몇가지 단계가 필요하다.

  1. 서버에서 ssh를 통한 x11 forwarding을 허용하는 것
  2. 클라이언트에서 x11 forwarding을 받아 구동하는 소프트웨어를 설치하는 것
  3. vs code를 통해 접속했을 때도, x11 forwarding이 구동되도록 하는 것

서버 X11 forwaring 허용

$ sudo vi /etc/ssh/sshd_config

```
X11Forwarding yes
```

ssh 환경파일을 열어서 X11Forwarding 이 있는 line을 찾아서 yes라고 해준다.

 

클라이언트 X11 소프트웨어

  • Mac은 XQuartz 를 깔면 된다.
  • Windows는 Xming을 깔자.

VS code setting

터미널에서 ssh로 접속할 때는 다음과 같이 -X 옵션을 붙여 준다.

ssh -p server_port -X user_name@server_ip

$ xeyes

서버에 접속해서 xeyes를 열어서 클라이언트에서 xeyes GUI가 뜨는지 확인한다.

뜨는게 확인이 되었다면, vscode ssh config에 다음과 같은 옵션을 추가한다.

Host PC_name
  HostName server_ip
  Port server_port
  User user_name
  ForwardX11 yes
  ForwardX11Trusted yes

ForwardX11 과 관련한 옵션을 추가하면 된다.

 

Leave a comment

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.

위로 스크롤