VNC简介:        



     VNC(Virtual Network Computing)中文名称为虚拟网络计算机,VNC使用的通信协议RFB(Remote Fram Buffers)是一个开放协议,一种在本地系统上显示远程计算机整个“桌面”的轻量型协议,其采用了GPL授权条款(也就是说它是一个开放源代码的软件),任何人都可免费取得该软件。VNC与Symantec公司的pcAnywhere可以实现类似的功能,但是VNC与其他远程软件不同的是跨平台性,即VNC可以在各种流行的操作系统间实现远程控制,如Unix系列(Unix,Linux,Solaris等),windows及MacOS。



      VNC软件主要由两个部分组成:VNC server及VNC viewer。用户需先将VNC server安装在被控端的计算机上后,才能在主控端执行VNC viewer控制被控端(如果操作的主控端计算机没有安装VNC viewer,也可以通过一般的网页浏览器来控制被控端)。



 



整个VNC运行的工作流程如下:



(1) VNC客户端通过浏览器或VNC Viewer连接至VNC Server。



(2) VNC Server传送一对话窗口至客户端,要求输入连接密码,以及存取的VNC Server显示装置。



(3) 在客户端输入联机密码后,VNC Server验证客户端是否具有存取权限。



(4) 若是客户端通过VNC Server的验证,客户端即要求VNC Server显示桌面环境。



(5) VNC Server通过X Protocol 要求X Server将画面显示控制权交由VNC Server负责。



(6) VNC Server将来由 X Server的桌面环境利用VNC通信协议送至客户端,并且允许客户端控制VNC Server的桌面环境及输入装置。



 



我的操作环境是:被控端CentOS 5.2, 主控端Windows XP。



 



默认情况下已经安装了VNC:


[root@localhost /]# rpm -qa|grep vnc 
  
 
  

    vnc-server-4.1.2-9.el5 
   
vnc-4.1.2-9.el5


 



1、在CentOS上启用vncserver



 


[root@localhost ~]#vncserver 
  
 
  

    You will require a password to access your desktops. 
  
 
  

    Password:    (第一次启动时,VNC要求输入远程控制时的密码)。 
  
 
  

    Verify:        (确认密码) 
  
 
  

    Creating default startup script /root/.VNC/xstartup 
  
 
  

    Starting applications specified in /root/.VNC/xstartup 
  
 
  

    Log file is /root/.VNC/Linux:1.log

 



(到此已启动了 VNC Server 。如果你想要更改 VNC Server 的密码,只要执行 vncpasswd 命令即可。)



 



2、  从浏览器远程遥控。




启动 VNC Server 后直接打开浏览器,在地址栏中输入被控端的网址或 IP 地址,并在网址后加上 “ : 5800 +显示编号 ” 的端口号即可操控该计算机。
例如:[url]http://192.168.0.1:5801[/url] ( 如果显示编号为 1 ,一般第一次设置的显示编号都是 1 ,就用 5800 + 1 = 5801 。 )

如果看到窗口,就说明你成功,在密码框输入密码,就能远程控制了。



 



Q. 如何以图形界面登录被控端?



[root@localhost ~]#vi  ~/.vnc/xstartup 
   
 
   

     #!/bin/sh 
   
 
   

     # Uncomment the following two lines for normal desktop: 
   
 
   

     # unset SESSION_MANAGER 
   
 
   

     # exec /etc/X11/xinit/xinitrc 
   
 
   

     [ -x /etc/VNC/xstartup ] && exec /etc/VNC/xstartup 
   
 
   

     [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources 
   
 
   

     xsetroot -solid grey 
   
 
   

     VNCconfig -iconic & 
   
 
   

     #xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & 
   
 
   

     gnome-session & (建议选这个,其他的都给它前面加上#) 
   
 
   

     #startkde & 
   
 
   

     #twm &



gnome-session是启动Gnome图形界面;startkde是启动KDE图形界面;twm是启动文本界面。三者选其一。



 



Q. 如何开机时自动启动VNC服务



打开“系统设置”-->"服务器设置"-->"服务",勾选上VNCserver,“保存”。



 



修改 /etc/sysconfig/vncservers



VNCSERVERS="1:root 2:phred 3:sysadmin" 1代表“桌面1”,root代表用户名;可同时启动多个用户桌面



VNCSERVERARGS[1]="-geometry 800x600 -alwaysshared -depth 24"



-alwaysshared代表允许多用户同时登录 -depth代为色深,参数有8,16,24,32。



 



Q.为什么连接后,不能显示桌面,而只有一个Terminal窗口?



试着修改~/.VNC/xstartup,把最后一行 twm& 改成 gnome-session& or kde&(据说KDE在目前的VNC Viewer上的表现不太稳定)




 


转载于:https://blog.51cto.com/garynic/143097