原文:http://www.cnblogs.com/niocai/archive/2011/11/02/2233332.html

我的CentOS版本是6.0,下述方法在i386和x86_64中均适用,因为我32位和64位的CentOS都装了~

1.CentOS 安装tigervncserver

System -> Administration -> Add/Remove Software

搜索vnc,将tigervnc-server,libvncserver,tigervnc安装了

2.配置vncservers,假设你有两个用户想要远程登录,用户名分别是user1,user2

#gedit /etc/sysconf/vncservers

在这个文件末添加

VNCSERVERS="1:user1 2:user2"
VNCSERVERARGS[]="-geometry 1440x900"
VNCSERVERARGS[2]="-geometry 1440x900"

如果你还有更多用户想远程登录,就得在VNCSERVERS这一行中继续添加3:user3等等,下面的VNCSERVERARGS[i]是对应第 i个用户远程登录的参数。这个参数还有好多选项,我也不大清楚用处,所以我就设置了一下分辨率,你可以根据自己的需要将1440x900改成你想要的分辨 率,默认的话好像是800x600吧~

3.生成xstartup+设置vncpasswd。刚安装完的时候xstartup是不存在的,vncserver第一次运行的时候会自动生成此文件。

//切换用户
[*@* ~]$su - user1
passwd:
//设置vncpasswd,你使用vnc连接的时候,提示输入密码时,就是输入这个密码,而不是系统中user1的密码
[user1@* ~]$vncpasswd
passwd:
verify:
//启动vncserver,生成xstartup
[user1@* ~]$vncserver
New '*:1 (user1)' desktop is *:

starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/*:1.log [user1@* ~]$

由于这里举例是希望两个用户user1和user2都能远程登录,因此同样的命令需要用user2使用一次

//切换用户
[*@* ~]$su - user2
passwd:
//设置vncpasswd,你使用vnc连接的时候,提示输入密码时,就是输入这个密码,而不是系统中user1的密码
[user2@* ~]$vncpasswd
passwd:
verify:
//启动vncserver,生成xstartup
[user2@* ~]$vncserver New '*:2 (user2)' desktop is *: starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/*:2.log [user2@* ~]$
如果你还有更多用户需要远程登录,我也不知道有什么好办法,一个一个来吧~~
特别注意:上面每个用户启动vncserver的时候,都会有一行
New '*:2 (user2)' desktop is *:2
的提示,这句话很重要!其中的数据2就是桌面号,意思就是user2的桌面号是2
具体自己用户的桌面号是多少,每次启动vncserver的时候都可能会变,要记住自己的桌面号,后面要用到

4.停止vncserver

法一:切换到各个用户,停止自己的远程桌面,冒号后面的数字对应自己的桌面号,上面提到过的~

[*@* ~]$su - user1
passwd:
[user1@* ~]$vncserver -kill :
[user1@* ~]$su - user2
passwd:
[user2@* ~]$vncserver -kill :2

法二:切换到root用户,停止远程桌面

[*@* ~]$su - root
passwd:
[root@* ~]#vncserver -kill :
[root@* ~]#vncserver -kill :

法三:停止vncserver服务

[*@* ~]$su - root
passwd:
[root@* ~]#service vncserver stop

法四:直接杀死远程桌面进程

[*@* ~]$su - root
passwd:
[root@* ~]#ps -ef | grep vnc
[root@* ~]#kill - 进程号1 进程号2 进程号3

5.修改xstartup

[*@* ~]$su - root
passwd:
[root@* ~]#gedit /home/user1/.vnc/xstartup
[root@* ~]#gedit /home/user2/.vnc/xstartup
[root@* ~]#

将最近两行加注释,并加一行,原文最后两行如下

xterm -geometry 80x24++ -ls -title "$VNCDESKTOP Desktop" &
twm &

修改以后如下

#xterm -geometry 80x24++ -ls -title "$VNCDESKTOP Desktop" &
#twm &
gnome-session &

6.启动vncserver

[*@* ~]$su - root
passwd:
[root@* ~]#service vncserver start

使用这个命令会为每一个你前面添加的用户启动一个远程桌面,你需要记住自己的桌面号!

7.关闭防火墙

[*@* ~]$su - root
passwd:
[root@* ~]#service iptables stop

我只是简单的关闭防火墙,如果你需要用到防火墙,那就需要设置防火墙,让vncserver能够通信,要不然连不上去的。

特别注意:这里只是暂时关闭防火墙,系统下次启动的时候防火墙又启动了!如果你想永久关闭防火墙,需要如下命令关闭防火墙开机自启动。

[*@* ~]$su - root
passwd:
[root@* ~]#chkconfig iptables off

如果你不想关闭防火墙,那么就得在防火墙中设置例外规则,将5901-590x端口开放。

具体规则是如何写的,推荐你别上网搜,而是用命令“man iptables”来查看防火墙的帮助文档,这个文档是你系统版本防火墙的帮助文档,而上网搜的帮助文档可能不是一个版本。例如我上网看的 iptables配置就是1.1.19版本的,而我系统的iptables是1.4.7版本的,看完以后,按说明添加规则后,重启防火墙的时候说规则无 效~因为版本不同,有些规则已经改变写法,这个很正常,不过大部分规则是没有变动的。

想开放端口,首先编辑防火墙的配置文件,默认的是在/etc/sysconfig/iptables中。这个配置文件在什么地方上面那个帮助文档里一般都会告诉你的,所以有时间的话看看也不错,当作学习。

[*@* ~]$su - root
passwd:
[root@* ~]#gedit /etc/sysconfig/iptables

在这个文件里添加一行

-A INPUT -m state --state NEW -m tcp -p tcp --dport : -j ACCEPT

这句话的意思就是将本机的5901~5910端口的tcp连接允许通过~
注意添加行的位置:不行把这行添到文件末尾,那样基本上应该没有用。

这个文件里一般都会有这么几行

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  
-A INPUT -p icmp -j ACCEPT    
-A INPUT -i lo -j ACCEPT  

在这三行后面另起一行,添加进去。

8.xp装vnc客户端,我使用tigervnc,官方下载地址

http://sourceforge.net/projects/tigervnc/files/tigervnc/

安装完了以后,启动TigerVNC Viewer,如下图,

输入“IP:桌面号”,点“OK”,进入下图

输入你使用vncpasswd命令设置的密码,即可登录了~

9.添加vncserver自启动

[*@* ~]$su - root
passwd:
[root@* ~]#chkconfig vncserver on

问题1:

[root@* ~]# service vncserver start
Starting VNC server: :user1
Warning: *: is taken because of /tmp/.X1-lock
Remove this file if there is no X server *:
A VNC server is already running as :
[FAILED]

解决办法:把/tmp下的所有文件(包括隐藏文件)全删除。

//删除一般临时文件
[root@* ~]#rm -rf /tmp/*
//删除隐藏临时文件,这里有两个提示忽略。
[root@* ~]#rm -rf /tmp/.*
rm: cannot remove directory: `/tmp/.'
rm: cannot remove directory: `/tmp/..'
//确保tmp下只包含.和..
[root@* ~]#ls -a /tmp
.  ..
[root@* ~]#

感觉这个东西步骤有点多,多另一方面也说明说的比较稍微全点吧~整这个VNCSERVER也花了我好多天时间,看了不少帖子,最后觉得还是有必要自己写一篇备忘一下。

【转】vnc centos的更多相关文章

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

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

  2. VNC CentOS 7 远程工具,VNC CentOS 7 远程工具推荐!

    IIS7服务器管理工具是一款能够在Windows和Linux系统下进行VNC使用的软件!它能够成为VNC的客户端,帮助操作者完成VNC的相关命令!同时,它还能够作为FTP的操作客户端,实现FTP的传输 ...

  3. CentOS下VNC使用

    1. 介绍 本文主要介绍了VNC Server的配置和使用 2. 安装 CentOS中默认就有安装VNC,可以通过命令rpm查看 [Jerry@localhost ~]$ rpm -qa | grep ...

  4. CentOS 安装VNC Server

    环境 服务器:192.168.10.181 系统:CentOS 6.0 安装过程 1.切换至root用户 2.检测系统是否安装VNC [root@Nginx canyouNgx]# rpm -q vn ...

  5. centos 开启VNC

    安装软件包(有yum源安装的,不采用源码安装) yum -y install vnc vnc-server 安装成功后,配置如下: [root@localhost ~]# vncserver #设置 ...

  6. Centos系统上安装VNC view

    一.安装 VNC 默认情况下,CentOS 6.4 是没有安装的,检查是否安装,输入: [root@localhost ~]# rpm -q vnc vnc-server package vnc is ...

  7. Troubleshoot Refused VNC Connection in CentOS 7

    Troubleshoot Refused VNC Connection in CentOS 7 Posted on March 15, 2015 by Istvan Szarka — 2 Commen ...

  8. CentOS/Redhat VNC 服务

    # yum install vnc-server vnc* (CentOS 5.x)# yum install tigervnc-server tigervnc (CentOS 6.x) [root@ ...

  9. CENTOS安装vnc

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

随机推荐

  1. IE9下Coolite.Ext出现createContextualFragment错误

    解决Ext在IE9上报错“createContextualFragment”,只需要在使用Coolite.Ext页面加入如下代码即可: if ((typeof Range !== "unde ...

  2. TWaver3D入门探索——3D拓扑图之人在江湖

    俗话说,有人的地方就有江湖,江湖就是帮派林立错综复杂的关系网.今天我们就来展示这样一个小小的江湖. 故事背景 崇祯末年,民不聊生,烽烟四起-- 江湖都是有背景的,我们的3D江湖也需要一个背景.江湖就是 ...

  3. ubuntu下安装GTK过程

    GTK的安装过程比较繁琐,以前也安装过,但没有记录下来,Google一下记录下来备用. 利用此方法成功在ubuntu12.04下安装GTK 2.24.10 1.安装gcc/g++/gdb/make 等 ...

  4. C#设计模式学习资料--观察者模式

    http://www.cnblogs.com/promise-7/archive/2012/05/14/2500759.html http://www.cnblogs.com/zhenyulu/art ...

  5. jquery1.8在ie8下not无效?

    // 不需要的name加到下面 var excludes = ['name1', 'name2', 'name3'];   $.each(excludes, function (i, v) {   e ...

  6. find 与 tar命令连用

    find 与 tar命令连用 今天打包日志时,用 -type f -exec tar -cvf log.tar {} \; 发现只打包了最后一个文件,应该是tar的c参数,每次都创建一个新的文件,想了 ...

  7. hibernateTemplate的load方法

    hibernateTemplate的load方法采用延迟加载,所以应当注意. 如果配置不当,采用此方法获取对象,往往会出现异常: javax.servlet.ServletException: org ...

  8. [转载]mvc使用JsonResult返回Json数据

    controller 中定义以下方法: public JsonResult UpdateSingle(int id, string actionName, string actionValue) { ...

  9. [转载]介绍一个JSONP 跨域访问代理API-yahooapis

    你是否遇到了想利用AJAX访问一些公网API,但是你又不想建立自己的代理服务,因为有时我根本就没打算涉及服务端任何代码,但是讨厌的浏览器的同源策略,阻止了我们的ajax调用. 比如我想访问一个天气的r ...

  10. 团体程序设计天梯赛-练习集L1-016. 查验身份证

    L1-016. 查验身份证 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一个合法的身份证号码由17位地区.日期编号和顺序编号 ...