1. 程式人生 > >用vnc實現windows遠端連線linux桌面

用vnc實現windows遠端連線linux桌面

網路遙控技術是指由一部計算機(主控端)去控制另一部計算機(被控端),而且當主控端在控制端時,就如同使用者親自坐在被控端前操作一樣,可以執行被控端的應用程式,及使用被控端的系統資源。 
VNC(Virtual Network Computing)是一套由AT&T實驗室所開發的可操控遠端的計算機的軟體,其採用了GPL授權條款,任何人都可免費取得該軟體。VNC軟體主要由兩個部分組成:VNC server及VNC viewer。使用者需先將VNC server安裝在被控端的計算機上後,才能在主控端執行VNC viewer控制被控端。 
(在windows中也由一套著名的網路遙控軟體――Symantec公司推出的pcAnywhere。 
VNC server與VNC viewer支援多種作業系統,如Unix系列(Unix,Linux,Solaris等),windows及MacOS,因此可將VNC server 及VNC viewer分別安裝在不同的作業系統中進行控制。如果目前操作的主控端計算機沒有安裝VNC viewer,也可以通過一般的網頁瀏覽器來控制被控端。

 
整個VNC執行的工作流程如下: 
(1) VNC客戶端通過瀏覽器或VNC Viewer連線至VNC Server。 
(2) VNC Server傳送一對話視窗至客戶端,要求輸入連線密碼,以及存取的VNC Server顯示裝置。 
(3) 在客戶端輸入聯機密碼後,VNC Server驗證客戶端是否具有存取許可權。 
(4) 若是客戶端通過VNC Server的驗證,客戶端即要求VNC Server顯示桌面環境。 
(5) VNC Server通過X Protocol 要求X Server將畫面顯示控制權交由VNC Server負責。 
(6) VNC Server將來由 X Server的桌面環境利用VNC通訊協議送至客戶端,並且允許客戶端控制VNC Server的桌面環境及輸入裝置。

『VNC的安裝與使用』 
本人的操作環境:被控端 Redhat8.0,主控端Windows XP。 
1. 載VNC Server與VNC viewer. 
VNC Server下載地址:http://www.linuxeden.com/download/softdetail.php?softid=744 
VNC viewer下載地址:http://download.pchome.net/php/dl.php?sid=2603 
2.安裝。 
rpm –Uvh vnc-3.3.6-2.i386.rpm (如果是原始碼請看包裡的說明) 
安裝winvnc.exe 
3.在Linux上啟動VNC Server 
執行vncserver命令: 
[

[email protected] root]# vncserver 
You will require a password to access your desktops. 
Password: ----為了不想任何人都可以任意遙控此計算機。因此當第 
Verify: ---1次啟動VNC server時,會要求設定網路遙控的密碼。 
New ‘X’ desktop is linux:1 ----一定要記住這一行稍後會用到。 
Creating default startup script /root/.vnc/xstartup 
Starting applications specified in /root/.vnc/xstartup 
Log file is /root/.vnc/linux:1.log 
(經上述步驟後,便已啟動了VNC Server。如果你想要更改VNC Server的密碼,只要執行vncpasswd命令即可。)
4.在Microsoft Windows上執行VNC Viewer 
直接執行“vncviewer.exe”,系統會出現”Connection details”對話方塊。 
在“Connection details”對話方塊中的“VNC server”文字框中輸入VNC Server的IP地址(或主機名及顯示裝置編號,(請看3。在Linux上啟動VNC server的這一行,New ‘X’ desktop is linux:1 得到此資訊),例如:192.168.0.1:1(冒號後面的1是執行VNC Server生成的顯示裝置編號),單擊“OK”按鈕後,VNC Server即會開始檢查所輸入的資訊,若是資訊錯誤,系統會出現“Failed to connect to server”的錯誤資訊:若是資訊正確,則會接著出現“VNC Authentication”對話方塊。 
若是在“VNC Authentication”對話方塊中輸入的密碼正確,就可以成功地開啟Linux的桌面視窗。 
5. 從瀏覽器遠端遙控。 
啟動VNC Server 後直接開啟瀏覽器,在位址列中輸入被控端的網址或IP地址,並在網址後加上“:5800+顯示編號”的埠號即可操控該計算機。 
例如:http://192.168.01.:5801 (如果顯示編號為1,一般第一次設定的顯示編號都是1,就用5800+1=5801。)

6.FAQ 
A.為什麼連線後,不能顯示桌面,而只有一個Terminal視窗? 
試著修改/root/.vnc/xstartup,把最後一行 twm& 改成 gnome-session& or kde&(據說KDE在目前的VNC Viewer上的表現不太穩定)

B. 為什麼重新啟動VNC Server後,連線不上了? 
因為重新啟動VNC Server時,系統會指定一個新的顯示編號,需使用此新的編號,否則就無法連線。


2.以 redhat linux 8.0 下面的安裝和使用為例

 Linux 下面利用 vnc 來圖形介面的控制也是非常簡單的。VNC 是由兩部分組成:一部分是客戶端的應用程式(vncviewer);另外一部分是伺服器端的應用程式(vncserver)。

 一、安裝 vnc 的 rpm 包

  1 安裝 linux

  1.1 圖形介面下的安裝要是在 KDE 或者 GNOME 下,直接點選 rpm 包,系統會自動開始安裝。中間還會提示你設 置密碼,埠等。

  1.2 命令列下的安裝。

  下面還是說說命令列下的安裝,其實也是非常簡單的,一個命令就可以了。

  cd /mnt/f/vnc/

  rpm -ivh vnc-3.3.6-2.i386.rpm

  2 設定 vnc server 的訪問密碼

  vncpasswd

  3 啟動 vnc server

  vncserver

  4 linux 上的 vnc server 內定的管理環境是 twm,不好看,也不方便。

  我們來把它改成 KDE。修改 $HOME/.vnc/xstartup這個檔案。把 starttwm 改成 startkde 修改後要重新啟動 vnc server。

  二、遠端連線

  現在你可以在各種平臺下控制 linux 了。伺服器端 (vncserver)還內建了 Java Web 介面,這樣使用者通過伺服器端對其他計算機的操作就能通過瀏覽器(必須支援 Java applet)顯示出來了,這樣的操作過程和顯示方式非常直觀方便。

VNC(Virtual Network Computing)虛擬網路計算工具,本質上來說是一個遠端顯示系統,管理員通過它不僅僅可以在執行程式的本地機上察看桌面環境,而且可以從Internet上的任何地方察看遠端機器的執行情況,而且它具有跨平臺的特性。

Linux 要使用遠端桌面需要安裝VNC,好在Red Hat Enterprise Linux AS 4.0 已經自帶了VNC,預設也已經安裝了,只要配置一下就可以了。但是Windows客戶端還是要安裝的。

VNCServer 配置:
1. 啟動 VNC Server:
     開啟終端執行:vncserver
2. 預設情況下VNC Viewer只能看到 VNC Server的命令列。
    要VNC Viewer上可以看到Linux桌面需要做如下設定:
    在VNC Viewer所在的機器上,取消/root/.vnc/xstartup檔案中下面兩行的註釋即可:
    unset SESSION_MANAGER
    exec /etc/X11/xinit/xinitrc
3. Linux啟動後自動執行VNCServer
     1) 在 系統設定>伺服器設定>服務 中把 vncserver 打勾。
     2) 開啟配置檔案/etc/sysconfig/vncservers,去掉下面這行的註釋,
         VNCSERVERS="1:root"
         VNCSERVERARGS[1]="-geometry 800x600"
        1表示VNC以桌面1執行,這樣可以啟動root的桌面。
