CentOS下架设VNC服务器

CentOS下架设VNC服务器
1.什么是VNC服务器?
百度百科:
VNC (Virtual Network Computer)是虚拟网络计算机的缩写。它 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。
简单的说:
一个小巧的远程控制软件,目的是实现远程操作你的电脑,就像在本地操作是一样的
2.架设VNC服务器
//登陆CentOS服务器,如图1:


//查看CentOS服务器中是否已经安装了VNC服务端程序,如图2:
rpm -qa|grep vnc


由此可见我们Linux服务器中么有安装VNC服务服务端程序。
//安装VNC服务服务端程序,如图3:
yum -y install tigervnc-server*


//再次查看CentOS服务器中是否已经安装了VNC服务端程序,如图4:
rpm -qa|grep vnc

//使用root用户启动VNC服务端程序,如图5:
vncserver

//这里需要注意一下:我们初次使用vnc服务器时,会要求输入连接密码,以后客户端连入的时候要输入这个密码才能连接,这个密码与用户的账号密码是两回事,vnc客户端连入的时候不需要提供用户账号的密码,那么它运行的用户身份是服务端启动vncserver的时候用户的身份,当然这个密码也可以设置为空,但如果设置为空的话所有的客户端都可以直接连入这样当然很不安全,好了,现在我们设置一个密码,我这里为:xushouwei,如图6:


//正常情况下,vnc服务端程序就启动成功了,当我们初次运行时候,还会再当前用户的个人目录下面创建一个名为.vnc的目录,该目里面包含了四个文件,我们来查看一个这四个文件。如图7:
cd .vnc/
ll

//当然我们还可以再次使用vncserver命令启动多个桌面。每一个桌面的编号,默认的时候会依次增大(由图中画红线的地方可以看出),刚才我们我们的那条命令就启动了第二个桌面,第二个桌面的连接密码和第一个桌面相同,不需要再次设置。如图8:
vncserver

//每一个桌面的启动都会在.vnc目录下面增加一个对应的日志文件和进程pid文件,如图9:
ll .vnc/

//当然我们还可以通过制定桌面编号的方式来启动vnc服务程序。启动并查看,如图10:
vncserver :3
ll .vnc/

提醒:
刚才我们是以root身份执行了vnc服务端程序,实际上每一个用户均可以执行vncserver这个命令,创建自己的桌面,提供给vnc客户但连接,但桌面的编号是唯一的,即:所有用户的桌面号是不会重复的,客户端连入时候可以选择不同的桌面号,还有每个用户第一次运行vncserver这个命令的时候,也要设置连接密码,也会在个人目录下创建.vnc的目录,也会出现相应的日志文件,进程文件,passwd文件以及xstartup文件。

//查看vnc服务端进程启动情况。如图11:
ps -ef|grep vnc

以上是我们刚启动的三个vnc进程。我们可以看到我们第一次启动vnc的时候第一个进程默认端口号为5801和5901,其他的依次类推。这里的5801这个端口是用于浏览器当中的javaapplet访问的,5901这个端口是用于vnc客户端连接用的。下面我们查看这些端口是否处于监听状态。如图12:
netstat -anp|grep :580
netstat -anp|grep :590

可以看到5801、5802、5803这些端口分别是由Xvnc进行监听.
tcp 0 0 0.0.0.0:5801 0.0.0.0:* LISTEN 34218/Xvnc
tcp 0 0 0.0.0.0:5802 0.0.0.0:* LISTEN 34648/Xvnc
tcp 0 0 0.0.0.0:5803 0.0.0.0:* LISTEN 35045/Xvnc
还有5901、5902、5903这些端口分别是由Xvnc进行监听.
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 34218/Xvnc
tcp 0 0 0.0.0.0:5902 0.0.0.0:* LISTEN 34648/Xvnc
tcp 0 0 0.0.0.0:5903 0.0.0.0:* LISTEN 35045/Xvnc
//为了确保客户端能够访问vnc服务器,如果防火墙未开放这些端口的我们可以执行以下命令开放相应端口。
iptables --I -p tcp -m multiport --dports 5801:5803,5901:5903 -j ACCEPT
因我这里防火墙已经关闭,不再演示该步骤,请谅解。
//好了,到这里我们vnc服务器端程序安装完成了,我们就可以通过vnc客户端程序进行连接了,再windows平台下,最常用的vnc客户端软件是:realvnc,下载地址:https://www.realvnc.com/。这里你可以登陆官网下载软件,我这里直接百度搜索realvnc并下载,如图13:

//安装过程不再详述,傻瓜式安装,下一步->完成即可。
//在说面双击客户端图标启动运行vnc客户端程序。如图14:

//输入你要连接的vnc服务端IP地址和桌面号。如图15:

//点击Connection按钮后,输入密码。如图16:

//点击OK按钮后就会连接到Centos服务器。如图17:

OK至此,CentOS下架设VNC服务器已经安装完成。但是我这里要说明一下:
有时候我们连接到Linux服务器的时候,可能并不是我们期望看的图像化界面。如图18:

这是什么原因呢?这时因为默认情况下vncserver进程使用的是TWM桌面系统,而RHEL5之后默认安装的是gnome桌面系统,因此看不到图像界面,为了使vncserver使用gnome桌面系统,需要在服务端主机上改变启动脚本的内容。当然就目前的Linux系统来说,我们正常都会默认安装带有桌面的操作系统,以上只是作为一个特例出现。再服务器端进行如下修改:
vi /etc/inittab
centos仍然只有两种启动模式
multi-user.target: analogous to runlevel 3 #命令行模式
graphical.target: analogous to runlevel 5 #图形模式
修改相应文件即可!
终止vnc服务进程:
vncserver -kill :1
//下面我们来看一下vnc服务器的配置
vnc服务器运行时,会读取/etc/vnc目录当中的config文件以及个人目录下面.vnc目录当中config文件中的内容。启动的时候参数都是默认的,我们可以通过vncconfig命令工具改变。
//列出第一个桌面系统参数有哪一些?如图19:
vncconfig -display :1 -list


上面的参数每一个都有特定的值,如果我们改变了这些参数的特定的值的话。那么它的桌面系统的运行状态就会发生改变。例如,我们想到得到某个参数(httpd)的值可以使用如下命令,如图20:
vncconfig -display :1 -get httpd

//如果我们要是想改变httpd这个参数的值的话,可以使用如下命令!
vncconfig -display :1 -set httpd=/xxx

至于每个参数代表的含义,可以参考有关资料,我这里不再叙述!
声明:本篇文章主要是为了给远程访问多一种方式,当还还有很多种远程连接方式,仅作参考!

posted @ 2016-09-09 09:00  徐守威  阅读(1035)  评论(0编辑  收藏  举报