VNC Viewer配置
VNC概述
VNC (Virtual Network Computing)是虚拟网络计算机的缩写。VNC 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 或 MAC 中的任何远程控制软件媲美。在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下只需要其中的两个命令:vncserver 和 vncviewer。目前,原来的AT&T版本已经不再使用,因为更多有重大改善的分支版本已经出现, 像是RealVNC, VNC tight 和UltraVNC。 Real VNC 是当前最活跃和强大的主流应用。
RealVNC官方网址 : http://www.realvnc.com/
Tight VNC官方网址: http://www.tightvnc.com/
UltraVNC官方网址 : http://www.uvnc.com/
VNC原理
VNC系统由客户端,服务端和一个协议组成。VNC的服务端目的是分享其所运行机器的屏幕, 服务端被动的允许客户端控制它。 VNC客户端(或Viewer) 观察控制服务端,与服务端交互。 VNC 协议 Protocol (RFB)是一个简单的协议,传送服务端的原始图像到客户端(一个X,Y 位置上的正方形的点阵数据), 客户端传送事件消息到服务端。
服务器发送小方块的帧缓存给客户端,在最简单的情况,VNC协议使用大量的带宽,因此各种各样的方法被发明出来减少通讯的开支,举例来说,有各种各样的编码方法来决定最有效率的方法来传送这些点阵方块)
协议允许客户端和服务端去协议哪种编码会被使用,最简单的编码,被大多数客户端和服务端所支持的是, 从左到右的像素扫描数据的原始编码, 当原始的满屏被发送后,只发送变化的方块区域。这种编码在幁间只有小部分屏幕变化的情况下工作的非常好(像是鼠标键在桌面移动的情况,或在光标处敲击文字),不过如果大量的像素同时变化带宽将会增加的非常高,像是拖动一个窗口或观看全屏录像。
VNC默认使用TCP端口5900至5906,而JAVA的VNC客户端使用5800至5806。一个服务端可以在5500口用“监听模式”连接一个客户端,使用监听模式的一个好处是服务端不需要设置防火墙。
UNIX上的VNC称为xvnc,同时扮演两种角色,对X窗口系统的应用程序来说它是X server,对于VNC客户端来说它是VNC服务器程序。
实验环境
VNC服务端:
操作系统:Red Hat Enterprise Linux Server release 5.7 (Tikanga)
VNC客户端:
操作系统:Windows 7专业版 64位操作系统
VNC安装配置
1、安装VNC包
[root@localhost /]# cd /depot/os/mnt/cdrom/Server
[root@localhost /]# rpm -ivh vnc-server-4.1.2-14.el5_6.6.x86_64.rpm
[root@localhost /]# rpm -ivh vnc-4.1.2-14.el5_6.6.x86_64.rpm
验证vnc-server包是否安装成功:
[root@localhost /]# rpm -qa vnc-server
vnc-server-4.1.2-14.el5_6.6
2、配置vncservers文件
修改/etc/sysconfig/vncservers文件,未经修改的vncservers文件如下所示:
[root@localhost ~]# more /etc/sysconfig/vncservers
# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# 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/archive/vnc/sshvnc.html>.
# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
# Use "-nohttpd" to prevent web-based VNC clients connecting.
# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel. See the "-via" option in the
# `man vncviewer' manual page.
# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
将最后两行配置信息取消注释,添加系统账号
VNCSERVERS="1:root 2:etl"
VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp -nohttpd "
VNCSERVERARGS[2]="-geometry 1024x768 -nolisten tcp -nohttpd "
VNCSERVERS 是用来设定可以使用VNC的服务器账号,可以设定多个,例如上面root、etl,但是中间要用空格隔开。使用VNCVIEWER登录时,192.168.48.128:1表示是以root账号登录,以此类推。
关于参数配置说明:
1:-geometry 表示桌面分辨率,默认为1024x768,所以上面的1024x768也可以不写。
2:-nohttpd 表示不监听HTTP端口(58xx)。
3:-nolisten tcp 表示不监听TCP端口(60xx)
4:-localhost 只运行从本机访问。
5:AlwaysShared 默认只允许一个VNCVIEWER连接,此参数表示同一个显示端口允许多用户同时登录.
6:-depth 表示色深,参数有8,16,24,32.
7: SecurityTypes None 登录不需要密码认证VncAuth默认值,要密码认证。
3、设置VNC用户密码
如果此时不设置VNC用户密码,启动vncserver服务,则会报如下错误:
[root@localhost ~]# service vncserver start
Starting VNC server: 1:root [FAILED]
[root@localhost /]# vncpasswd
Password:
Verify:
[root@localhost /]# su - etl
[etl@localhost ~]$ vncpasswd
Password:
Verify:
[etl@localhost ~]$
4、启动vncserver服务
[root@localhost ~]# service vncserver start
Starting VNC server: 1:root
New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log
2:etl
New 'localhost.localdomain:2 (etl)' desktop is localhost.localdomain:2
Creating default startup script /home/etl/.vnc/xstartup
Starting applications specified in /home/etl/.vnc/xstartup
Log file is /home/etl/.vnc/localhost.localdomain:2.log
[ OK ]
VNC会在用户根目录($HOME)下的".vnc"文件夹下生成一系列文件。其中passwd为vnc用户密码文件,由vncpasswd生成。其他的都由vnc初次启动时生成,xstartup为VNC客户端连接时启动的脚本
5、配置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 &
切换到etl账号,依法炮制
[root@localhost ~]# su - etl
[etl@localhost ~]$ vi /home/etl/.vnc/xstartup
[root@localhost ~]# service vncserver restart
Shutting down VNC server: 1:root 2:etl [ OK ]
Starting VNC server: 1:root
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
2:etl
New 'localhost.localdomain:2 (etl)' desktop is localhost.localdomain:2
Starting applications specified in /home/etl/.vnc/xstartup
Log file is /home/etl/.vnc/localhost.localdomain:2.log
[ OK ]
6、配置防火墙
如果你不配置防火墙,此时用VNC Viewer连接的话,一般会报:"connect:Connection timed out(10060)"错误,如下所示:
一般这种情况要么关闭防火墙,要么需要配置防火墙。
[root@localhost ~]# service iptables stop
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
关闭防火墙后,用VNCView连接服务器没有问题,但是一般不建议关闭防火墙,
[root@localhost ~]# service iptables restart
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
Loading additional iptables modules: ip_conntrack_netbios_ns [ OK ]
[root@localhost ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
[root@localhost ~]# iptables -I INPUT -p tcp --dport 5902 -j ACCEPT
OK,可以通过VNC连接到服务器了
关于VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1” ---- 端口号为5901
桌面号为“2” ---- 端口号为5902
桌面号为“3” ---- 端口号为5903
……
基于Java的VNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下
桌面号为“1” ---- 端口号为5801
桌面号为“2” ---- 端口号为5802
桌面号为“3” ---- 端口号为5803
基于上面的介绍,如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下
开机自启动vncserver服务
# chkconfig vncserver on
[参考资料]:
VNC Viewer配置的更多相关文章
- 树莓派官方推荐的VNC Viewer配置详解Raspberry Pi3 B+
1GB内存,16GB硬盘容量.这是我目前使用的Pi3树莓派. SVN Viewer远程连接,台式机192.168.1.102连接局域网192.168.1.110上的树莓派.使用的软件是: https: ...
- 树莓派VNC Viewer 远程桌面配置教程
作为一个刚入门的小白,你还在为如何配置树莓派的远程桌面控制苦恼? 是否希望能够每次在树莓派上无须接上显示器.键盘.鼠标以及走到放置你的树莓派的地方就可以运行指令! 在这篇树莓派文章中,你将学到如何在树 ...
- linux配置vnc server,并用vnc viewer连接server
做过Linux运维的朋友都知道,我们一般很少直接与服务器接触.都是通过终端来连接处理一些事物. 本人常用的终端有图形界面的是vnc viewer还有命令行界面xshell,当然各有千秋,喜欢使用哪个都 ...
- linux下VNC的配置及使用
我们知道在windows里面有远程桌面(著名的有pcanywhere,网络人等)对吧,在linux下我们同样有这个东西,其中最流行的一种就是VNC,其实VNC是一种协议,它的全称是virtual ne ...
- Window VNC远程控制LINUX:VNC详细配置介绍
Window VNC远程控制LINUX:VNC详细配置介绍 //---------------------------------------vnc linux下的详细配置 1.VNC的启动/停止/重 ...
- windows xp通过VNC viewer远程连接RHEL5桌面
环境: [root@localhost ~]# cat /etc/issue Red Hat Enterprise Linux Server release 5.2 (Tikanga) Kernel ...
- windows下使用vnc viewer远程连接Linux桌面(转)
在windows下使用vnc viewer远程连接Linux桌面,主要配置步骤: Linux: 1.rpm -qa vnc //查看是否安装vnc服务,如果没有安装,可以使用yum,或者rpm进行安装 ...
- VNC安装配置
1,安装VNC yum install tigervnc-server -y2,设定密码: vncpasswd root 3,配置服务文件,下面是配置了6个窗口. cp /lib/systemd/sy ...
- VNC Viewer
首先需要明确,什么事VNC , Virtual Network Computing ,VNC允许Linux系统可以类似实现像Windows中的远程桌面访问那样访问Linux桌面. 首先试试服务器装了V ...
随机推荐
- vue进阶:基于vue-cli创建项目(搭建手脚架)
vue-cli安装.创建项目 基于vue-cli创建的项目进行开发 使用vue-cli图形化界面搭建项目 插件与工具 一.vue-cli简介.安装.创建项目 Vue-cli是基于Vue.js进行快速开 ...
- openlayers加载天地图过程中遇到跨域问题
// 采用openlayers加载天地图 var layer = new ol.layer.Tile({ source: new ol.source.XYZ({ // crossOrigin: 'An ...
- Python字符串、组合数据类型练习
一.Python字符串练习 1.http://news.gzcc.cn/html/2017/xiaoyuanxinwen_1027/8443.html 取得校园新闻的编号. (这个方法就很多了,一般方 ...
- Spring讲解-----------表达式语言
转自:https://blog.csdn.net/u011225629/article/details/47143083 5.1 概述5.1.1 概述 Spring表达式语言全称为“S ...
- webpack初体验_集成插件_集成loader
webpack初体验 如果没装 webpack 就先装一下,命令行输入npm i webpack -g 新建一个项目 创建一个空的项目 定义一个名称 创建一个Module 选择静态 web 输入名称 ...
- 工作总结 select sum(A+B) from table select (A+B) from table
select IsTop,ActivityGlXs from ActivityGlInfo 其他类似 可以在 原理 先字段值 相加 根据值 再聚合运算 其他聚合函数类似 总结: 表字段是 可以相加,相 ...
- java_day06_java高级特性
Advance Java Programming 第六章: java语言高级特性(part1) 1.static修饰符 1)static变量 在类中,使用static修饰的成员变量,就是静态变量,反之 ...
- 微软宣布加入机密计算联盟,与谷歌和BAT 等巨头联手保护数据安全
联盟创始成员还包括阿里巴巴.Arm.百度.谷歌.IBM.英特尔.红帽.瑞士电信和腾讯等科技公司,它提供了一个让行业聚集起来的机会,以促进使用机密计算来更好地保护数据. 建立机密计算联盟的需求源于这样一 ...
- win10双系统安装 linux(manjaro)记录
.clearFloat::after { content: ""; height: 0; display: block; clear: both; visibility: hidd ...
- CPU排行
早期的时候,在某个网站上面收录下来的关于CPU排行的信息,发出来让更多的人看到,希望能够帮助到一些人!