linux环境vnc部署过程详解
vnc服务端机器地址:10.165.38.68
vnc客户端机器地址:本机(windows机器)
vnc客户端包:vnc_82537_82537.rar (百度云盘下载地址:http://pan.baidu.com/s/1pLo6MGN 密码:rhjy)
在linux机器上安装vnc服务端,然后通过本地windows机器的vnc客户端工具去连接到服务端,这样操作linux机器就能以界面化方式操作,连接到远程linux机器后的服务器显示效果如图:

下面就具体步骤详细讲解:
一:确认VNC服务是否有安装
rpm -qa|grep tigervnc

发现显示已经安装过vnc,说明已经安装过vnc服务了
如果显示没有安装,如下图:

这里提供两种安装方式:
- rpm包安装
此法最好用在有系统安装包的基础上,如redhat-Linux.5.5.for.x86-server-5.5 系统.iso包,打开后在Server目录下有两个包

上传vnc-server包就行了,然后运行命令
rpm -ivh vnc-server-4.1.2-14.el5.3.1.i386.rpm
来安装vnc服务,此法可以避免vnc版本与系统不一致的问题,因为是从系统里找的vnc的文件,但是iso文件难以获得,一般找这个
rpm文件都是要通过百度来找,寻找系统版本的vnc的rpm包来安装。否则因为版本不一致会导致后续很多问题。
- yum命令安装(推荐方式)
此法比较简单,直接使用yum命令即可:
yum -y install tigervnc-server
它会自动给你下载依赖包,如果你的yum命令不能使用,建议用如下命令:
echo nameserver 8.8.8.8 >> /etc/resolv.conf
然后在用yum命令即可。
二:启动vnc服务
使用vncserver命令启动VNC服务,命令格式为"vncserver :桌面号",其中"桌面号"用"数字"的方式表示,每个用户连个需要占用1个桌面
启动编号为1的桌面示例如下:
命令为 vncserver :1 (注意vncserver与:之间有空格)

以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的.vnc子目录(/root/.vnc/passwd)中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件(/root/.vnc/xstartup),在每次启动VND服务时,都会读取该文件中的配置信息。另外需注意的是这里设置的密码就是后面我们用vncserver客户端工具连接时要输入的密码。
BTW:/root/.vnc/目录下还有一个“主机名:1.pid”文件,这个文件记录着启动VNC后对应后面操作系统的进程号,用于停止VNC服务时准确定位进程号。
这样vnc服务端就启动成功了,这里是用root用户执行的vncserver :1命令,则启动后用vncserver客户端连接进入到该服务器的用户就是root用户,
如果用root用户安装后,用aiuap用户(其他的用户)启动:则vncserver客户端连接进入到该服务器的用户就是aiuap用户

三:vnc服务使用的端口号与桌面号的关系
VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1” ---- 端口号为5901
桌面号为“2” ---- 端口号为5902
桌面号为“3” ---- 端口号为5903
……
基于Java的VNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下
桌面号为“1” ---- 端口号为5801
桌面号为“2” ---- 端口号为5802
桌面号为“3” ---- 端口号为5803
……
基于上面的介绍,如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下
[root@xxxxx ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
[root@xxxxx ~]# iptables -I INPUT -p tcp --dport 5801 -j ACCEPT
四:配置VNC图形桌面环境为KDE或GNOME桌面环境
如果您是按照我的上面方法进行的配置的,登陆到桌面后效果是非常简单的,只有一个Shell可供使用,这是为什么呢?怎么才能看到可爱并且美丽的KDE或GNOME桌面环境呢?
之所以那么的难看,是因为VNC服务默认使用的是twm图形桌面环境的,可以在VNC的配置文件xstartup中对其进行修改,先看一下这个配置文件:
[root@xxxx-145 ~]# vi /root/.vnc/xstartup
可以看到最后一行为:twm &
将这个xstartup文件的最后一行修改为“startkde &”,再重新启动vncserver服务后就可以登陆到KDE桌面环境
将这个xstartup文件的最后一行修改为“gnome-session &”,再重新启动vncserver服务后就可以登陆到GNOME桌面环境,

如果连接vnc后发现为黑屏,原因是没有安装GNOME Desktop Environment,使用
yum -y groupinstall "GNOME Desktop Environment"
即可安装GNOME Desktop Environment,安装完成后可重启vnc服务即执行vncserver -kill :1,在执行vncserver :1,再次进入发现出现屏幕画面。
如果发现执行该命令报错如下:

可执行如下命令安装:
yum clean all
yum groupinstall "X Window System" "Desktop"
yum -y install gnome*
即可安装GNOME Desktop Environment,安装完成后可重启vnc服务即执行vncserver -kill :1,在执行vncserver :1,再次进入发现出现屏幕画面。
五:配置多个桌面
可以使用如下的方法启动多个桌面的VNC:
vncserver :1
vncserver :2
vncserver :3
但是这种手工启动的方法在服务器重新启动之后将失效,因此,下面介绍如何让系统自动管理多个桌面的VNC,方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1为root用户桌面2为oracle用户为例进行配置如下:
格式为:VNCSERVERS="桌面号:使用的用户名 桌面号:使用的用户名"
执行vi /etc/sysconfig/vncservers命令,添加配置:可根据你自己的用户具体配置,这里我配置了root和aiuap用户
VNCSERVERS="1:root 2:aiuap"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"

六:vnc服务管理
a:修改vnc访问密码
使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,如我用root用户执行了vncpasswd命令,则只会修改root用户的vnc密码,其他用户不受影响:

b:启动vnc服务
基于第五步的基础,已经在配置文件中配置好用户对应的桌面号,执行service vncserver start命令,即可启动所有的用户对应的vnc服务

c:停止vnc服务
同样也是基于第五的基础,执行service vncserver stop命令,即可关闭配置文件中所有用户对应的vnc服务

七:客户端连接安装启动好的vnc服务端
下载文章开头给出的vnc_82537_82537.rar包到自己的本地机器,双击vncviewer.exe启动程序

服务器输入vnc服务端安装所在机器地址,后面的数字序号与vncserver启动时vncserver :1后面跟着的桌面号相同(如果配置了第五步和VNCSERVERS="1:root 2:aiuap"中桌面号相同即可),我这里如果写1则为root用户连接进入10.165.38.68,如果为2则为aiuap用户连接进入10.165.38.68服务器
点击确定后,会让你输入密码,该处的密码与第二步中启动vncserver输入的密码一致即可

点击确定,就能进入文章开头说的那种界面了,可以看到右上角显示进入该服务器的用户名用1进入为root,用2进入为aiuap

到此为止linux下安装vnc服务端以及从客户端连接vnc服务端所有的知识点就讲完了,自我感觉内容很细,这是我平时工作经常会安装这个然后网上也参考了很多人写的,总结出的自己安装试验很多次都很好用的一套。
linux环境vnc部署过程详解的更多相关文章
- 【转】postgresql 9.4 在linux环境的安装步骤详解
本文章来为各位介绍一篇关于postgresql 9.4 在linux环境的安装步骤详解,希望文章能够对各位新手朋友带来帮助的哦. 环境说明系统:centos 6.4 64位软件:postgresql ...
- Memcached在Linux环境下的使用详解
一.引言 写有关NoSQL数据库有关的文章已经有一段时间了,可以高兴的说,Redis暂时就算写完了,从安装到数据类型,在到集群,几乎都写到了.如果以后有了心得,再补充吧.然后就 ...
- VS2013安装部署过程详解
注意:缺少安装部署的小伙伴,看上一篇有详细介绍 程序在“Release”平台下编译运行没有错误 第一步:“新建”------“项目”------“其他项目类型”------“安装部署”------“I ...
- Openstack 实现技术分解 (1) 开发环境 — Devstack 部署案例详解
目录 目录 前言 系统环境 Devstack 下载源码 配置文件 local.conf & localrc 简易的环境脚本 openrc 部署 Devstack 自动化部署流程 部署案例 单节 ...
- Memcached在Linux环境下的使用详解http://blog.51cto.com/soysauce93/1737161
大纲 一.什么是memcached 二.memcached特性 三.memcached存储方式 四.memcached安装与配置 五.memcached结合php 六.Nginx整合memcached ...
- linux环境变量 export命令详解
由host $ export DVSDK="${HOME}/ti-dvsdk_dm368-evm_xx_xx_xx_xx"引发的问题 1.${HOME}:首先, HOME 是个变量 ...
- Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)
启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬 ...
- Linux启动过程详解
Linux启动过程详解 附上两张图,加深记忆 图1: 图2: 第一张图比较简洁明了,下面对第一张图的步骤进行详解: 加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的 ...
- fabric网络环境启动过程详解
这篇文章对fabric的网络环境启动过程进行讲解,也就是我们上节讲到的启动测试fabric网络环境时运行network_setup.sh这个文件的执行流程 fabric网络环境启动过程详解 上一节我们 ...
随机推荐
- Android 动态监听网络 断网重连
需求: 网络连接断开 弹出popupwindow 当前网络连接断开 网络恢复时popupwindow 消失重新请求网络. 需求描述完毕 上一张帅图 思路:广播 发送及时消息 断网flag popup ...
- Mybatis学习笔记(二) 之实现数据库的增删改查
开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包.这些软件工具均可以到各自的官方网站上下载 ...
- 【CSS学习笔记】关于有语义标签
1.哪些是单闭合标签,哪些是双闭合标签? HTML的单闭合标签有: 1.<br /> 2.<hr /> 3.<area /> 4.<base /> 5. ...
- flexbox备忘
伸缩项目的父元素: display:flex || display:inline-flex fiex-direction: row(默认) | row-reverse | column | colum ...
- 使用Asponse.Cell解决Excel科学计数法问题
//fileName --文件路径 public DataSet DataSetGetDataFromExcel(string fileName) { DataSet dataset = new Da ...
- 安卓---app自动更新
主要参考:http://blog.csdn.net/jdsjlzx/article/details/46356013/ 效果如下: 大致思路:[原文] 首先,我们要有一个可以被手机访问的后台. 这里有 ...
- svn恢复到某一版本
转 经常由于坑爹的需求,功能要切回到之前的某一个版本.有两种方法可以实现: 方法1: 用svn merge 1) 先 svn up,保证更新到最新的版本,如20: 2) 然后用 svn log ,查看 ...
- 淘宝npm镜像使用方法
镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在): 通过config命令npm config set registry https://registry. ...
- [SOJ] 畅通工程续
Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多 ...
- 初始化git
git config --global user.name "Firstname Lastname" git config --global user.email "yo ...