用VNC实现远程桌面共享的方法

;VNC,全称为Virtual Network Computing,它是一个桌面共享系统 。它的功能,类似于windows中的远程桌面功能 。VNC使用了RFB(Remote FrameBuffer,远程帧缓冲)协议来实现远程控制另外一台计算机 。它把键盘、鼠标动作发送到远程计算机,并把远程计算机的屏幕发回到本地 。VNC技术与平台无关,VNC Viewer可以和VNC Server在不同的操作系统上 。VNC几乎支持所有的操作系统,也支持Java,甚至可以通过支持Java的浏览器来访问VNC Server 。多个VNC客户端可以同时连接到一个VNC Server上 。
VNC最初由AT&T开发的,它的源代码是开源的 。
在CentOs 4.3上配置VNC服务很简单(这里假定你的计算机上已经安装了VNC软件)
首先需要配置VNC密码,密码在使用客户端连接服务器时使用 。
注意:VNC密码保存在用户的主目录中,每个用户都可以设置自己的密码 。因此,请使用你的用户名(尽量不要使用root)运行下列命令:
vncpasswd
然后输入密码 。
接下来就可以启动VNC server了 。在启动VNC server时,需要为你的server指定一个display参数 。你可以把display理解为一个桌面,每个用户都可以有自己的桌面 。VNC客户端在连接时,可以指定连接到哪个桌面上 。在系统中,display号不能重复,也就是说,如果有用户已经建立了名为“:1”的display,另外一个用户就不能再使用“:1”了,他可以使用“:2” 。
启动VNC server的命令是:
vncserver <display>
例如,
vncserver :1
最后,需要配置一下防火墙,允许VNC客户端连接VNC server 。VNC server监听的端口从5900开始,display :1的监听5901,display :2监听5902,以此类推 。CentOs的防火墙缺省是不允许连接这些端口的,所以需要使用下面的步骤打开防火墙(需要root权限):
vi /etc/sysconfig/iptables
找到下面的语句:
-A RH-Firewall-1-INPUT -j REJECT ――reject-with icmp-host-prohibited
在此行之前,加上下面的内容:
-A RH-Firewall-1-INPUT -m state ――state NEW -m tcp -p tcp ――dport 5900:5903 -j ACCEPT
这句话的含义是,允许其它机器访问本机的5900到5903端口,这样,display:1, display:2, display:3的用户就可以连接到本机 。
然后使用root身份重新启动防火墙:
/sbin/service iptables restart
【用VNC实现远程桌面共享的方法】好了,现在就可以运行客户端软件,连接到VNC server上了 。
VNC客户端软件很多,在linux下有vncviewer,KDE还提供了一个krdc(它的菜单项就是“Remote Desktop Connection",远程桌面连接) 。
在window也有不少vnc客户端,你可以到http://www.realvnc.com/去下载一个,安装就可以用了 。
假设VNC server的IP地址是192.168.1.1,display是:1 。在VNC viewer的server栏中输入:“192.168.1.1:1”,然后连接 。OK,你可以看到自己的桌面了 。以后不管你什么时候关闭自己的本地PC机都不怕了,只要server不关机,你只要连接到VNC server,你就可以看到你前一天关闭本地PC机时的桌面还保持着原样 。
不过……这个桌面怎么这么丑?!
原来vncserver默认使用的窗口管理器是twm,这是一个很简陋的窗口管理器,你可以把你的桌面改成GNOME或KDE 。
方法是,进入你自己的home目录,然后编辑这个文件:.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" &
#twm &

推荐阅读