柳暗花明笔记

    终于把远程桌面配置好啦!(win7 连接centos 6.2远程桌面)

    所属分类:[ linux&mysql ] 猫哲学家 发表于:2012-08-26 14:53 浏览:613

    我的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[1]="-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 *:1

    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 *:2

    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 :1
    [user1@* ~]$su - user2
    passwd:
    [user2@* ~]$vncserver -kill :2
    复制代码

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

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

    法三:停止vncserver服务

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

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

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


    5.修改xstartup

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

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

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

    修改以后如下

    #xterm -geometry 80x24+10+10 -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 5901:5910 -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: 1:user1
    Warning: *:1is taken because of /tmp/.X1-lock
    Remove this file if there is no X server *:1
    A VNC server is already running as :1
    [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也花了我好多天时间,看了不少帖子,最后觉得还是有必要自己写一篇备忘一下。

     

    标签: linux  CentOS 
    上一编文章 Firebug’s log limit has been reached 下一编文章 单搞技术绝对是不行的.
    最近文章
    发表评论
    历史评论
    用户: Lanmiz 发表于 2012-08-26 14:53
    这个也可以参考 http://www.osyunwei.com/archives/663.html