VNC,全稱為Virtual Network Computing,它是一個(gè)桌面共享系統(tǒng)。它的功能,類似于Windows中的遠(yuǎn)程桌面功能。VNC使用了RFB(Remote FrameBuffer,遠(yuǎn)程幀緩沖)協(xié)議來(lái)實(shí)現(xiàn)遠(yuǎn)程控制另外一臺(tái)計(jì)算機(jī)。它把鍵盤(pán)、鼠標(biāo)動(dòng)作發(fā)送到遠(yuǎn)程計(jì)算機(jī),并把遠(yuǎn)程計(jì)算機(jī)的屏幕發(fā)回到本地。
VNC技術(shù)與平臺(tái)無(wú)關(guān),VNC VIEwer可以和VNC Server在不同的操作系統(tǒng)上。VNC幾乎支持所有的操作系統(tǒng),也支持Java,甚至可以通過(guò)支持Java的瀏覽器來(lái)訪問(wèn)VNC Server。多個(gè)VNC客戶端可以同時(shí)連接到一個(gè)VNC Server上。
VNC最初由AT&T開(kāi)發(fā)的,它的源代碼是開(kāi)源的。
在CentOs 4.3上配置VNC服務(wù)很簡(jiǎn)單(這里假定你的計(jì)算機(jī)上已經(jīng)安裝了VNC軟件)
首先需要配置VNC密碼,密碼在使用客戶端連接服務(wù)器時(shí)使用。
注意:VNC密碼保存在用戶的主目錄中,每個(gè)用戶都可以設(shè)置自己的密碼。因此,請(qǐng)使用你的用戶名(盡量不要使用root)運(yùn)行下列命令:
vncpasswd
然后輸入密碼。
接下來(lái)就可以啟動(dòng)VNC server了。在啟動(dòng)VNC server時(shí),需要為你的server指定一個(gè)display參數(shù)。你可以把display理解為一個(gè)桌面,每個(gè)用戶都可以有自己的桌面。VNC客戶端在連接時(shí),可以指定連接到哪個(gè)桌面上。在系統(tǒng)中,display號(hào)不能重復(fù),也就是說(shuō),如果有用戶已經(jīng)建立了名為“:1”的display,另外一個(gè)用戶就不能再使用“:1”了,他可以使用“:2”。
啟動(dòng)VNC server的命令是:
vncserver <display>
例如,
vncserver :1
最后,需要配置一下防火墻,允許VNC客戶端連接VNC server。VNC server監(jiān)聽(tīng)的端口從5900開(kāi)始,display :1的監(jiān)聽(tīng)5901,display :2監(jiān)聽(tīng)5902,以此類推。CentOs的防火墻缺省是不允許連接這些端口的,所以需要使用下面的步驟打開(kāi)防火墻(需要root權(quán)限):
vi /etc/sysconfig/iptables
找到下面的語(yǔ)句:
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
在此行之前,加上下面的內(nèi)容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5903 -j ACCEPT
這句話的含義是,允許其它機(jī)器訪問(wèn)本機(jī)的5900到5903端口,這樣,display:1, display:2, display:3的用戶就可以連接到本機(jī)。
然后使用root身份重新啟動(dòng)防火墻:
/sbin/service iptables restart
好了,現(xiàn)在就可以運(yùn)行客戶端軟件,連接到VNC server上了。
VNC客戶端軟件很多,在Linux下有vncviewer,KDE還提供了一個(gè)krdc(它的菜單項(xiàng)就是”Remote Desktop Connection",遠(yuǎn)程桌面連接)。
在window也有不少vnc客戶端,你可以到http://www.realvnc.com/去下載一個(gè),安裝就可以用了。
假設(shè)VNC server的IP地址是192.168.1.1,display是:1。在VNC viewer的server欄中輸入:“192.168.1.1:1”,然后連接。OK,你可以看到自己的桌面了。以后不管你什么時(shí)候關(guān)閉自己的本地PC機(jī)都不怕了,只要server不關(guān)機(jī),你只要連接到VNC server,你就可以看到你前一天關(guān)閉本地PC機(jī)時(shí)的桌面還保持著原樣。
不過(guò)...這個(gè)桌面怎么這么丑?!
原來(lái)vncserver默認(rèn)使用的窗口管理器是twm,這是一個(gè)很簡(jiǎn)陋的窗口管理器,你可以把你的桌面改成GNOME或KDE。
方法是,進(jìn)入你自己的home目錄,然后編輯這個(gè)文件:.vnc/xstartup,下面是這個(gè)文件的內(nèi)容:
#!/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 &",分別啟動(dòng)GNOME桌面和KDE桌面。
如果server重啟了,那你就需要重新運(yùn)行一次vncserver命令來(lái)啟動(dòng)VNC server,這很麻煩。有沒(méi)有更好的方法呢?
有!我們可以把VNC server啟動(dòng)成后臺(tái)服務(wù)。執(zhí)行如下步驟:
首先要允許VNC server在系統(tǒng)啟動(dòng)過(guò)程中被啟動(dòng)。這可以通過(guò)“系統(tǒng)設(shè)置-->服務(wù)器設(shè)置-->服務(wù)”菜單來(lái)配置,把vncserver一項(xiàng)選上就可以了。
如果使用命令行的話,以root身份運(yùn)行以下兩條命令:
cd /etc/rc5.d
mv K35vncserver S35vncserver
然后編輯/etc/sysconfig/vncservers,以下是文件內(nèi)容:
|
解釋一下這個(gè)文件:
VNCSERVERS這一行是配置在系統(tǒng)啟動(dòng)時(shí)啟動(dòng)幾個(gè)VNC server,上面的例子里運(yùn)行了三個(gè)VNC server,其中user1在display :1,user2在display :2,user3在display :3。
VNCSERVERARGS這三行,分別為VNC server 1, 2, 3配置啟動(dòng)參數(shù),上面的例子里對(duì)user1和user2使用屏幕分辨率1024x768,對(duì)user3使用800x600。
其它支持的參數(shù)請(qǐng)使用“man vncserver”命令查詢。
編輯好這個(gè)文件后,保存,然后以root身份運(yùn)行:
/sbin/service vncserver start
這樣user1, user2, user3的vncserver就啟動(dòng)了。
以后每次系統(tǒng)重啟時(shí),都會(huì)自動(dòng)啟動(dòng)這三個(gè)用戶的vncserver。
注意:上面三個(gè)用戶必須已經(jīng)使用vncpasswd命令設(shè)置過(guò)vnc密碼,不然他的vncserver啟動(dòng)會(huì)失敗
大盤(pán)預(yù)測(cè) 國(guó)富論