百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

CentOS下架设VNC服务器

qiyuwang 2024-11-23 21:42 25 浏览 0 评论

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

至于每个参数代表的含义,可以参考有关资料,我这里不再叙述!

声明:本篇文章主要是为了给远程访问多一种方式,当还还有很多种远程连接方式,仅作参考!

相关推荐

基于Docker方式安装与部署Camunda流程引擎

1Camunda简介官网:https://docs.camunda.org/manual/7.19/installation/docker/Camunda是一个轻量级、开源且高度灵活的工作流和决策自...

宝塔Linux面板如何部署Java项目?(宝塔面板 linux)

通过宝塔面板部署Java还是很方便的,至少不需要自己输入tomcat之类的安装命令了。在部署java项目前,我还是先说下目前的系统环境,如果和我的系统环境不一样,导致部署不成功,那你可能需要去找其他资...

浪潮服务器如何用IPMI安装Linux系统

【注意事项】此处以浪潮服务器为例进行演示所需使用的软件:Chrome浏览器个人PC中需要预先安装java,推荐使用jdk-8u181-windows-x64.exe【操作步骤】1、在服务器的BIOS中...

Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)

由于项目需要存储历史业务数据,经过评估数据量会达到100亿以上,在原有mongodb集群和ES集群基础上,需要搭建Hbase集群进行调研,所以首先总结一下Hadoop集群的搭建过程。一、三个节点的集群...

Hadoop高可用集群搭建及API调用(hadoop高可用原理)

NameNodeHA背景在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNo...

使用Wordpress搭建一个属于自己的网站

现在开源的博客很多,但是考虑到wordpress对网站的seo做的很好,插件也多。并且全世界流量排名前1000万的网站有33.4%是用Wordpress搭建的!所以尝试用Wordpress搭建一个网站...

Centos 安装 Jenkins(centos 安装ssh)

1、Java安装查看系统是否已安装Javayumlistinstalled|grepjava...

Java教程:gitlab-使用入门(java中的git)

1导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作...

Dockerfile部署Java项目(docker部署java应用)

1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...

如何在Eclipse中搭建Zabbix源码的调试和开发环境

Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...

Java路径-02-Java环境配置(java环境搭建及配置教程)

1Window环境配置1.1下载...

35.Centos中安装python和web.py框架

文章目录前言1.Centos7python:2.Centos8python:3.进行下载web.py框架然后应用:4.安装好之后进行验证:5.总结:前言...

《我的世界》服务器搭建(我的世界服务器如何搭建)

1.CentOS7环境1.1更改YUM源#下载YUM源文件curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com...

CentOS 7 升级 GCC 版本(centos7.4升级7.5)

1.GCC工具介绍GCC编译器:...

Linux安装Nginx详细教程(linux安装配置nginx)

环境准备1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。命令:yuminstallgcc-c++显示完毕,表示安装完成:2.Nginx的http模块需要...

取消回复欢迎 发表评论: