• 配置VNCserver


    翻译:yunqing
    原作者:Thomas Chung
    出处:
    http://fedoranews.org/tchung/vnc/



    声明: 版权属原作者Thomas Chung所有,转载请注明出处.

    再说一句废话:强烈推荐这个网站,虽然更新比较慢,对Fedora发行版来说比较对口.

    以下正文:

    什么是VNC? 


    VNC是虚拟网络计算Virtual Network Computing的缩写. 他是一个远程控制程序,允许用户在因特网的任何地方使用简单的程序来和一个特定的

    计算机(服务器)进行交互. 两个交互的计算机不一定非得是同一类型,所以你可以在家里的运行windows的PC上来察看办公室里运行LINUX的机器

    。VNC可以自由获取并且有上百万的人在使用,他们来自工业、学术和个人应用等不同层面. 

    更多的信息请访问 
    http://www.realvnc.com/

    我的系统中已经有这个软件了吗?

    键入下面的命令来检查vnc客户端和服务器是否已经安装在你的系统中:

    [tchung@tchung101 tchung]$ rpm -q vnc vnc-server
    vnc-4.0-0.beta4.3.2
    vnc-server-4.0-0.beta4.3.2
    [tchung@tchung101 tchung]$

    要把vnc配置成一项系统服务,把你的用户名称加入到下面的配置文件中:

    [tchung@tchung101 tchung]$ sudo vi /etc/sysconfig/vncservers

    # The VNCSERVERS variable is a list of display:user pairs.
    #
    # Uncomment the line below to start a VNC server on display :1
    # 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/vnc/sshvnc.html
                                                                                                        
    # VNCSERVERS="1:myusername"
    VNCSERVERS="1:tchung"

    在启动vnc服务之前,让我们用vncpasswd这个命令来创建一个vnc的口令

    注意这将同时在你的home目录下,创建一个隐藏的目录.vnc,其中有一个文件passwd保存着你的vnc口令.

    [tchung@tchung101 tchung]$ vncpasswd
    Password:
    Verify:
    [tchung@tchung101 tchung]$ ls -d .vnc
    .vnc
    [tchung@tchung101 tchung]$ ls .vnc
    passwd
    [tchung@tchung101 tchung]$

    现在来启动vnc服务.

    [tchung@tchung101 tchung]$ sudo /sbin/service vncserver start
    Starting VNC server: 1:tchung                              [  OK  ]
    [tchung@tchung101 tchung]$

    察看一下.vnc这个目录的内容,应该类似于下面的东西.

    [tchung@tchung101 tchung]$ cd .vnc
    [tchung@tchung101 .vnc]$ ls
    passwd  tchung101:1.log  tchung101:1.pid  xstartup
    [tchung@tchung101 .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+10+10 -ls -title "$VNCDESKTOP Desktop" &
    twm &

    因为我们已经修改了启动脚本,现在来重新启动vncserver.

    [tchung@tchung101 tchung]$ sudo /sbin/service vncserver restart
    Shutting down VNC server: 1:tchung                         [  OK  ]
    Starting VNC server: 1:tchung                              [  OK  ]
    [tchung@tchung101 tchung]$

    那么怎样来连接到vncserver? 照下面使用客户端的vncviewer命令.


    [tchung@tchung101 tchung]$ vncviewer localhost:1

    输入你的vnc口令,看一下结果

    更新:
    在使用防火墙的情况下来连接到一个远程系统,需要打开端口5901.
    加入以下红色的部分,然后重启iptables服务。

    [tchung@tchung101 tchung]$ sudo vi /etc/sysconfig/iptables

    # Firewall configuration written by redhat-config-securitylevel
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0]
    :FORWARD ACCEPT [0]
    :OUTPUT ACCEPT [0]
    :RH-Firewall-1-INPUT - [0]
    -A INPUT -j RH-Firewall-1-INPUT
    -A FORWARD -j RH-Firewall-1-INPUT
    -A RH-Firewall-1-INPUT -i lo -j ACCEPT
    -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
    -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
    -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
    -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
    COMMIT

    [tchung@tchung101 tchung]$ sudo /sbin/service iptables restart
    Flushing firewall rules:                                   [  OK  ]
    Setting chains to policy ACCEPT: filter                    [  OK  ]
    Unloading iptables modules:                                [  OK  ]
    Applying iptables firewall rules:                          [  OK  ]
    [tchung@tchung101 tchung]$

    Forrest Taylor 提供的TIP 

    让vncserver接受两个不同的用户:

    VNCSERVERS="1:tchung 2:thomasc"

    当然你要为两个用户分别运行vncpasswd来设置口令. 并且在你的防火墙修改中,你应该明白VNC使用端口5901给连接1用,如果象上面一样要支

    持两个用户,应同时打开5901和5902.

  • 相关阅读:
    Codeforces Round #420 (Div. 2) A-E
    Codeforces Round #419 (Div. 2) A-E
    Bzoj4423 [AMPPZ2013]Bytehattan
    51nod1471 小S的兴趣
    Bzoj2629 binomial
    51nod1056 最长等差数列 V2
    51nod1055 最长等差数列
    51nod1110 距离之和最小 V3
    20. 有效的括号
    155.最小栈
  • 原文地址:https://www.cnblogs.com/onetwo/p/5276027.html
Copyright © 2020-2023  润新知