VNC就是Virtual network computing的缩写,他支持linux、unix、windows等多种平台,可以跨平台使用,也支持带Java的浏览器进行远程控制。
vnc client通过架构在tcp/ip上的vnc协议与vnc server沟通,通过认证后,把X server的桌面环境、输入设备、和X资源交给vncserver掌控,vnc
server将桌面环境通过vnc协议送给vnc client端,让vnc client来操纵vnc server桌面环境和输入设备。
vnc分客户端和服务端,下面主要以安装服务端为说明。(其安装方法也适合其他linux产品使用)
1、下载
vnc有免费版本和收费版本,我们使用免费的版本就足够了。
官方网站是:http://www.realvnc.com
目前最新的是4.0产品,以linux和win为例,需要下载:
vnc-4_1_1-x86_linux.tar.gz和vnc-4_1_1-x86_win32.zip(在192.168.228.153/share/Tools/vnc目录有)
为了方便说明,定下如下的机器和IP:
客户端:192.168.228.100
服务端:192.168.228.153
2、安装Linux版的vnc
先把vnc-4_1_1-x86_linux.tar.gz放到需要远程控制的机器192.168.228.153上,然后:
tar xzvf vnc-4_1_1-x86_linux.tar.gz -C /opt
cd /opt/vnc-4_1_1-x86_linux/
./vncinstall /usr/local/vnc
会显示:
[root@printserver vnc-3.3.7-x86_linux]# ./vncinstall /usr/local/bin
Can not install manual pages to /usr/local/man/man1
Copying Xvnc to /usr/local/bin
Copying vncviewer to /usr/local/bin
Copying vncpasswd to /usr/local/bin
Copying vncconnect to /usr/local/bin
Copying vncserver to /usr/local/bin
安装成功后,进行配置,运行:
#vncpasswd
输入两次远程控制的密码。(补充说明:3.3版的vnc,不会自动的建立/root/.vnc/passwd文件,需要先手工建立,再运行vncpasswd)
设置密码后,运行:
#vncserver
会显示:
[root@South vnc-4_1_1-x86_linux]# vncserver
New linux.com:1 (root) desktop is South.redflag-linux.com:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/South.redflag-linux.com:1.log
说明,已经正确运行了。
此时,在Linux客户端命令行输入:
vncviewer 192.168.228.153:1
输入正确的vnc密码后,就可以进入默认的twm界面。
3、安装Windows版的vnc
Windows版的vnc就是标准的应用程序,通过“下一步”的方式安装完毕后,可以在桌面找到启动的vncviewer程序,双击打开,输入远程机器的IP,如:
192.168.228.153:1
再输入正确的vnc密码,即可。
4、特殊说明
1)vnc默认启动的是twm界面,然而一般我们使用的应该是kde界面,可以通过修改/root/.vnc/xstartup这个文件,在原来的行前面都加上#,注释掉;
然后再最后添加:
startkde &
保存后,重启vncserver。
2)vncserver没有提供关闭的方式,一般是通过ps找到对应的pid,然后kill掉。
需要说明的是,如果远程通过vncviewer登陆linux界面后,退出的时候不要使用正常的“注销”;一旦这样,会导致下次登陆不能进入linux桌面;
所以,在退出的时候,直接关闭窗口就可以了。
3)vnc可以同时启动多个窗口提供给远程访问,一般来说,是这样区分的:从0开始,但如果远程机器已经打开了xwindows,则会从1开始。
从客户端登陆,使用:
vncviewer ip:num
例如:
vncviewer 192.168.228.153:1
(vncviewer使用16位颜色,如果本机不能查看,需要先解决本机的问题)
4)vnc可以通过支持java的浏览器进行远程控制,例如:
http://192.168.228.153:5801/
访问的端口是这样定义的:
端口号=num+5800
5、VNC是跨平台的,上面主要以windows做客户端,linux做服务端;
同样的道理,反过来的控制也是可以进行的,这里就不做说明了,但他是linux远程访问windows的其中一种比较方便的方法。