用vnc实现windows远程连接linux桌面

时间:2021-07-20 07:06:37

网络遥控技术是指由一部计算机(主控端)去控制另一部计算机(被控端),而且当主控端在控制端时,就如同用户亲自坐在被控端前操作一样,可以执行被控端的应用程序,及使用被控端的系统资源。 
VNC(Virtual Network Computing)是一套由AT&T实验室所开发的可操控远程的计算机的软件,其采用了GPL授权条款,任何人都可免费取得该软件。VNC软件主要由两个部分组成:VNC server及VNC viewer。用户需先将VNC server安装在被控端的计算机上后,才能在主控端执行VNC viewer控制被控端。 
(在windows中也由一套著名的网络遥控软件――Symantec公司推出的pcAnywhere。 
VNC server与VNC viewer支持多种操作系统,如Unix系列(Unix,Linux,Solaris等),windows及MacOS,因此可将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的桌面环境及输入装置。

『VNC的安装与使用』 
本人的操作环境:被控端 Redhat8.0,主控端Windows XP。 
1. 载VNC Server与VNC viewer. 
VNC Server下载地址:http://www.linuxeden.com/download/softdetail.php?softid=744 
VNC viewer下载地址:http://download.pchome.net/php/dl.php?sid=2603 
2.安装。 
rpm –Uvh vnc-3.3.6-2.i386.rpm (如果是源代码请看包里的说明) 
安装winvnc.exe 
3.在Linux上启动VNC Server 
执行vncserver命令: 
[root@linux root]# vncserver 
You will require a password to access your desktops. 
Password: ----为了不想任何人都可以任意遥控此计算机。因此当第 
Verify: ---1次启动VNC server时,会要求设置网络遥控的密码。 
New ‘X’ desktop is linux:1 ----一定要记住这一行稍后会用到。 
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命令即可。)
4.在Microsoft Windows上运行VNC Viewer 
直接运行“vncviewer.exe”,系统会出现”Connection details”对话框。 
在“Connection details”对话框中的“VNC server”文本框中输入VNC Server的IP地址(或主机名及显示装置编号,(请看3。在Linux上启动VNC server的这一行,New ‘X’ desktop is linux:1 得到此信息),例如:192.168.0.1:1(冒号后面的1是执行VNC Server生成的显示装置编号),单击“OK”按钮后,VNC Server即会开始检查所输入的信息,若是信息错误,系统会出现“Failed to connect to server”的错误信息:若是信息正确,则会接着出现“VNC Authentication”对话框。 
若是在“VNC Authentication”对话框中输入的密码正确,就可以成功地打开Linux的桌面窗口。 
5. 从浏览器远程遥控。 
启动VNC Server 后直接打开浏览器,在地址栏中输入被控端的网址或IP地址,并在网址后加上“:5800+显示编号”的端口号即可操控该计算机。 
例如:http://192.168.01.:5801 (如果显示编号为1,一般第一次设置的显示编号都是1,就用5800+1=5801。)

6.FAQ 
A.为什么连接后,不能显示桌面,而只有一个Terminal窗口? 
试着修改/root/.vnc/xstartup,把最后一行 twm& 改成 gnome-session& or kde&(据说KDE在目前的VNC Viewer上的表现不太稳定)

B. 为什么重新启动VNC Server后,连接不上了? 
因为重新启动VNC Server时,系统会指定一个新的显示编号,需使用此新的编号,否则就无法连接。


2.以 redhat linux 8.0 下面的安装和使用为例

 Linux 下面利用 vnc 来图形界面的控制也是非常简单的。VNC 是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务器端的应用程序(vncserver)。

 一、安装 vnc 的 rpm 包

  1 安装 linux

  1.1 图形界面下的安装要是在 KDE 或者 GNOME 下,直接点击 rpm 包,系统会自动开始安装。中间还会提示你设 置密码,端口等。

  1.2 命令行下的安装。

  下面还是说说命令行下的安装,其实也是非常简单的,一个命令就可以了。

  cd /mnt/f/vnc/

  rpm -ivh vnc-3.3.6-2.i386.rpm

  2 设置 vnc server 的访问密码

  vncpasswd

  3 启动 vnc server

  vncserver

  4 linux 上的 vnc server 内定的管理环境是 twm,不好看,也不方便。

  我们来把它改成 KDE。修改 $HOME/.vnc/xstartup这个文件。把 starttwm 改成 startkde 修改后要重新启动 vnc server。

  二、远程连接

  现在你可以在各种平台下控制 linux 了。服务器端 (vncserver)还内建了 Java Web 接口,这样用户通过服务器端对其他计算机的操作就能通过浏览器(必须支持 Java applet)显示出来了,这样的操作过程和显示方式非常直观方便。

VNC(Virtual Network Computing)虚拟网络计算工具,本质上来说是一个远程显示系统,管理员通过它不仅仅可以在运行程序的本地机上察看桌面环境,而且可以从Internet上的任何地方察看远程机器的运行情况,而且它具有跨平台的特性。

Linux 要使用远程桌面需要安装VNC,好在Red Hat Enterprise Linux AS 4.0 已经自带了VNC,默认也已经安装了,只要配置一下就可以了。但是Windows客户端还是要安装的。

VNCServer 配置:
1. 启动 VNC Server:
     打开终端执行:vncserver
2. 默认情况下VNC Viewer只能看到 VNC Server的命令行。
    要VNC Viewer上可以看到Linux桌面需要做如下设置:
    在VNC Viewer所在的机器上,取消/root/.vnc/xstartup文件中下面两行的注释即可:
    unset SESSION_MANAGER
    exec /etc/X11/xinit/xinitrc
3. Linux启动后自动运行VNCServer
     1) 在 系统设置>服务器设置>服务 中把 vncserver 打勾。
     2) 打开配置文件/etc/sysconfig/vncservers,去掉下面这行的注释,
         VNCSERVERS="1:root"
         VNCSERVERARGS[1]="-geometry 800x600"
        1表示VNC以桌面1运行,这样可以启动root的桌面。
