OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] VNC - 일종의 그래픽 환경 텔넷

주누다 2015. 5. 6. 02:14
반응형


VNC 서버 설치하고 설정하기

- 리눅스는 VNC 패키지를 제공하지만 기본적으로 설치되는 패키지가 아니므로 관리자가 설치해야함


VNC 서버 설치하기

- 패키지의 이름은 'vnc4server'

==============================================================

sjw@sjw-HP-Mini-110-3500:~$ sudo apt-get install vnc4server
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다      
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
Use 'apt-get autoremove' to remove them.
다음 패키지를 더 설치할 것입니다:
  xbase-clients
제안하는 패키지:
  vnc-java
다음 새 패키지를 설치할 것입니다:
  vnc4server xbase-clients
0개 업그레이드, 2개 새로 설치, 0개 제거 및 3개 업그레이드 안 함.
1,579 k바이트 아카이브를 받아야 합니다.
이 작업 후 5,418 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 http://kr.archive.ubuntu.com/ubuntu/ trusty-updates/universe xbase-clients all 1:7.7+1ubuntu8.1 [2,756 B]
받기:2 http://kr.archive.ubuntu.com/ubuntu/ trusty-updates/universe vnc4server amd64 4.1.1+xorg4.3.0-37ubuntu5.0.1 [1,577 kB]
내려받기 1,579 k바이트, 소요시간 0초 (1,989 k바이트/초)
Selecting previously unselected package xbase-clients.
(데이터베이스 읽는중 ...현재 260251개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../xbase-clients_1%3a7.7+1ubuntu8.1_all.deb ...
Unpacking xbase-clients (1:7.7+1ubuntu8.1) ...
Selecting previously unselected package vnc4server.
Preparing to unpack .../vnc4server_4.1.1+xorg4.3.0-37ubuntu5.0.1_amd64.deb ...
Unpacking vnc4server (4.1.1+xorg4.3.0-37ubuntu5.0.1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
xbase-clients (1:7.7+1ubuntu8.1) 설정하는 중입니다 ...
vnc4server (4.1.1+xorg4.3.0-37ubuntu5.0.1) 설정하는 중입니다 ...
update-alternatives: using /usr/bin/vnc4server to provide /usr/bin/vncserver (vncserver) in 자동 모드
update-alternatives: using /usr/bin/Xvnc4 to provide /usr/bin/Xvnc (Xvnc) in 자동 모드
update-alternatives: using /usr/bin/x0vnc4server to provide /usr/bin/x0vncserver (x0vncserver) in 자동 모드
update-alternatives: using /usr/bin/vnc4passwd to provide /usr/bin/vncpasswd (vncpasswd) in 자동 모드
update-alternatives: using /usr/bin/vnc4config to provide /usr/bin/vncconfig (vncconfig) in 자동 모드
sjw@sjw-HP-Mini-110-3500:~$

==============================================================


 

VNC 서버 설정하기

- vnc 서버의 설정은 사용자별로 해야함

- 시스템 관리자가 일괄적으로 수행할 수도 있으나

  결국 개별 사용자가 설정 파일을 수정하고 다시 실행해야함


1)

- 일단 'vncserver' 를 동작

- 'vncserver'는 해당 사용자 계정에서 실행하면 됨

- 'vncserver'를 실행하면 먼저 VNC에 접속할 때 사용할 암호를 입력해야 함.

- VNC와 관련된 스크립트 파일이 생성됨

- 암호와 스크립트 파일은 사용자 홈 디렉터의 '.vnc' 디렉터리에 생성됨

=========================================================

sjw@sjw-HP-Mini-110-3500:~$ vncserver

You will require a password to access your desktops.

Password:
Verify:
Password too long - only the first 8 characters will be used

New 'sjw-HP-Mini-110-3500:1 (sjw)' desktop is sjw-HP-Mini-110-3500:1

Creating default startup script /home/sjw/.vnc/xstartup
Starting applications specified in /home/sjw/.vnc/xstartup
Log file is /home/sjw/.vnc/sjw-HP-Mini-110-3500:1.log

sjw@sjw-HP-Mini-110-3500:~$ ls .vnc
passwd  sjw-HP-Mini-110-3500:1.log  sjw-HP-Mini-110-3500:1.pid  xstartup
sjw@sjw-HP-Mini-110-3500:~$ 
=========================================================



2)

