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)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 漾濞| 许昌县| 桑植县| 泸西县| 柘城县| 阳高县| 望谟县| 崇义县| 宝鸡市| 秀山| 永定县| 衡阳县| 邯郸县| 大庆市| 龙泉市| 仙游县| 泰州市| 阿拉善盟| 林西县| 定西市| 广安市| 鄄城县| 崇文区| 千阳县| 虞城县| 津南区| 封开县| 包头市| 松潘县| 宝清县| 内江市| 辽中县| 龙山县| 长岭县| 广东省| 定襄县| 奉化市| 上高县| 桂阳县| 渝中区| 宾川县|