4. VNC端口
     如果需要从外网控制内网的某台Linux,则需要打开防火墙相应的端口,并在路由器上进行端口映射。
     VNC给浏览器的端口是5800+N,给vncviewer的端口是5900+N,N是设置的display号

Windows 客户端 VNC Viewer 的配置:
1. 从 http://www.realvnc.com/download.html 下载 VNC Free Edition for Windows Version 4.1.2
2. 打开 VNCViewer :
    填入VNCServer 的IP:编号(1或2或...)
3. VNCViewer 切换全屏模式:F8

VNC启动模式
 vncserver -geometry 800*600
vncserver -depth 16

 

 

 

网络遥控技术是指由一部计算机(主控端)去控制另一部计算机(被控端),而且当主控端在控制端时,就如同用户亲自坐在被控端前操作一样,可以执行被控端的应用程序,及使用被控端的系统资源。

   VNC(Virtual Network Computing)是一套由AT&T实验室所开发的可操控远程的计算机的软件,其采用了GPL授权条款,任何人都可免费取得该软件。VNC软件 主要由两个部分组成:VNC server及VNC viewer。用户需先将VNC server安装在被控端的计算机上后,才能在主控端执行VNC viewer控制被控端。

   VNC server与VNC viewer支持多种操作系统,如Unix系列(Unix,Linux,Solaris等),windows及MacOS,因此可将VNC server 及VNC viewer分别安装在不同的操作系统中进行控制。如果目前操作的主控端计算机没有安装VNC viewer,也可以通过一般的网页浏览器来控制被控端。

vnc的主要工作原理是在服务器端运行 vncserver服务,然后在客户端就可以远程连接服务器端桌面了。

本文介绍如何从windows连接linux远程桌面

安装和配置
首先要在linux下安装nvcserver,我的linux是fc6,安装vnc-4.1.2-9.fc6.i386.rpm,安装包在附件里。

用vnc实现windows远程连接linux桌面 /upimg/soft/vnc-4.1.2-9.fc6.i386.rar
在http://rpm.pbone.net/这个网站也可以搜索到相应的rpm包。
安装rpm包
root@.vnc# rpm -ivh vnc-4.1.2-9.fc6.i386.rpm
然后进入~/.vnc
root@.vnc# cd ~/.vnc
编辑文件 xstartup
屏蔽掉最后一行
#twm &
加上如下语句
gnome-session &
保存退出

【注】上面这一步是为了能够在windows上显示linxu的桌面,否则只看到一个终端窗口。

接下来设置登陆用户,如果安装成功,在/etc/sysconfig/目录下有vncservers文件。
打开vncservers文件,在最后加上
VNCSERVERS="1:root"

好了,再设置vnc远程登录密码
root@.vnc# vncpasswd

设置完密码,然后运行vncserver
root@.vnc# vncserver

New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log

ok,这台linux的ip是10.0.0.107,服务会启动从5801开始递增的端口

找一台同一局域网的window机器,然后打开ie浏览器,在地址栏输入
http://10.0.0.107:5801
如果连接成功,输入密码后就可以远程控制linux桌面了。

用浏览器登录的画质不太好,可以用windows下vncview工具直接连接。
下载一个vnc-4.0-x86_win32.zip,附件里也有。

用vnc实现windows远程连接linux桌面 /upimg/soft/vnc-4.0-x86_win32.zip
安装后,点击菜单里的
VNC Viewer 4 -> vncviewer.exe,输入ip,如:

 

用vnc实现windows远程连接linux桌面

按ok进入下一步,输入密码便可成功控制linux桌面。犹如打开linux系统一样。

用vnc实现windows远程连接linux桌面

让我们一起学习,共同进步。