- 1번에서 'vncserver' 를 동작시킨 것은 xstartup 파일을 생성하기 위함

- 'xstartup' 파일은 그래픽 환경인 X윈도우를 동작시킬 때 참조하는 설정 파일

=========================================================

#!/bin/sh

# Uncomment the following two lines for normal desktop:
 unset SESSION_MANAGER          # #을 삭제함
unset DBUS_SESSION_BUS_ADDRESS  # 내용을 추가함
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &             # #을 추가함
gnome-sesssion --session=ubuntu &       # 내용을 추가함
~                                                                              
~                                                                              
~                                                                              
~                                                                              
~                                                                              
~                                                                              
~                                                                              
~                                                                              
~                                                                              
?\<x\>
=========================================================



3)

- 'vncserver' 를 종료했다가 다시 동작시켜야 바뀐 xstartup 를 적용할 수 있음.

=========================================================

sjw@sjw-HP-Mini-110-3500:~$ vncserver -kill :1
Killing Xvnc4 process ID 9621
sjw@sjw-HP-Mini-110-3500:~$

=========================================================


- 'vncserver'를 다시 동작시킬 때 화면의 해상도와 픽셀의 비트 수를 지정할 수 있음

- 기본 해상도는 1,024 * 768.

- 픽셀의 비트 수는 기본 값이 24비트

=========================================================

sjw@sjw-HP-Mini-110-3500:~$ vncserver :1 -geometry 800x600 -depth 24

New 'sjw-HP-Mini-110-3500:1 (sjw)' desktop is sjw-HP-Mini-110-3500:1

Starting applications specified in /home/sjw/.vnc/xstartup
Log file is /home/sjw/.vnc/sjw-HP-Mini-110-3500:1.log

sjw@sjw-HP-Mini-110-3500:~$

========================================================= 


4) 방화벽 처리

- VNC가 사용하는 포트를 신뢰할 수 있는 포트로 등록해야 클라이언트에서  VNC로 접속할 수 있음

- VNC는 기본적으로 5900번대 포트를 사용

- 첫 번째 디스플레이가 5901, 두 번째 디스플레이가 5902 이런식으로 차례로 증가

=========================================================

sjw@sjw-HP-Mini-110-3500:~$ sudo ufw disable
[sudo] password for sjw:
방화벽이 비활성되었으며 시스템 시작시에도 시동되지 않습니다.
sjw@sjw-HP-Mini-110-3500:~$

========================================================= 





VNC 클라이언트 설치하고 사용하기

- VNC 클라이언트는 리눅스와 윈도우에서 모두 사용할 수 있음

- 리눅스에서는 다른 리눅스 시스템에 원격 접속할 때 VNC 클라이언트를 사용

- 윈도우에서는 리눅스 시스템에 접속할 때 텔넷이나 SSH 대신에  VNC를 사용할 수 있음


리눅스용 VNC 클라이언트 설치하고 사용하기

- 리눅스용 VNC 클라이언트는 여러 가지가 있는데 그놈용은 vinagre.

- vinagre 는 apt-get 명령으로 간단하게 설치할 수 있음

=========================================================

sjw@sjw-HP-Mini-110-3500:~$ sudo apt-get install vinagre
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다      
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
Use 'apt-get autoremove' to remove them.
다음 패키지를 더 설치할 것입니다:
  freerdp-x11 libavahi-ui-gtk3-0 libgtk-vnc-2.0-0 libgvnc-1.0-0
다음 새 패키지를 설치할 것입니다:
  freerdp-x11 libavahi-ui-gtk3-0 libgtk-vnc-2.0-0 libgvnc-1.0-0 vinagre
