『VNC简介』
网络遥控技术是指由一部计算机(主控端)去控制另一部计算机(被控端),而且当主控端在控制端时,就如同用户亲自坐在被控端前操作一样,可以执行被控端的应用程序,及使用被控端的系统资源。
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时,系统会指定一个新的显示编号,需使用此新的编号,否则就无法连接。
(以上只是本人遇到的一些问题,而且用VNC也不是很多,很不全面,还望多提宝贵意见)
为了使vncserver在每次启动时保持不变的端口号
我在使用vnc 终于在wingdows端连接上redhat 了,可是看到的是xteam
的桌面,而我正在用的是kde 桌面。请教大虾如何解决?
VNCPASSWD 与系统的passwd 生成的密码是同一个吗?还是不同的。
或者说通过vnc访问的远程机器的密码是否要与vnc服务器的root 用户
密码一致。
谢了。
设置vncserver启动变量:
为了使vncserver在每次启动时保持不变的端口号(5901)
在/etc/rc.d/rc.local文件中添加命令:
rm -f /tmp/.X11-unix/X*
rm -f /.vnc/*.pid
rm -f /.vnc/*.log
这样,每次启机,系统会先把上次非正常关机时留下的临时文件删除。
linux版vnc server的改进:
linux上的vnc server内定的桌面管理环境是twm,实在是太简陋了.
修改$HOME/.vnc/xstartup这个文件.
把所有内容的行前加上#,再在接尾部份加上:
startkde &
你当然可用你喜好的桌面代替.我这是用kde来代替twm,速度会慢少少,但用起来方便不少.
注意要重新启动vnc server.
修改/usr/bin/vncserver文件,把其中的相关行该为
$geometry 800X600;
$depth 16;
这样vncserver启动时就是800X600 16t的桌面了。
另外VNCSERVER有自己单独的密码和ROOT的密码是两回事
首先感谢,我现在已经可以连接上redhat 的kde桌面了。
可是我的/usr/bin 下无vncserver 文件。
所以看起来,自比较小,尤其汉字变形。
请教vncserer 文件的功能实什么,如何编写。
互联网正是个好东西,也正因为有了这么多无私的奉献。这里的风景才如此动人
一般我们都是在linux主机上来操作的,如果有一天我在外地或这网络其他电脑上,刚好又要操作到linux主机。有很多方法,下面我介绍一种能用图形和网页形式的控制软件就是vnc 了,vnc有win和linux版本的 有两个程序,一个是server端 另一个是viewer端,被人控制的叫server端 控制者叫viewer端。
安装linux7.2版本时就默认安装好了vnc软件了。我们只要启动它就好了。
在命令提示符输入vncserver提示要输入密码,请输入两次密码 最好要复杂点的,不然密码被破 那就惨拉~!!
好了,vnc就已经开始运行了。
下来到网络其他客户电脑上安装好vnc viewer 端 后运行它:
输入你的 linux主机的ip地址和窗口号 如:
192.168.0.1:1完成后再输入正确的密码就可以进入了。
怎么进入后看到的界面不是我的gonme界面呢? 这个可以解决的。登陆linux主机编辑/$home/.vnc/xstartup把里面所有的行前面都加上#号让他们都失效 自己再加上一行
gnome-session &
保存后在到客户机上登陆一次 就可以看到漂亮 简洁的gnome界面拉!其他操作就和linux主机里一样。
Linux的图形环境为Xwindows
运行的窗口管理器主要有KDE和GNOME
要想远程连接图形环境,通常可使用Xwin进行连接
但是由于Xwin配置复杂,切存在一定安全隐患
建议用VNC进行连接管理
首先安装linux光盘中的vnc软件包,比如as3自带的vnc:
rpm -ivh vnc-server-4.0-0.beta4.1.4.i386.rpm
修改 /root/.vnc/xstartup文件,找到最后一行:
twm &
这表示启动twm窗口管理器
但是实际twm窗口管理器仅仅是个基本的shell工具
建议启动KDE或者GNOME
例如配置为启动GNOME,则注释掉twm一行,如下:
#twm &
gnome-session&
现在就启动vnc后台服务了
/usr/bin/vncserver
第一次运行vncserver,将会要求输入密码,并且输入两次确认
即可看到vnc server启动成功:
New 'test.com:1 (root)' desktop is test.com:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/test.com:1.log
上边信息中的“:1”表示启动的第一个vnc桌面
停止vncserver的方法是:
/usr/bin/vncserver -kill :1
注意“:1”,表示停止第一个vnc桌面
修改vnc密码的方法是执行/usr/bin/vncpasswd,输入两次密码即可。
现在即可用vnc客户端连接服务器了。
连接的时候注意端口不是默认的5900,而是5900+桌面端口号
例如“:1”则是5901,“:2”则是5902
在iptables上要打开响应的端口,否则会无法连接
配置完成后,在winxp上即可用vnc连接过去,然后在gnome里边,还能在用rdesktop连接位于内网(10.2.0.1/8)的内部windows服务器,解决了外网没法调试内网win服务器的问题。