[Network] X11, VNC server / client 관리

markyang92·2021년 6월 4일
0

linux (ubuntu/debian)

목록 보기
11/37
post-thumbnail
  • 개발환경
    • Host: Ubuntu 20.04

X11

  • 그래픽 출력을 위해 client server 모델을 사용, TCP/IP 기반 X protocol로 통신
    • 클라이언트 ----- graphical request -----> X 서버
      view  <------------ return ---------   [ 프로세싱 ]
  • 그래서 X11 은 원격 접속에 특화되어 있음

Tiger VNC

Tiger VNC 공식 사이트

VNC server

  1. Tiger VNC Server 설치
$ sudo apt install tigervnc-standalone-server tigervnc-xorg-extension

  1. 비밀번호 설정
$ vncpasswd

  1. xstartup 작성
$ vim ~/.vnc/xstartup

==== ~/.vnc/xstartup ====
#!/bin/sh
# Start Gnome 3 Desktop
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &
  • +x permission
$ chmod u+x ~/.vnc/xstartup

  1. vnc 서버 실행
$ vncserver -localhost no
  • -localhost no를 주지 않으면 default 설정이 localhost에 의한 접근만 허용된다.
    외부 접속을 허용하려면 해당 옵션을 주어야한다.

  1. vnc 서버 실행 확인
$ vncserver -list

  • VNC 서버의 포트는 X Display :1 일때 5901이다.
    • 외부에서 이 포트를 사용할 수 없게 firewall을 사용해야한다.
    • ssh의 포트포워딩 기능을 이용해 ssh가 사용하는 22번 포트를 이용해 VNC 서버를 View할 수 있다.

kill

  1. 열어둔 X DISPLAYKILL
$ vncserver -kill [X DISPLAY #]

e.g) kill 하고 싶은 X DISPLAY Number는 :1 이다.
$ vncserver -kill :1



VNC Client

  1. 설치
$ sudo apt install tigervnc-viewer

  1. VNC Client(viewer) 실행
$ xtigervncviewer
# 혹은
$ vncviewer
  • 명령어를 입력하면 실행창이 뜬다.
    VNC_SERVER_IP:VNC_PORT를 입력한다.

    VNC server에서 지정한 PW를 입력한다.

VNC Client(Windows)

  1. VNC Client 가능한 프로그램을 설치한다.
  • MobaXterm 사용

암호화(ssh tunneling)

  1. VNC 서버 설정
    1-1. /etc/ssh/sshd_config 파일
    GateWayPorts yes 설정: localhost가 아닌 다른 곳으로 설정할 수 있음

  2. VNC client설정

  • Client의 5000 포트 <-> server의 5901 포트
  1. Client에서 위 명령어를 실행 시킨 터미널을 켜둔 상태에서, vncviewer를 사용함
    vncserver_ip:5000 으로 접속하면 vncserver :5901로 접속 가능
    (vncserver에서 -localhost no) 옵션으로 실행되어 있어야함

profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글