0개 업그레이드, 5개 새로 설치, 0개 제거 및 3개 업그레이드 안 함.
973 k바이트 아카이브를 받아야 합니다.
이 작업 후 5,122 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 http://kr.archive.ubuntu.com/ubuntu/ trusty/main libavahi-ui-gtk3-0 amd64 0.6.31-4ubuntu1 [18.9 kB]
받기:2 http://kr.archive.ubuntu.com/ubuntu/ trusty/main freerdp-x11 amd64 1.0.2-2ubuntu1 [50.4 kB]
받기:3 http://kr.archive.ubuntu.com/ubuntu/ trusty/main libgvnc-1.0-0 amd64 0.5.3-0ubuntu2 [53.2 kB]
받기:4 http://kr.archive.ubuntu.com/ubuntu/ trusty/main libgtk-vnc-2.0-0 amd64 0.5.3-0ubuntu2 [22.3 kB]
받기:5 http://kr.archive.ubuntu.com/ubuntu/ trusty/universe vinagre amd64 3.10.2-0ubuntu1 [828 kB]
내려받기 973 k바이트, 소요시간 1초 (824 k바이트/초)
Selecting previously unselected package libavahi-ui-gtk3-0:amd64.
(데이터베이스 읽는중 ...현재 260270개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../libavahi-ui-gtk3-0_0.6.31-4ubuntu1_amd64.deb ...
Unpacking libavahi-ui-gtk3-0:amd64 (0.6.31-4ubuntu1) ...
Selecting previously unselected package freerdp-x11.
Preparing to unpack .../freerdp-x11_1.0.2-2ubuntu1_amd64.deb ...
Unpacking freerdp-x11 (1.0.2-2ubuntu1) ...
Selecting previously unselected package libgvnc-1.0-0.
Preparing to unpack .../libgvnc-1.0-0_0.5.3-0ubuntu2_amd64.deb ...
Unpacking libgvnc-1.0-0 (0.5.3-0ubuntu2) ...
Selecting previously unselected package libgtk-vnc-2.0-0.
Preparing to unpack .../libgtk-vnc-2.0-0_0.5.3-0ubuntu2_amd64.deb ...
Unpacking libgtk-vnc-2.0-0 (0.5.3-0ubuntu2) ...
Selecting previously unselected package vinagre.
Preparing to unpack .../vinagre_3.10.2-0ubuntu1_amd64.deb ...
Unpacking vinagre (3.10.2-0ubuntu1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for gconf2 (3.2.6-0ubuntu2) ...
Processing triggers for shared-mime-info (1.2-0ubuntu3) ...
Processing triggers for libglib2.0-0:amd64 (2.40.2-0ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for mime-support (3.54ubuntu1.1) ...
Processing triggers for gnome-menus (3.10.1-0ubuntu2) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Processing triggers for bamfdaemon (0.5.1+14.04.20140409-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
libavahi-ui-gtk3-0:amd64 (0.6.31-4ubuntu1) 설정하는 중입니다 ...
freerdp-x11 (1.0.2-2ubuntu1) 설정하는 중입니다 ...
libgvnc-1.0-0 (0.5.3-0ubuntu2) 설정하는 중입니다 ...
libgtk-vnc-2.0-0 (0.5.3-0ubuntu2) 설정하는 중입니다 ...
vinagre (3.10.2-0ubuntu1) 설정하는 중입니다 ...
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
sjw@sjw-HP-Mini-110-3500:~$

========================================================= 


- VNC 클라이언트의 명령어는 'vinagre'

- 접속하려는 서버 주소와 함께 디스플레이 번호를 지정해야 함

- 'vinagre IP주소:디스플레이 번호(예 : vinagre 192.168.0.12:1)

=========================================================

sjw@sjw-HP-Mini-110-3500:~$ vinagre 192.168.0.12:1 &
[2] 11510
sjw@sjw-HP-Mini-110-3500:~$
** (vinagre:11510): WARNING **: mDNS 브라우저를 초기화하는데 실패했습니다: Failed to create avahi client: 데몬이 실행 중이 아님

^C
[2]-  완료                  vinagre 192.168.0.12:1
sjw@sjw-HP-Mini-110-3500:~$ 

=========================================================


 

윈도우용 VNC 클라이언트 설치

- 윈도우용 VNC 클라이언트 그중에서 TigerVNC.

- TigerVNC 는 'www.tigervnc.com'




p.s

- VNC는 그래픽 인터페이스이므로 실제로 원활한 작업을 하기에는

  텔넷이나 SSH보다 접속 속도와 응답 속도가 느림

- VNC를 제대로 활용하려면 VNC 서버와 클라이언트 모두의 하드웨어 성능이 뒷받침되어야 함

- 어렵게 VNC를 설정하고 사용하기보다는 SSH를 사용하는 것이 빠르고 안전



반응형