您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

Linux下Vnc远程桌面Server配置教程

添加时间:2011-3-31  添加: admin 

VNC是Virtual Network Computing(虚拟网络计算机)的缩写。VNC是由AT&T的欧洲研究实验室开发的一款优秀的跨平台远程桌面控制软件,支持Linux,Unix,Windows等操作系统跨平台远程桌面控制。VNC有两部分组成,分别是:服务端(vncserver)和客户端(vncviewer)。下面以Linux(VNC服务端)、Windows(VNC客户端)为平台介绍VNC的安装、配置和使用。

实验环境
VNC服务端:
操作系统:Red Hat Enterprise Linux AS 5
内核版本:2.6.18-8.el5
 CPU构架:i386 SMP
附件软件:Red Hat Enterprise Linux AS 5 DVD安装盘
VNC客户端:
操作系统:Windows Server 2008 Enterprise
 浏览器:Windows Internet Explorer 7

1. 在Linux下安装VNC
将Red Hat Enterprise Linux AS 5 DVD安装盘放入DVD光驱,执行下列命令进行安装:


# mkdir -p /mnt/cdrom  文章来至[爱E族]:http://www.aiezu.com# mount -t auto /dev/cdrom /mnt/cdrom  # cd /mnt/cdrom/Server  # rpm -ivh rpm -ivh vnc-server-4.1.2-9.el5.i386.rpm  # rpm -ivh vnc-4.1.2-9.el5.i386.rpm 文章来至[爱E族]:http://www.aiezu.com
2. 配置Linux下的VNC Server
①. VNC的运行机制介绍:
  在配置VNC前,必须了解VNC的运行机制。Linux下的VNC可以同时启动多个vncserver,各个vncserver之间用显示编号(display number)来区分,每个vncserver服务监听3个端口,它们分别是:
5800+显示编号:  VNC的httpd监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。
5900+显示编号:  VNC服务端与客户端通信的真正端口,必须无条件开放。
6000+显示编号:  X监听端口,可选。
  显示编号、开放的端口分别由/etc/sysconfig/vncservers文件中的VNCSERVERS和VNCSERVERARGS控制。VNCSERVERS的设置方式为“VNCSERVERS="显示编号1:用户名1 …"”,如:VNCSERVERS="1:root 2:aiezu"。VNCSERVERARGS的设置方式为VNCSERVERARGS[显示编号1]="参数一 参数值一 参数二 参数值二  ……",如VNCSERVERARGS[2]="-geometry 800x600 -nohttpd",VNCSERVERARGS的详细参数有:

-geometry 桌面分辨率,默认1024x768;
-nohttpd 不监听HTTP端口(58xx端口);
-nolisten tcp 不监听X端口(60xx端口);
-localhost 只允许从本机访问;
-AlwaysShared 默认只同时允许一个vncviewer连接,此参数允许同时连多个vncviewer;
-SecurityTypes None 登录不需要密码认证VncAuth默认值,要密码认证。

②. 修改/etc/sysconfig/vncserver文件:
  熟悉Linux下VNC的运行机制后,开始正式配置VNC Server。vi /etc/sysconfig/vncserver,添加如下三行:文章来至[爱E族]:http://www.aiezu.com

VNCSERVERS="1:root 3:aiezu" VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp" VNCSERVERARGS[3]="-geometry 1024x768 -nolisten tcp" 本例我们开启两个vncserver,分别是root用户,显示编号为1和用户aiezu,显示编号为3,并且全不开启X监听端口60xx。

③. 设置VNC用户密码:
  接下来设置VNC的密码,此步骤不可跳过,否则VNC Server将无法启动,在Linux Shell下执行下列命令:

# su - aiezu  # vncpasswd  Password:  文章来至[爱E族]:http://www.aiezu.comVerify:  # su - root  # vncpasswd  Password:  Verify: service vncserver start  //启动vncserver运行上面命令后,会在用户根目录($HOME)下的".vnc"文件夹下生成一系列文件。其中passwd为vnc用户密码文件,由vncpasswd生成。其他的都由vnc初次启动时生成,xstartup为VNC客户端连接时启动的脚本。文章来至[爱E族]:http://www.aiezu.com

④. 修改".vnc/xstartup"文件:
  执行到上面步骤后,VNC Server已经能正常运行。但是默认设置下,客户连接时启动的是xterm,我们如果想看到桌面,必须将用户根目录下的".vnc/xstartup"文件中的最后两行注释掉,然后根据你安装的桌面坏境,添加一行"startkde &"或者"gnome-session &"。如下:

#!/bin/sh   # Uncomment the following two lines for normal desktop:  # unset SESSION_MANAGER  # exec /etc/X11/xinit/xinitrc   文章来至[爱E族]:http://www.aiezu.com[ -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 &  文章来至[爱E族]:http://www.aiezu.comstartkde &  # gnome-session &   配置完各个用户根目录下的".vnc/xstartup"后,执行service vncserver restart 重新启动vncserver使配置生效。
⑤. 配置防火墙:
  如果Linux启用了防火墙,必须允许VNC的相关端口(58xx,59xx,60xx)。具体的端口,请参照第2大步骤的①小步骤的VNC运行机制介绍,本例开启5801,5803,5901,5903端口就可以。在Linux命令提示符下输入"system-config-securitylevel-tui"启动防火墙配置工具,点"Customize",在"Other Port"中输入"5801:tcp 5803:tcp 5901:tcp 5903:tcp",然后点"OK"既可。
文章来至[爱E族]:http://www.aiezu.com
3. VNC客户端配置与连接
①. 在windows下使用IE进行远程控制连接:
  使用浏览器连接时,服务端的VNCSERVERARGS设置必须没有"-nohttpd参数",并且防火墙允许VNC的58xx和59xx端口通过。浏览器必须安装了Java支持插件,Java插件下载地址:java.com/zh_CN/download/manual.jsp">http://www.java.com/zh_CN/download/manual.jsp
②. 使用在windows下vncviewer远程控制连接:
  使用vncviewer进行远程控制是最简单方式,服务器只需开启"59xx"端口就可以了。客户端也无需配置,双击vncviewer后,在server文本框中输入vncserver的ip地址和端口即可(本例为:192.168.1.22:5901)。vncviewer绿色版的本地下载地址为:http://www.aiezu.com/soft/vnc-4_1_2-x86_win32_viewer.exe
③. 在Linux下使用vncviewer进行远程控制连接:
  使用vncviewer前必须安装vnc-4.1.2-9.el5.i386.rpm包,vncviewer的用法为:vncviewer host:显示编号。
④. 在windows下使用vncviewer+putty.exe通过ssh安全通道连接:
  打开putty,在左边的"Category"中依次点"Connection"->"SSH"->"Tunnels"。在"Source Port"文本框中输入"5901","Destination"文本框中输入"localhost:5901",点击"Add,添加端口转发。然后在putty左边的"Category"下点"Session",输入服务器的IP地址后,点"Open"按钮,输入密码登陆后,既成功启用了端口转发。接着在本机打开vncviewer输入"127.0.0.1:5901"即可成功连接到远程的5901端口。
⑤. 在Linux下使用vncviewer+ssh安全通道连接:
  与④类似,在linux vnc客户端shell下运行"ssh -L 5901:localhost:5901 vncserverhost"命令,输入用户名密码。即完成通过shh安全通道,将远程的5901端口转发到本机的5901端口。然后在shell下运行"vncviewer 127.0.0.1:1"命令即可以连接到远程的VNC Server。
  上面的五种连接方式中,前面三种方式数据都是未加密的形式在网络中传输的,是极为不安全的方式,建议不要采用。文章来至[爱E族]:http://www.aiezu.com

4. 常见问题
①. 问:为什么成功连接后,没有显示桌面,而只是现实一个Terminal窗口?
①. 答:在未修改用户根目录下的".vnc/xstartup"文件,xstartup的默认设置即是此情况。请按第2大步的第②小步修改xstartup,然后运行"service vncserver restart"重新启动vncserver服务即可。
②. 问:如何查看VNC正在运行的显示编号端口号?
①. 答:在Linux命令提示符下执行"netstat -tlup|grep vnc",即可以查看到端口号,端口号的后两位即显示编号。
③. 问:如何关闭指定的显示编号?文章来至[爱E族]:http://www.aiezu.com
①. 答:vncserver -kill :number 即可以关闭指定的显示编号和对应的端口号。
④. 问:为何我通过浏览器连接VNC 端口时,浏览器显示了一个红叉。
①. 答:那是因为你的浏览器没装Java插件的缘故,下载Java插件安装即可。
⑤. 问:客户端连接时"Connetcion timed out(10060)"是怎么回事?
①. 答:对于客户端连接时出现"Connetcion timed out(10060)"或者"No route to host:connect",请检查防火墙是否开启了58xx,59xx,vncserver是否正常运行,以及/etc/sysconfig/vncserver文件配置是否正确。
⑥. 问:在通过VNC连接的图形界面桌面启动X应用时出现:"Error: Can't open display: :0.0"错误?
①. 答:请使用"echo $DISPLAY"命令查看"DISPLAY"坏境变量是否设置为":显示编号:0",如:":1:0"。如果不是此形式,启动X应用时会出现此错误。此时可以通过"export DISPLAY=:1:0"设置正确的DISPLAY。还有一种可能就是切换了用户启动X应用,当前用户没有权限使用X窗口,这时返回到启用VNC的用户,运行"xhost +"允许其他用户访问此X窗口即可

关健词:Linux,Vnc

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站