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部署过程详解的更多相关文章

  1. 【转】postgresql 9.4 在linux环境的安装步骤详解

    本文章来为各位介绍一篇关于postgresql 9.4 在linux环境的安装步骤详解,希望文章能够对各位新手朋友带来帮助的哦. 环境说明系统:centos 6.4 64位软件:postgresql ...

  2. Memcached在Linux环境下的使用详解

    一.引言             写有关NoSQL数据库有关的文章已经有一段时间了,可以高兴的说,Redis暂时就算写完了,从安装到数据类型,在到集群,几乎都写到了.如果以后有了心得,再补充吧.然后就 ...

  3. VS2013安装部署过程详解

    注意:缺少安装部署的小伙伴,看上一篇有详细介绍 程序在“Release”平台下编译运行没有错误 第一步:“新建”------“项目”------“其他项目类型”------“安装部署”------“I ...

  4. Openstack 实现技术分解 (1) 开发环境 — Devstack 部署案例详解

    目录 目录 前言 系统环境 Devstack 下载源码 配置文件 local.conf & localrc 简易的环境脚本 openrc 部署 Devstack 自动化部署流程 部署案例 单节 ...

  5. Memcached在Linux环境下的使用详解http://blog.51cto.com/soysauce93/1737161

    大纲 一.什么是memcached 二.memcached特性 三.memcached存储方式 四.memcached安装与配置 五.memcached结合php 六.Nginx整合memcached ...

  6. linux环境变量 export命令详解

    由host $ export DVSDK="${HOME}/ti-dvsdk_dm368-evm_xx_xx_xx_xx"引发的问题 1.${HOME}:首先, HOME 是个变量 ...

  7. Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)

    启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬 ...

  8. Linux启动过程详解

    Linux启动过程详解 附上两张图,加深记忆 图1: 图2: 第一张图比较简洁明了,下面对第一张图的步骤进行详解: 加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的 ...

  9. fabric网络环境启动过程详解

    这篇文章对fabric的网络环境启动过程进行讲解,也就是我们上节讲到的启动测试fabric网络环境时运行network_setup.sh这个文件的执行流程 fabric网络环境启动过程详解 上一节我们 ...

随机推荐

  1. SpringMVC第一天(其他)

    SpringMVC第一天 框架课程 课程计划 参数绑定 SpringMVC默认支持的类型 简单数据类型 Pojo类型 Pojo包装类型 自定义参数绑定 SpringMVC和Struts2的区别 高级参 ...

  2. 【6】锋利的 jQuery 笔记

    1. 代码技巧 1. 利用 id, class 实现同级隐藏显示 效果如下: 2. 字体放大效果 效果图: 3. tab 切换 效果图: 4. 切换样式 添加 Cookie 效果图: 5. 编写插件 ...

  3. # 关于string

    关于string 头文件 #include <string> using std::string; string定义和初始化 string s1; string s2(s1); strin ...

  4. CreateMutex()参数报错问题

    举例: hMutex = CreateMutex(NULL, FALSE,"screen"); 报错 error C2664:"CreateMutexW": 不 ...

  5. CODE[VS]-判断浮点数是否相等-浮点数处理-天梯青铜

    题目描述 Description 给出两个浮点数,请你判断这两个浮点数是否相等 输入描述 Input Description 输入仅一行,包含两个浮点数 输出描述 Output Description ...

  6. filter怎么在程序里写,不用再web.xml中配置

  7. Redis同步操作失败的原因

    今天弄了下 Redis 的主从同步,设置方法其实很简单的,但崩溃的是遇到个莫名其妙的问题,始终同步不了.. 看了看错误日志: Unable to connect to MASTER: Invalid ...

  8. CodeForces 711B Chris and Magic Square

    简单题. 找一个不存在$0$的行,计算这行的和(记为$sum$),然后就可以知道$0$那个位置应该填的数字(记为$x$). 如果$x<=0$,那么无解,否则再去判断每一行,每一列以及两个斜对角的 ...

  9. Java的URL来下载网页源码

    import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.IOException; impor ...

  10. 一篇顺手的Ubuntu+caffe配置笔记

    主要参考: https://github.com/lbzhang/dl-setup http://ouxinyu.github.io/Blogs/20151108001.html http://www ...