VNC的使用

VNC的使用

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的桌面環境及輸入裝置。

『VNC的安裝與使用』
本人的操作環境:被控端 Redhat9.0,主控端Windows XP。
1. 載VNC Server
VNC Server下載地址:http://www.cf91.com/download.asp?id=701&dp=1&fid=7

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自帶以上文件,所以直接用終端執行就可以)。
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命令即可。)

5. 從瀏覽器遠程遙控。
啓動VNC Server 後直接打開瀏覽器,在地址欄中輸入被控端的網址或IP地址,並在網址後加上“:5800+顯示編號”的端口號即可操控該計算機。
例如:http://192.168.01.:5801 (如果顯示編號爲1,一般第一次設置的顯示編號都是1,就用5800+1=5801。)

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

6.FAQ

A. 如何以圖形界面登錄被控端?

編輯~/.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" &
gnome-session &
startkde &
twm &

gnome-session是啓動Gnome圖形界面;startkde是啓動KDE圖形界面;twm是啓動文本界面。三者選其一。

A. 如何開機時自動啓動vnc服務

打開“系統設置”-->"服務器設置"-->"服務",勾選上vncserver,“保存”。

修改 /etc/sysconfig/vncservers

VNCSERVERS="1:root 2:phred 3:sysadmin" 1代表“桌面1”,root代表用戶名;可同時啓動多個用戶桌面
VNCSERVERARGS[1]="-geometry 800x600 -alwaysshared -depth 24"

-alwaysshared代表允許多用戶同時登錄 -depth代爲色深,參數有8,16,24,32。


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

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

--------------------------------------------------------------------------------------------------------------------------------

查看vnc已啓用的桌面號及監聽進程

[root@linux /]# netstat -tlnp |grep vnc

vncserver 命令帶有一些很有用的參數,用vncserver --help 查看。
簡單解釋一下:
vncserver [:] [-name ] [-geometry x] [-depth ]
[-pixelformat format]
vncserver -kill :display

:
vnc服務的display號,可以自行指定,儘量不要使用系統默認的以保證安全,必須爲非0的正整數
vncserver :99
使用時必須輸入正確的display號才能連接;用瀏覽器要在端口號加上display號,默認端口5800,遠程連接輸入 XXX.XXX.XXX.XXX:5899

-name 指定vncserver桌面名字
比如要讓名字顯示爲 “紅帽”
vncserver -name 紅帽

-geometry x指定顯示桌面的分辨率,默認爲1024x768
vncserver -geometry 800x600
這個命令實際中很有用,例如本地分辨率爲1024x768 如果不設定遠程vnc服務分辨率就會造成桌面顯示不全的問題。

-depth 指定顯示顏色,設定範圍8~32
vncserver -depth 16
用16bits顏色顯示

-pixelformat 指定色素格式 與-depth大致相同,只是表示方法不一樣
vncserver -pixelformat RGB888
用24bits顏色顯示

vncserver -kill :display
結束vnc服務及遠程桌面
vncserver -kill :1
其它更詳細的使用請用man查看。

vnc內定的窗口管理器是twm與大家使用的可能不同,通過修改vnc的配置文件可以更換爲自己喜歡的,方法如下:
修改用戶目錄下的 .vnc/xstartup 文件
#!/bin/sh
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
將#!/bin/sh後面的內容全部註釋掉,改成
~/.Xclients
保存文件
現在可以測試修改是否成功,先kill vncserver服務
vncserver -kill :

pa aux|grep Xvnc
kill PID
重新啓動vncserver ,用vncviewer連接遠程桌面是不是已經變成自己喜歡的類型了。

在前面有vnc server 設置的文章(http: //bbs.chinaunix.net/forum/viewtopic.php?t=368552&highlight=yunqing) 裏, 我們已經可以在一個linux的服務器上運行vncserver來進行遠程訪問了,但需要注意的是,如果直接使用vncviewer來進行訪問,有 兩點不利因素:
1. 口令傳輸是明文,很容易被偵聽到.
2. 防火牆需要打開59xx端口,這在通常的單位裏是不可能的.
幸運的是,我們有ssh這個強大的工具,象X11 Forwarding(另文論述),我們可以使用ssh隧道來保護通訊過程,下面就進行簡單介紹.

假設vncserver運行在服務器 myserver (ip地址爲:192.168.x.x)的屏幕1,也就是偵聽 192.168.x.x:5901, 用戶名爲foo

情形一: vnc客戶端爲linux
這種情形很簡單,一般的linux發行版本里面都默認安裝了ssh套件.
1. 用ssh登錄到服務器

ssh -L 5901:localhost:5901 -l foo myserver

或者直接用ip地址

ssh -L 5901:localhost:5901 -l foo 192.168.x.x

2. 在本機的另外開的終端上,運行vncviewer (或其它的類似工具)
vncviewer localhost:1

情形二: vnc客戶端爲windows
1. 下載一個ssh客戶端,個人推薦putty,只有一個程序,不需要安裝,簡單而功能齊全. 到這裏下載http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
下載putty.exe到桌面上直接運行即可。
2. 運行putty,輸入服務器的ip地址,輸入一個名字,這裏myserver作爲session的名字,按save保存。見附圖一
3. 單擊對話框左邊的tunnels來選擇相關設置,在source port裏輸入5901,在Destination裏輸入localhost:5901,按Add添加,如附圖二
4. 單擊左邊session,回到session設置,按save重新保存。按open即可登錄到服務器。
5. 運行vnc-viewer ,在Server裏輸入localhost:1,見附圖三, 輸入口令後一個linux的桌面就會出現在windows裏,並且是非常 安全的,Cool
 

 

 

 

vnc的使用(二)

從Windows訪問RedHat Linux桌面要使用的軟件是RedHat Linux自帶的vnc ,vnc就是vitual network computing的縮寫,它支持許多操作平臺,甚至可在瀏覽器中操作。

1。首先要在 Linux 端檢查是否安裝vnc server (一般 Red Linux 9 自帶,但不是默認選項):
“開始”-“系統設置”-“添加/刪除應用程序”-“網絡服務器” -“細節”-“vnc-server”
一般情況下要安裝vnc-server必須先安裝包括“kdeadmin”的“KDE桌面環境”;

2。設置VNC服務並啓動VNC服務。
     1>首先我們通過RedHat的終端來配置VNC服務。進入終端後輸入“VNCserver”後回車,隨後輸入需要進入遠程桌面的密碼並回車。接着在終端中輸入要在VNC中顯示的區域客戶端號,命令爲“VNCserver: 1”,即表示在VNC客戶端使用一號區來顯示桌面。到此爲止VNC服務端就配置好了。
    2>爲了檢查VNC服務是否啓動,我們可以打開RedHat中的“開始”-“系統設置”-“服務器設置”中的“服務”窗口來檢查VNCserver是否啓動,如果你看見在“狀態”框中顯示的是“XVNC(pid2157) is running...”,那麼就說明VNC服務已經啓動,你可以進行遠程桌面的訪問了。通常說來當你完成上面的配置後vncserver就自動啓動了,如果沒有我們就在“服務”窗口中點擊“開始”即可。
     到此爲止RedHat中的VNC服務就全部配置完成了。

3。安裝nt版的vnc
下載地址:
http://www.realvnc.com/download.html
1)安裝
解開vnc-3.3.3r7_x86_win32.zip包後,會產生winvnc和vncviewer兩個目錄.winvnc目錄中是vnc server的安裝程序,vncviewer目錄中是vnc client的安裝序.我只關心vnc server,在winvnc目錄中執行setup即可.
2)設置
首先執行install default registry settings.
run winvnc(app mode)就是執行vnc server
這時可看到winvnc運行的小圖標,用鼠標右鍵點擊圖標,在properties/incoming connections中設定密碼.默認配置即可.
我們可以在Windows中連接RedHat的遠程桌面。要連接RedHat的桌面我們需要到安裝了VNC客戶端的Windows中打開VNC客戶端連接窗口在連接窗口中輸入RedHat的IP地址和區號,
例如主機IP爲172.18.2.78,區號爲2 則輸入:
   172.18.2.78:2
點擊“確定”後輸入RedHat中設置的密碼,等待片刻後就可以看到RedHat的桌面了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章