4. VNC埠
     如果需要從外網控制內網的某臺Linux,則需要開啟防火牆相應的埠,並在路由器上進行埠對映。
     VNC給瀏覽器的埠是5800+N,給vncviewer的埠是5900+N,N是設定的display號

Windows 客戶端 VNC Viewer 的配置:
1. 從 http://www.realvnc.com/download.html 下載 VNC Free Edition for Windows Version 4.1.2
2. 開啟 VNCViewer :
    填入VNCServer 的IP:編號(1或2或...)
3. VNCViewer 切換全屏模式:F8

VNC啟動模式
 vncserver -geometry 800*600
vncserver -depth 16

網路遙控技術是指由一部計算機(主控端)去控制另一部計算機(被控端),而且當主控端在控制端時,就如同使用者親自坐在被控端前操作一樣,可以執行被控端的應用程式,及使用被控端的系統資源。

   VNC(Virtual Network Computing)是一套由AT&T實驗室所開發的可操控遠端的計算機的軟體,其採用了GPL授權條款,任何人都可免費取得該軟體。VNC軟體 主要由兩個部分組成:VNC server及VNC viewer。使用者需先將VNC server安裝在被控端的計算機上後,才能在主控端執行VNC viewer控制被控端。

   VNC server與VNC viewer支援多種作業系統,如Unix系列(Unix,Linux,Solaris等),windows及MacOS,因此可將VNC server 及VNC viewer分別安裝在不同的作業系統中進行控制。如果目前操作的主控端計算機沒有安裝VNC viewer,也可以通過一般的網頁瀏覽器來控制被控端。

vnc的主要工作原理是在伺服器端執行 vncserver服務,然後在客戶端就可以遠端連線伺服器端桌面了。

本文介紹如何從windows連線linux遠端桌面

安裝和配置
首先要在linux下安裝nvcserver,我的linux是fc6,安裝vnc-4.1.2-9.fc6.i386.rpm,安裝包在附件裡。

在http://rpm.pbone.net/這個網站也可以搜尋到相應的rpm包。
安裝rpm包
[email protected]# rpm -ivh vnc-4.1.2-9.fc6.i386.rpm
然後進入~/.vnc
[email protected]# cd ~/.vnc
編輯檔案 xstartup
遮蔽掉最後一行
#twm &
加上如下語句
gnome-session &
儲存退出

【注】上面這一步是為了能夠在windows上顯示linxu的桌面,否則只看到一個終端視窗。

接下來設定登陸使用者,如果安裝成功,在/etc/sysconfig/目錄下有vncservers檔案。
開啟vncservers檔案,在最後加上
VNCSERVERS="1:root"

好了,再設定vnc遠端登入密碼
[email protected]# vncpasswd

設定完密碼,然後執行vncserver
[email protected]# vncserver

New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log

ok,這臺linux的ip是10.0.0.107,服務會啟動從5801開始遞增的埠

找一臺同一區域網的window機器,然後開啟ie瀏覽器,在位址列輸入
http://10.0.0.107:5801
如果連線成功,輸入密碼後就可以遠端控制linux桌面了。

用瀏覽器登入的畫質不太好,可以用windows下vncview工具直接連線。
下載一個vnc-4.0-x86_win32.zip,附件裡也有。

安裝後,點選選單裡的
VNC Viewer 4 -> vncviewer.exe,輸入ip,如:

按ok進入下一步,輸入密碼便可成功控制linux桌面。猶如開啟linux系統一樣。

讓我們一起學習,共同進步。