1. 介绍

本文主要介绍了VNC Server的配置和使用

2. 安装

CentOS中默认就有安装VNC,可以通过命令rpm查看

[Jerry@localhost ~]$ rpm -qa | grep vnc
vnc-4.1.-.el5_6.
vnc-server-4.1.-.el5_6.

或者通过yum命令查看

[Jerry@localhost ~]$ yum list | grep vnc
vnc.i386 4.1.-.el5_6. installed
vnc-server.i386 4.1.-.el5_6. installed

如果系统中没有安装VNC,可以通过下面的命令来安装

[root@localhost Jerry]# yum install vnc vnc-server

至于VNC的源码安装方法,这里就不介绍了,因为它的源码好像还不是那么好找

2. 配置

首先我们来了解一下VNC Server的运作过程

一般在装有VNC Server的系统中就有如下文件

/etc/sysconfig/vncservers : VNC Server总配置文件
/etc/init.d/vncserver : VNC Server启动脚本
/usr/bin/Xvnc : VNC Server主程序文件
/usr/bin/vncviewer : VNC View主程序文件
/usr/bin/vncserver : VNC Server运行perl脚本, 实际调用Xvnc

其中init.d目录下的文件不用说,可以进行如下操作

service vncserver start|stop|restart|condrestart|status

2.1 配置文件

首先我们修改配置/etc/sysconfig/vncservers

[Jerry@localhost ~]$ cat /etc/sysconfig/vncservers
# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :
# 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="1:Jerry"
VNCSERVERARGS[]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
[Jerry@localhost ~]$

在这里的意思是对用户Jerry开启了VNC Server功能,并绑定至1号窗口,而VNCSERVERARGS则是启动参数。

2.2 相关设置

使用Jerry用户登录系统,设置密码(此步可跳过)并运行vncserver

[Jerry@localhost ~]$ vncpasswd
Password:
Verify:
[Jerry@localhost ~]$
[Jerry@localhost ~]$ vncserver New 'localhost:1 (Jerry)' desktop is localhost: Creating default startup script /home/Jerry/.vnc/xstartup
Starting applications specified in /home/Jerry/.vnc/xstartup
Log file is /home/Jerry/.vnc/localhost:.log [Jerry@localhost ~]$

这时在Jerry用户主目录下就生成了.vnc目录,在.vnc目录下同时生成了passwd  xstartup文件
其中xstartup文件默认如下

[Jerry@localhost ~]$ cat .vnc/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++ -ls -title "$VNCDESKTOP Desktop" &
twm &
[Jerry@localhost ~]$

我们将其修改为

[Jerry@localhost ~]$ cat .vnc/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++ -ls -title "$VNCDESKTOP Desktop" &
gnome

-session &

#twm 

&

# if Desktop is KDE ,uncomment below line, comment line "gnome-session $"
#startkde &
[Jerry@localhost ~]$

然后我们再把vncserver关闭,其中1表示1号窗口

[Jerry@localhost ~]$ vncserver -kill :
Killing Xvnc process ID
[Jerry@localhost ~]$

2.3 防火墙配置

我们可以选择关闭防火墙或让VNC Server端口开启

首先关闭防火墙

[root@localhost Jerry]# service iptables stop

随后修改iptables配置,即文件/etc/sysconfig/iptables,打开该文件并找到如下地方

-A RH-Firewall--INPUT -j REJECT --reject-with icmp-host-prohibited

然后在这一行上面加入下面一行

-A RH-Firewall--INPUT -m state --state NEW -m 

tcp

 -p 

tcp

 --dport 

:

 -j ACCEPT

然后重新启动防火墙

[root@localhost Jerry]# service iptables restart

TIPS:
关于VNC端口
VNC给浏览器的端口是5800+N,给vncviewer的端口是5900+N,N是绑定的窗口好
如果想修改默认端口号,可修改脚本/usr/bin/vncserver

[root@localhost Jerry]# netstat -tulp | grep vnc
tcp        0      0 *:5801        *:*         LISTEN      28285/Xvnc         
tcp        0      0 *:5901        *:*         LISTEN      28285/Xvnc         
tcp        0      0 *:6001        *:*         LISTEN      28285/Xvnc         
tcp        0      0 *:6001        *:*         LISTEN      28285/Xvnc

2.4 开机自启

然后我们可以在启动的时候就让其运行

[root@localhost bin]# chkconfig --level  vncserver on
[root@localhost bin]# chkconfig --level vncserver on

4. 使用

我们就可以在Windows上使用VNC-Viewer来进行远程连接

其中VCN Server处也可以为192.168.56.101:5901
其中192.168.56.101为VNC Server服务器地址,1为绑定的窗口号

5. 遗留

笔者在实际使用的过程中发现,若是通过开机启动就让VNC Server运行,Viewer根本无法连接
然而,若是用户Jerry直接在命令行下执行vncserver,Viewer倒是可以正常连接

参考:
<RedHat下详细配置VNC><CentOS 7启动VNC Server失败解决办法>
<怎样在 CentOS 7.0 上安装和配置 VNC 服务器>

