隨筆-295  評論-26  文章-1  trackbacks-0

          VNC,全稱為Virtual Network Computing,它是一個桌面共享系統。它的功能,類似于Windows中的遠程桌面功能。VNC使用了RFB(Remote FrameBuffer,遠程幀緩沖)協議來實現遠程控制另外一臺計算機。它把鍵盤鼠標動作發送到遠程計算機,并把遠程計算機的屏幕發回到本地。

          VNC技術與平臺無關,VNC VIEwer可以和VNC Server在不同的操作系統上。VNC幾乎支持所有的操作系統,也支持Java,甚至可以通過支持Java的瀏覽器來訪問VNC Server。多個VNC客戶端可以同時連接到一個VNC Server上。

          VNC最初由AT&T開發的,它的源代碼是開源的。

          在CentOs 4.3上配置VNC服務很簡單(這里假定你的計算機上已經安裝了VNC軟件)

          首先需要配置VNC密碼,密碼在使用客戶端連接服務器時使用。

          注意:VNC密碼保存在用戶的主目錄中,每個用戶都可以設置自己的密碼。因此,請使用你的用戶名(盡量不要使用root)運行下列命令:

          vncpasswd

          然后輸入密碼。

          接下來就可以啟動VNC server了。在啟動VNC server時,需要為你的server指定一個display參數。你可以把display理解為一個桌面,每個用戶都可以有自己的桌面。VNC客戶端在連接時,可以指定連接到哪個桌面上。在系統中,display號不能重復,也就是說,如果有用戶已經建立了名為“:1”的display,另外一個用戶就不能再使用“:1”了,他可以使用“:2”。

          啟動VNC server的命令是:

          vncserver <display>

          例如,

          vncserver :1

          最后,需要配置一下防火墻,允許VNC客戶端連接VNC server。VNC server監聽的端口從5900開始,display :1的監聽5901,display :2監聽5902,以此類推。CentOs的防火墻缺省是不允許連接這些端口的,所以需要使用下面的步驟打開防火墻(需要root權限):

          vi /etc/sysconfig/iptables

          找到下面的語句:

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

          在此行之前,加上下面的內容:

          -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5903 -j ACCEPT

          這句話的含義是,允許其它機器訪問本機的5900到5903端口,這樣,display:1, display:2, display:3的用戶就可以連接到本機。

          然后使用root身份重新啟動防火墻:

          /sbin/service iptables restart

          好了,現在就可以運行客戶端軟件,連接到VNC server上了。

          VNC客戶端軟件很多,在Linux下有vncviewer,KDE還提供了一個krdc(它的菜單項就是”Remote Desktop Connection",遠程桌面連接)。

          在window也有不少vnc客戶端,你可以到http://www.realvnc.com/去下載一個,安裝就可以用了。

          假設VNC server的IP地址是192.168.1.1,display是:1。在VNC viewer的server欄中輸入:“192.168.1.1:1”,然后連接。OK,你可以看到自己的桌面了。以后不管你什么時候關閉自己的本地PC機都不怕了,只要server不關機,你只要連接到VNC server,你就可以看到你前一天關閉本地PC機時的桌面還保持著原樣。

          不過...這個桌面怎么這么丑?!

          原來vncserver默認使用的窗口管理器是twm,這是一個很簡陋的窗口管理器,你可以把你的桌面改成GNOME或KDE。

          方法是,進入你自己的home目錄,然后編輯這個文件:.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 &

          gnome-session &

          你可以把像上面這樣把"twm &"這一行注釋掉,然后在下面加入一行"gnome-session &",或者是"startkde &",分別啟動GNOME桌面和KDE桌面。

          如果server重啟了,那你就需要重新運行一次vncserver命令來啟動VNC server,這很麻煩。有沒有更好的方法呢?

          有!我們可以把VNC server啟動成后臺服務。執行如下步驟:

          首先要允許VNC server在系統啟動過程中被啟動。這可以通過“系統設置-->服務器設置-->服務”菜單來配置,把vncserver一項選上就可以了。

          如果使用命令行的話,以root身份運行以下兩條命令:

          cd /etc/rc5.d

          mv K35vncserver S35vncserver

          然后編輯/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:user1 2:user2 3:user3"
          VNCSERVERARGS[1]="-geometry 1024x768"
          VNCSERVERARGS[2]="-geometry 1024x768"
          VNCSERVERARGS[3]="-geometry 800x600"
          														

          解釋一下這個文件:

          VNCSERVERS這一行是配置在系統啟動時啟動幾個VNC server,上面的例子里運行了三個VNC server,其中user1在display :1,user2在display :2,user3在display :3。

          VNCSERVERARGS這三行,分別為VNC server 1, 2, 3配置啟動參數,上面的例子里對user1和user2使用屏幕分辨率1024x768,對user3使用800x600。

          其它支持的參數請使用“man vncserver”命令查詢。

          編輯好這個文件后,保存,然后以root身份運行:

          /sbin/service vncserver start

          這樣user1, user2, user3的vncserver就啟動了。

          以后每次系統重啟時,都會自動啟動這三個用戶的vncserver。

          注意:上面三個用戶必須已經使用vncpasswd命令設置過vnc密碼,不然他的vncserver啟動會失敗



          大盤預測 國富論
          posted on 2008-03-04 19:21 華夢行 閱讀(370) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 乌兰浩特市| 射洪县| 潜山县| 米脂县| 娄底市| 沁水县| 苍南县| 浦江县| 措美县| 颍上县| 若羌县| 昌邑市| 竹北市| 金山区| 江门市| 铜梁县| 澜沧| 宣武区| 榆社县| 盘山县| 塔河县| 齐河县| 济源市| 望江县| 象山县| 双辽市| 镇江市| 凤翔县| 桂东县| 鸡西市| 两当县| 龙口市| 山丹县| 永胜县| 龙南县| 安龙县| 建昌县| 来安县| 青海省| 静乐县| 望奎县|