linux VNC 配置

franklynzhou發表於2011-07-21


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


『VNC簡介』
網路遙控技術是指由一部計算機(主控端)去控制另一部計算機(被控端),而且當主控端在控制端時,就如同使用者親自坐在被控端前操作一樣,可以執行被控端的應用程式,及使用被控端的系統資源。
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的桌面環境及輸入裝置。[@more@]

『VNC的安裝與使用』
本人的操作環境:被控端 RH 3,主控端Windows 2003。
1. 載VNC Server
[oracle@jumper]$ wget
--10:34:32--
=> `vnc-4.0-x86_linux.tar.gz'
Resolving done.
Connecting to [83.170.68.194]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,625,390 [application/x-gzip]

100%[==============================>] 1,625,390 52.67K/s ETA 00:00

10:35:04 (52.67 KB/s) - `vnc-4.0-x86_linux.tar.gz' saved [1625390/1625390]


2.安裝。
vnc-3.3.7-x86_linux.tar.gz (如果是原始碼請看包裡的說明),當下載了VNC的Linux版本後,可以解壓檔案到一個資料夾中,例如/home/vnc,然後複製檔案 vncserver、 vncpasswd和Xvnc到/usr/bin目錄中。假如想要能夠透過VNC伺服器的整合Java介面遠端控制Linux電腦,也得需去建立一個子目 錄/usr/local/vnc/classes。在建立此子目錄之後,複製VNCJava.class檔案到此目錄中。(一般redhat 9.0自帶以上檔案,所以直接用終端執行就可以)。

[root@xcorder ]# tar -xvf vnc-4.0-x86_linux.tar
vnc-4.0-x86_linux/
vnc-4.0-x86_linux/vncinstall
vnc-4.0-x86_linux/Xvnc
vnc-4.0-x86_linux/vncviewer
vnc-4.0-x86_linux/vncserver
.....
vnc-4.0-x86_linux/java/vncviewer.jar
[root@xcorder ]# cd vnc-4.0-x86_linux


[root@xcorder ]# ./vncinstall /usr/local/bin
Can't install manual pages to /usr/local/man/man1
Copying Xvnc to /usr/local/bin
Copying vncviewer to /usr/local/bin
Copying vncpasswd to /usr/local/bin
Copying vncconfig to /usr/local/bin
Copying vncserver to /usr/local/bin
Copying x0vncserver to /usr/local/bin
[root@xcorder ]# mkdir -p /usr/local/vnc/classes
[root@xcorder ]# cp java/* /usr/local/vnc/classes


3.在Linux上啟動VNC Server
執行vncserver命令:
[root@linux 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. 從瀏覽器遠端遙控。
啟動VNC Server 後直接開啟瀏覽器,在位址列中輸入被控端的網址或IP地址,並在網址後加上“:5800+顯示編號”的埠號即可操控該計算機。
例如:http://192.168.01.:5801 (如果顯示編號為1,一般第一次設定的顯示編號都是1,就用5800+1=5801。)

如果看到視窗,就說明你成功,在密碼框輸入密碼,就能遠端控制了。



5.FAQ
A.怎樣確認埠已經正常啟動?
[root@xcorder ]# netstat -an|grep 01
tcp 0 0 0.0.0.0:5801 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN
.....

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

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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10455206/viewspace-1052832/,如需轉載,請註明出處,否則將追究法律責任。

相關文章