<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    gembin

    OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

    HBase, Hadoop, ZooKeeper, Cassandra

    Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

    There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

    About Me

     

    Configuring the VNC server/viewer in Linux.

    Overview of VNC

    VNC, or Virtual Networked Computing, is a way of controlling a remote computer just as though you are sitting in front of it. In the Windows world it
    is also known as remote desktop but it's normally referred to as VNC in the Linux world. All that happens is that you connect using a VNC client to a
    remote computer running the VNC server, then an image of the remote desktop is transmitted to your local computer and you can see and control the desktop
    just as though you are there since all keyboard and mouse commands are sent from your client machine to the server.

    Gnome Remote Desktop

    If you are running the Gnome desktop on Fedora Core then you already have a VNC server built in. Click on the Fedora icon > Desktop > Preferences >
    Remote Desktop to open the dialog shown.
     
    Gnome remote desktop

    The screen is pretty self explanatory but basically when set up this way another computer can connect to your computer using the command listed on
    the dialog. There are a few important things to note, you must open port 5900 on the server for this to work since by default the Gnome Remote
    Desktop (called vino) listens on this port, also the person connecting will see the same session that you are currently logged in as. This means that
    any programs you have open will also be visible to the client, of course this is very useful if you are helping someone remotely.

    A more flexible way to use VNC is to install the VNC server and client software via yum, these are rpm's based on
    RealVNC.


    vncserver and vncviewer

    Check what's installed

    First check if you already have them installed on your system, open a terminal and type:

    $ rpm -qa|grep vnc
    vnc-server-4.1.1-36
    vnc-4.1.1-36


    If you get an output something like this then you're all ready, if not you need to install them via yum.

    Add a user(s)

    Next we need to add at least 1 VNC user, open the file /etc/sysconfig/vncservers as root and add the information shown:

    $ vi /etc/sysconfig/vncservers

    # The VNCSERVERS variable is a list of display:user pairs.
    #
    # Uncomment the lines below to start a VNC server on display :2
    # 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:bobpeers"
    VNCSERVERARGS[1]="-geometry 1024x768 -depth 16"


    The important part is the VNCSERVERS="1:bobpeers", this sets up a users for the vnc server, you can add as many as you like here. The VNCSERVERARGS[1]
    line refers to the arguments for user 1, in this case the only user. Geometry sets the size and depth sets the colour depth, you can adjust these to
    suit your preferences but in my case the client machine has a resolution of 1024x768 and the depth 16 makes the connection a bit faster since the less
    information that needs to be sent the more responsive the session will feel.

    Knowing which port to use

    It's also important to note the session number user as this will tell us which port vncserver will listen on. Remember the Gnome Remote Desktop
    asked us to use computername:0 as the connection string, the number needs to be added to 5900 to get the listening port. In this case we need to use
    port 5901 since we are using session 1. In the same way we could use any number, for example:

    VNCSERVERS="2000:bobpeers"
    VNCSERVERARGS[2000]="-geometry 1024x768 -depth 16"


    In this case we need to use port 5900+2000 so port 7900.

    Setting a password

    To add some security we need to add a password that must be given before a connection can be established, open a terminal and type:

    $ vncpasswd
    Password:
    Verify:


    This creates a hidden folder called .vnc in your home folder containing the password file.

    Starting the server and startup options

    To start the server we type the command 'vncserver' and the session you wish to start (if you have set up more than 1 entry in the
    /etc/sysconfig/vncservers file:

    $ vncserver :1
    Starting VNC server: 1:bobpeers
    New 'linux.bobpeers:1 (bobpeers)' desktop is linux.bobpeers:1

    Starting applications specified in /home/bobuser/.vnc/xstartup
    Log file is /home/bobuser/.vnc/linux.bobpeers:1.log

                                                               [  OK  ]


    Now the server is started and a user could connect, however they will get a plain grey desktop by default as the connection will not cause a new
    session of X to start by default, to fix this we need to edit the startup script in the .vnc folder in your home directory.

    $ vi ~/.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 &


    As the file says make sure the two lines at the top are uncommented by removing the leading # sign. Next we need to restart vncserver to pick up
    the changed we just made. To restart the vncserver we need to kill the process and start a new one as root:

    $ vncserver -kill :1
    Killing Xvnc process ID 13728


    $ vncserver :1
    Starting VNC server: 1:bobpeers
    New 'linux.bobpeers:1 (bobpeers)' desktop is linux.bobpeers:1

    Starting applications specified in /home/bobuser/.vnc/xstartup
    Log file is /home/bobuser/.vnc/linux.bobpeers:1.log

                                                               [  OK  ]


    Using vncviewer

    To start the viewer type:

    $ vncviewer localhost:5901


    This open a dialog as shown for us to enter our password we set earlier, enter the password and you should now see a copy of your desktop. Note
    that unlike the Gnome Remote Desktop this has started a new session of X so any applications open on the host machine are not visible to the new
    session, it's basically a whole new logon running at the same time.

    If you just type 'vncviewer' at the prompt then you will asked for the host to connect to, then you can type localhost:5901 for example.
    Remember to use the correct port number when connecting, if you set your VNCSERVERS to be 2000:myname then you would need to connect on localhost:7900.

    VNCVIEWER logon

    Stopping the vncserver

    There are two ways to stop the server, either as root:

    $ /sbin/service vncserver stop
    Shutting down VNC server: 1:bobpeers                        [  OK  ]


    or you can explicitly kill a particular session without being root:

    $ vncserver -kill :1
    Killing Xvnc process ID 13728


    Just replace the 1 with the vnc session you wish to stop.

    Allowing remote connections

    So far we have only connected to our own computer using localhost so we have not needed to open any ports in the firewall, however if we want to
    allow remote connection we will have to do the following. This can either be done from the command line or using system-config-security if you have
    it installed.

    Using system-config-security to opens ports.

    First we'll look into the GUI system-config-security. Go to the Fedora start menu > Desktop > Administration >
    Security Level and Firewall, then type your root password when prompted to see this:

    system-config-security

    Click on other ports at the bottom and enter the port you wish to open, 5901 in my case, select tcp, then click OK and OK again to save your
    settings. That's all there is to it, but remember to close the port again when you are finished.

    Select the port to open

    Editing the iptables manually to opens ports.

    To do the same from the command line add the line in bold to the file /etc/sysconfig/iptables while logged in as root:

    # Firewall configuration written by system-config-securitylevel
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :RH-Firewall-1-INPUT - [0: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 -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
    -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
    -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -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 5901 -j ACCEPT
    -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
    COMMIT


    Finally we need to restart the iptables service to reload the changes.

    $ 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  ]
    Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]


    Connecting from the remote machine.

    Now from the remote client computer start up vncviewer but this time use the IP address of the host computer followed by the port number. So on my
    home network this might be:

    $ vncviewer 192.168.1.105:5901


    You should see a copy of the hosts desktop, if things seem a bit slow you can try adjusting the colour depth or screen resolution on the vncserver
    to see if that helps.

    http://bobpeers.com/linux/vnc
     

    posted on 2010-07-16 11:45 gembin 閱讀(1017) 評論(0)  編輯  收藏 所屬分類: Linux

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(6)

    隨筆分類(440)

    隨筆檔案(378)

    文章檔案(6)

    新聞檔案(1)

    相冊

    收藏夾(9)

    Adobe

    Android

    AS3

    Blog-Links

    Build

    Design Pattern

    Eclipse

    Favorite Links

    Flickr

    Game Dev

    HBase

    Identity Management

    IT resources

    JEE

    Language

    OpenID

    OSGi

    SOA

    Version Control

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    free counters
    主站蜘蛛池模板: 黄页网站在线免费观看| 黄色网页免费观看| 亚洲hairy多毛pics大全| 菠萝菠萝蜜在线免费视频| 精品国产呦系列在线观看免费 | 亚洲综合中文字幕无线码| 亚洲高清国产拍精品熟女| 久久国产乱子伦精品免费午夜| 久久久国产精品福利免费| 久久午夜免费视频| 伊在人亚洲香蕉精品区麻豆| 国产亚洲精品岁国产微拍精品| 亚洲国产理论片在线播放| 国产偷国产偷亚洲高清人| 全免费a级毛片免费看| 最近中文字幕无吗免费高清| 亚洲午夜激情视频| 亚洲妓女综合网99| 草久免费在线观看网站| 在线观看www日本免费网站| 国产大片线上免费看| 亚洲激情在线视频| 色偷偷噜噜噜亚洲男人| 久久大香伊焦在人线免费| 啦啦啦www免费视频| 亚洲春色在线视频| 亚洲精品成a人在线观看☆| 一个人免费视频观看在线www | 亚洲国产综合人成综合网站| 亚洲精品乱码久久久久久下载| 羞羞漫画在线成人漫画阅读免费| 久久青草国产免费观看| 四虎影视精品永久免费| 亚洲精品自拍视频| 国产精品一区二区三区免费| a国产成人免费视频| 日韩精品视频免费网址| 久久精品国产亚洲av麻豆色欲| 亚洲一卡2卡4卡5卡6卡在线99| 久99久无码精品视频免费播放| 四虎永久在线精品免费网址|