VNC是Virtual Network Computing(虛擬網(wǎng)絡(luò)計算機)的縮寫。VNC是由AT&T的歐洲研究實驗室開發(fā)的一款優(yōu)秀的跨平臺遠程桌面控制軟件,支持Linux,Unix,Windows等操作系統(tǒng)跨平臺遠程桌面控制。VNC有兩部分組成,分別是:服務(wù)端(vncserver)和客戶端(vncviewer)。下面以Linux(VNC服務(wù)端)、Windows(VNC客戶端)為平臺介紹VNC的安裝、配置和使用。
實驗環(huán)境
VNC服務(wù)端:
操作系統(tǒng):Red Hat Enterprise Linux AS 5
內(nèi)核版本:2.6.18-8.el5
CPU構(gòu)架:i386 SMP
附件軟件:Red Hat Enterprise Linux AS 5 DVD安裝盤
VNC客戶端:
操作系統(tǒng):Windows Server 2008 Enterprise
瀏覽器:Windows Internet Explorer 7
1. 在Linux下安裝VNC
將Red Hat Enterprise Linux AS 5 DVD安裝盤放入DVD光驅(qū),執(zhí)行下列命令進行安裝:
# mkdir -p /mnt/cdrom 文章來至[愛E族]:http://www.aiezu.com# mount -t auto /dev/cdrom /mnt/cdrom # cd /mnt/cdrom/Server # rpm -ivh rpm -ivh vnc-server-4.1.2-9.el5.i386.rpm # rpm -ivh vnc-4.1.2-9.el5.i386.rpm 文章來至[愛E族]:http://www.aiezu.com
2. 配置Linux下的VNC Server
、. VNC的運行機制介紹:
在配置VNC前,必須了解VNC的運行機制。Linux下的VNC可以同時啟動多個vncserver,各個vncserver之間用顯示編號(display number)來區(qū)分,每個vncserver服務(wù)監(jiān)聽3個端口,它們分別是:
5800+顯示編號: VNC的httpd監(jiān)聽端口,如果VNC客戶端為IE,Firefox等非vncviewer時必須開放。
5900+顯示編號: VNC服務(wù)端與客戶端通信的真正端口,必須無條件開放。
6000+顯示編號: X監(jiān)聽端口,可選。
顯示編號、開放的端口分別由/etc/sysconfig/vncservers文件中的VNCSERVERS和VNCSERVERARGS控制。VNCSERVERS的設(shè)置方式為“VNCSERVERS="顯示編號1:用戶名1 …"”,如:VNCSERVERS="1:root 2:aiezu"。VNCSERVERARGS的設(shè)置方式為VNCSERVERARGS[顯示編號1]="參數(shù)一 參數(shù)值一 參數(shù)二 參數(shù)值二 ……",如VNCSERVERARGS[2]="-geometry 800x600 -nohttpd",VNCSERVERARGS的詳細參數(shù)有:
-geometry 桌面分辨率,默認1024x768;
-nohttpd 不監(jiān)聽HTTP端口(58xx端口);
-nolisten tcp 不監(jiān)聽X端口(60xx端口);
-localhost 只允許從本機訪問;
-AlwaysShared 默認只同時允許一個vncviewer連接,此參數(shù)允許同時連多個vncviewer;
-SecurityTypes None 登錄不需要密碼認證VncAuth默認值,要密碼認證。
、. 修改/etc/sysconfig/vncserver文件:
熟悉Linux下VNC的運行機制后,開始正式配置VNC Server。vi /etc/sysconfig/vncserver,添加如下三行:文章來至[愛E族]:http://www.aiezu.com
VNCSERVERS="1:root 3:aiezu" VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp" VNCSERVERARGS[3]="-geometry 1024x768 -nolisten tcp" 本例我們開啟兩個vncserver,分別是root用戶,顯示編號為1和用戶aiezu,顯示編號為3,并且全不開啟X監(jiān)聽端口60xx。
、. 設(shè)置VNC用戶密碼:
接下來設(shè)置VNC的密碼,此步驟不可跳過,否則VNC Server將無法啟動,在Linux Shell下執(zhí)行下列命令:
# su - aiezu # vncpasswd Password: 文章來至[愛E族]:http://www.aiezu.comVerify: # su - root # vncpasswd Password: Verify: service vncserver start //啟動vncserver運行上面命令后,會在用戶根目錄($HOME)下的".vnc"文件夾下生成一系列文件。其中passwd為vnc用戶密碼文件,由vncpasswd生成。其他的都由vnc初次啟動時生成,xstartup為VNC客戶端連接時啟動的腳本。文章來至[愛E族]:http://www.aiezu.com
④. 修改".vnc/xstartup"文件:
執(zhí)行到上面步驟后,VNC Server已經(jīng)能正常運行。但是默認設(shè)置下,客戶連接時啟動的是xterm,我們?nèi)绻肟吹阶烂,必須將用戶根目錄下?quot;.vnc/xstartup"文件中的最后兩行注釋掉,然后根據(jù)你安裝的桌面壞境,添加一行"startkde &"或者"gnome-session &"。如下:
#!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc 文章來至[愛E族]:http://www.aiezu.com[ -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 & 文章來至[愛E族]:http://www.aiezu.comstartkde & # gnome-session & 配置完各個用戶根目錄下的".vnc/xstartup"后,執(zhí)行service vncserver restart 重新啟動vncserver使配置生效。
、. 配置防火墻:
如果Linux啟用了防火墻,必須允許VNC的相關(guān)端口(58xx,59xx,60xx)。具體的端口,請參照第2大步驟的①小步驟的VNC運行機制介紹,本例開啟5801,5803,5901,5903端口就可以。在Linux命令提示符下輸入"system-config-securitylevel-tui"啟動防火墻配置工具,點"Customize",在"Other Port"中輸入"5801:tcp 5803:tcp 5901:tcp 5903:tcp",然后點"OK"既可。
文章來至[愛E族]:http://www.aiezu.com
3. VNC客戶端配置與連接
、. 在windows下使用IE進行遠程控制連接:
使用瀏覽器連接時,服務(wù)端的VNCSERVERARGS設(shè)置必須沒有"-nohttpd參數(shù)",并且防火墻允許VNC的58xx和59xx端口通過。瀏覽器必須安裝了Java支持插件,Java插件下載地址:java.com/zh_CN/download/manual.jsp">http://www.java.com/zh_CN/download/manual.jsp
、. 使用在windows下vncviewer遠程控制連接:
使用vncviewer進行遠程控制是最簡單方式,服務(wù)器只需開啟"59xx"端口就可以了?蛻舳艘矡o需配置,雙擊vncviewer后,在server文本框中輸入vncserver的ip地址和端口即可(本例為:192.168.1.22:5901)。vncviewer綠色版的本地下載地址為:http://www.aiezu.com/soft/vnc-4_1_2-x86_win32_viewer.exe
、. 在Linux下使用vncviewer進行遠程控制連接:
使用vncviewer前必須安裝vnc-4.1.2-9.el5.i386.rpm包,vncviewer的用法為:vncviewer host:顯示編號。
、. 在windows下使用vncviewer+putty.exe通過ssh安全通道連接:
打開putty,在左邊的"Category"中依次點"Connection"->"SSH"->"Tunnels"。在"Source Port"文本框中輸入"5901","Destination"文本框中輸入"localhost:5901",點擊"Add,添加端口轉(zhuǎn)發(fā)。然后在putty左邊的"Category"下點"Session",輸入服務(wù)器的IP地址后,點"Open"按鈕,輸入密碼登陸后,既成功啟用了端口轉(zhuǎn)發(fā)。接著在本機打開vncviewer輸入"127.0.0.1:5901"即可成功連接到遠程的5901端口。
、. 在Linux下使用vncviewer+ssh安全通道連接:
與④類似,在linux vnc客戶端shell下運行"ssh -L 5901:localhost:5901 vncserverhost"命令,輸入用戶名密碼。即完成通過shh安全通道,將遠程的5901端口轉(zhuǎn)發(fā)到本機的5901端口。然后在shell下運行"vncviewer 127.0.0.1:1"命令即可以連接到遠程的VNC Server。
上面的五種連接方式中,前面三種方式數(shù)據(jù)都是未加密的形式在網(wǎng)絡(luò)中傳輸?shù),是極為不安全的方式,建議不要采用。文章來至[愛E族]:http://www.aiezu.com
4. 常見問題
、. 問:為什么成功連接后,沒有顯示桌面,而只是現(xiàn)實一個Terminal窗口?
①. 答:在未修改用戶根目錄下的".vnc/xstartup"文件,xstartup的默認設(shè)置即是此情況。請按第2大步的第②小步修改xstartup,然后運行"service vncserver restart"重新啟動vncserver服務(wù)即可。
、. 問:如何查看VNC正在運行的顯示編號端口號?
、. 答:在Linux命令提示符下執(zhí)行"netstat -tlup|grep vnc",即可以查看到端口號,端口號的后兩位即顯示編號。
、. 問:如何關(guān)閉指定的顯示編號?文章來至[愛E族]:http://www.aiezu.com
、. 答:vncserver -kill :number 即可以關(guān)閉指定的顯示編號和對應(yīng)的端口號。
、. 問:為何我通過瀏覽器連接VNC 端口時,瀏覽器顯示了一個紅叉。
、. 答:那是因為你的瀏覽器沒裝Java插件的緣故,下載Java插件安裝即可。
、. 問:客戶端連接時"Connetcion timed out(10060)"是怎么回事?
①. 答:對于客戶端連接時出現(xiàn)"Connetcion timed out(10060)"或者"No route to host:connect",請檢查防火墻是否開啟了58xx,59xx,vncserver是否正常運行,以及/etc/sysconfig/vncserver文件配置是否正確。
、. 問:在通過VNC連接的圖形界面桌面啟動X應(yīng)用時出現(xiàn):"Error: Can't open display: :0.0"錯誤?
、. 答:請使用"echo $DISPLAY"命令查看"DISPLAY"壞境變量是否設(shè)置為":顯示編號:0",如:":1:0"。如果不是此形式,啟動X應(yīng)用時會出現(xiàn)此錯誤。此時可以通過"export DISPLAY=:1:0"設(shè)置正確的DISPLAY。還有一種可能就是切換了用戶啟動X應(yīng)用,當(dāng)前用戶沒有權(quán)限使用X窗口,這時返回到啟用VNC的用戶,運行"xhost +"允許其他用戶訪問此X窗口即可
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206 本文出自:億恩科技【www.allwellnessguide.com】
服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|