CentOS下VNC使用的更多相关文章

  1. centos下安装xfce+vnc

    首先安装桌面环境,我选择的是xfce,轻量级桌面,小巧实用不占太多内存,(占用内存方面,xfce少于kde,kde少于gnome). 安装xfce桌面一开始我以为第三方的软件源如rpmforge等应该 ...

  2. CentOS下架设VNC服务器

    CentOS下架设VNC服务器1.什么是VNC服务器?百度百科:VNC (Virtual Network Computer)是虚拟网络计算机的缩写.它 是一款优秀的远程控制工具软件,由著名的 AT&a ...

  3. CentOS Linux下VNC Server远程桌面配置详解

    http://www.ha97.com/4634.html PS:偶以前基本不用Linux的远程图形桌面,前几天有开发的同事配置CentOS的vnc有问题,找我解决,就顺便记录总结一下,这个总结是比较 ...

  4. centos 6 和centos 7 系统下vnc配置

    一. VNC 服务的大概介绍: VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的. ...

  5. CentOS下一键安装Openstack

    CentOS下一键安装Openstack 系统环境:Oracle VirtualBox 4.38CentOS-6.5-x86_64-bin-DVD1.iso 安装前需要修改 /etc/hosts文件, ...

  6. CENTOS安装vnc

    先直接进入命令模式,如果是服务器则可以使用putty连接进入命令行模式. 现在知道的centos下的vnc是:tigervnc,由于是服务端所以我们只安装tigervnc-server即可: yum ...

  7. CentOS6.5下VNC Server远程桌面配置详解

    参考文献: (总结)CentOS Linux下VNC Server远程桌面配置详解 远程桌面连接工具VNC——license Key 我的下载地址为 太平洋下载 VNC连接黑屏的问题 centos 6 ...

  8. Centos6.5下VNC Server配置

    整个流程如下~ 1.首先,检查下本机是否安装了vnc: 提示没有安装,那么开始装吧: 2.先关闭防火墙 查看防火墙状态: 关闭防火墙: 注:要切到root下 [carsonzhu@localhost ...

  9. Linux下VNC配置使用总结:开启+桌面配置+安全访问

    操作环境:CentOS 5.3 + Windows XP SP3 32bit + RealVNC 4.1.2 i386 + TigerVNC. 参考:潇湘隐者-Linux系统VNC配置实践总结,萨米的 ...

随机推荐

  1. MySQL 如何生成日期表

    MySQL 如何生成日期表 在开发过程中,经常会遇到统计问题,通常交易信息都不是连续的,此时,统计出来的数据都是不连续的,所以提前生成一个时期表,当没有交易数据的时候填充0,就可以了,下面是生成日期表 ...

  2. 动态规划、记忆化搜索:HDU1978-How many ways

    Problem Description 这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n,m).游戏的规则描述如下: 1.机器人一开始在棋盘的起始点并有起始点所标 ...

  3. P1880 [NOI1995]石子合并【区间DP】

    题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...

  4. 《鸟哥的Linux私房菜》学习笔记(0)——磁盘与文件系统管理

    一.Linux的登陆流程 login: 用户名:每个用户名都有一个用户ID(用户标识符),计算机处理的就是用户ID(数字)而不是用户名(字符),. 认证机制:Authentication,比如密码或者 ...

  5. “帮你”app-NABCD

    1.你的创意解决了用户的什么需求?(N) 本学校已存在的失物招领.表白墙.二手市场等QQ群普遍存在信息冗杂,时效性差等缺点.不能充分发挥信息有效性的,我们的“帮你”APP能够充分发挥信息的有效性,让失 ...

  6. day10 消息队列,多进程和多线程以及协程,异步IO,事件驱动等

    回顾一下线程和进程 线程与进程的区别 守护线程: 队列: 两种方式: 先进先出  # 后入先出   #卖水果,后来的来的是新的 生产者消费者模型: 生产包子, 吃包子 事件 event: 红绿灯模型 ...

  7. 可实现一键分享到多个平台(微信,微博,qq空间,人人等)

    友推是一款是面向移动应用的SDK分享组件,提供给开发者集成使用.通过友推,开发者可以轻松集成社会化分享功能,同时创建及管理推荐好友使用您应用的推荐奖励活动,用户推荐好友安装使用您的应用即可获得推荐奖励 ...

  8. STL学习笔记4--set and multiset

    集合(Set)是一种包含已排序对象的关联容器.多元集合(MultiSets)和集合(Sets)相像,只不过支持重复对象,其用法与set基本相同. 用法介绍 1.insert()函数 首先把头文件set ...

  9. load_file()与into outfile函数详解

    load_file()函数的使用: 1.使用条件 ①有读取文件的权限 r and (select count(*) from mysql.user)>0 如果返回正常则说明有权限,反之没有 ②文 ...

  10. Web前端知识体系V0.1

    学习,是一个建立“索引”的过程-好比我们读一本书,读完之后,再次看这本书的目录结构,就会联想起很多书中的具体内容: 博客,是一个回顾所学的载体-学习完教学Video之后,通过书写博客,以达到记忆的目的 ...