`
zengxx1989
  • 浏览: 295299 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

用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 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 & 
gnome-session & 





你可以把像上面这样把"twm &"这一行注释掉,然后在下面加入一行"gnome-session &",或者是"startkde &",分别启动GNOME桌面和KDE桌面。

如果server重启了,那你就需要重新运行一次vncserver命令来启动VNC server,这很麻烦。有没有更好的方法呢?

有!我们可以把VNC server启动成后台服务。执行如下步骤:

首先要允许VNC server在系统启动过程中被启动。这可以通过“系统设置-->服务器设置-->服务”菜单来配置,把vncserver一项选上就可以了。

如果使用命令行的话,以root身份运行以下两条命令:

cd /etc/rc5.d

mv K35vncserver S35vncserver

然后编辑/etc/sysconfig/vncservers,以下是文件内容: # The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the line below to start a VNC server on display :1
# as my 'myusername' (adjust this to your own).  You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see
# <URL:http://www.uk.research.att.com/vnc/sshvnc.html>.
VNCSERVERS="1:user1 2:user2 3:user3"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"
VNCSERVERARGS[3]="-geometry 800x600"

解释一下这个文件:

VNCSERVERS这一行是配置在系统启动时启动几个VNC server,上面的例子里运行了三个VNC server,其中user1在display :1,user2在display :2,user3在display :3。

VNCSERVERARGS这三行,分别为VNC server 1, 2, 3配置启动参数,上面的例子里对user1和user2使用屏幕分辨率1024x768,对user3使用800x600。

其它支持的参数请使用“man vncserver”命令查询。

编辑好这个文件后,保存,然后以root身份运行:

/sbin/service vncserver start

这样user1, user2, user3的vncserver就启动了。

以后每次系统重启时,都会自动启动这三个用户的vncserver。

注意:上面三个用户必须已经使用vncpasswd命令设置过vnc密码,不然他的vncserver启动会失败!




http://sourceforge.net/projects/cord/files/cord/0.5.4/CoRD_0.5.4.zip/download

http://www.zaixiantv.com/
分享到:
评论

相关推荐

    视易网关服务器VNC远程桌面共享搭建.zip

    视易网关服务器VNC远程桌面共享搭建.zip

    VNC局域网远程桌面控制器

    VNC远程桌面,经典的远程桌面控制软件,有4.1.3/4.1.7/4.5.3三个版本可供选择,安装时可以选择安装服务端还是客户端,可以操作客户端、与客户端共享屏幕,速度快不卡顿。

    realVNC windows和linux远程桌面共享工具

    windows和linux之间远程桌面连接工具,方便两个系统之间互相远程桌面连接,因为windows里是RDP协议,端口3389,而linux是VNC协议,端口5900,为了互相可以连接,必须一方妥协使用另一方的协议和端口才可以,因此在...

    C# 版VNC、远程连接

    C#Form版的一个远程屏幕共享/控制的项目,类似于C++的VNC,这是一个完整的项目,需要的话你可以下载。

    vnc一对一服务器远程桌面共享服务器repeater

    This is my Linux port of Ultravnc repeater source code. Compile with command: Make You should now have a repeater file, start it with command ./repeater [inifilepathandname] Various settings can be ...

    VNC本地屏幕共享.rar

    VNC,全称为Virtual Network Computing,它是一个桌面共享系统。它的功能,类似于windows中的远程桌面功能。VNC使用了RFB(Remote FrameBuffer,远程帧缓冲)协议来实现远程控制另外一台计算机。它把键盘、鼠标动作...

    远程桌面系统-tightVNC

    通用的远程桌面共享系统,适用于windows、linux及Mac OS等平台。

    vue项目中引入noVNC远程桌面的方法

    VNCServer 是一个为了满足分布式用户共享服务器资源,而在服务器开启的一项服务,对应的客户端软件有图形化客户端 VNCViewer,而 noVNC 则是 HTML5 VNC 客户端,它采用 HTML 5 WebSocket, Canvas 和 JavaScript 实现...

    网络人远程桌面连接软件

    网络人远程桌面连接软件是远程桌面管理和局域网管理的远程控制软件。它使用世界上速度最快的VNC核心,远程遥控鼠标键盘以及上传下载文件的速度超快,传输文件可达每秒11M 的速率,您可以像操作本机一样操作远程电脑的...

    远程工具 vnc源码备份

    桌面远程, 桌面共享 软件 vnc,源码学习。 。

    UltraVNC 详细使用说明

    适用于企业内部IT运维人员远程控制,及家庭网络使用

    windows下远程linux桌面工具

    1 对于中标 先在 开始-系统-首选项-互联网和网络-远程桌面 开启允许远程(对于其他系统可以可以用命令设置或者开启ssh服务) 2 安装vnc 3 运行vncserver 4 运行vnc viewer 输入linux地址 你就可以看到linux桌面了 ...

    远程桌面共享软件ttvnc

    远程桌面软件,完全免费,只需获取对方预设密码,即可登录对方电脑,能上互联网即可使用

    VNC-Viewer-7.1.0-Windows-64bit软件安装包

    直接下载即可用,具体使用方法可以看我的文章“树莓派B4和stm32串口通信(详细步骤)”。同时在这里简单介绍以下这款软件。 VNC Viewer是一款用于远程访问和控制计算机的软件,版本号为7.1.0,适用于64位的Windows...

    桌面共享.zip

    VNC (Virtual Network Computing)是虚拟网络计算机的...目前,原来的AT&T版本已经不再使用,因为更多有重大改善的分支版本已经出现, 像是RealVNC, VNC tight 和UltraVNC。 Real VNC 是当前最活跃和强大的主流应用。

    RealVnc6.2.rar

    VNC远程控制软件最大的特色莫过于它的平台无关性,你可以用Windows电脑控制Linux系统或苹果的Mac OS,反之亦同。 VNC软件主要由两个部分组成:VNC server及VNC viewer。用户需先将VNC server安装在被控端的计算机上...

    桌面共享开发库

    实现多人屏幕共享,一方共享,其他人同步观看其屏幕。 该开发库,基于开源VNC修改而成。编码速度快,只发送屏幕变化部分,占用CPU低。

    远程桌面管理软件-Remote Desktop Manager v13.0.6.0+注册码

    远程桌面管理系统(Remote Desktop Manager)是一款能否保存编辑删除你的远程桌面连接,带登陆的终端功能。支持连接,双显示器,等等。该软件兼容兼容Microsoft Remote Desktop,终端服务,VNC,LogMeIn,Team Viewer...

Global site tag (gtag.js) - Google Analytics