Java世界

          學習筆記

          常用鏈接

          統計

          積分與排名

          天籟村

          新華網

          雅虎

          最新評論

          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://gwbn.onlinedown.net/soft/1271.htm

          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 (如果沒有,到這里下載http://www.realvnc.com/download.html,只要一個 exe的文件就行),在Server里輸入localhost:1,見附圖三, 輸入口令后一個linux的桌面就會出現在windows里,并且是非常 安全的,Cool?

          posted on 2008-06-14 09:58 Rabbit 閱讀(630) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 宝坻区| 逊克县| 乾安县| 友谊县| 金乡县| 泗洪县| 航空| 山东| 四子王旗| 达尔| 靖宇县| 汝州市| 房山区| 昭苏县| 安仁县| 南乐县| 通海县| 临沧市| 康乐县| 金沙县| 平罗县| 白玉县| 中方县| 泸定县| 宽城| 宜黄县| 三河市| 汝南县| 邵阳县| 南投县| 大理市| 濉溪县| 梧州市| 阳新县| 北宁市| 蓬安县| 兴义市| 疏勒县| 清徐县| 南通市| 南漳县|