VNC -- 跨平台的 XWindow 解決方案

[VNC for Linux] [VNC for Windows]

參考網址 : http://www.uk.research.att.com/vnc/
本文所提到的軟體都可以連到 http://www.lsi.idv.tw/Download/VNC/ 下載 !!

[VNC for Linux] 

還記得 XWindow 是可以跨 OS 的嗎??RedHat 7.x 以後預設已經將 vncserver 安裝了,只要在 Server 端安裝並執行 vncserver ,就可以將 XWindow 的畫面"拉"到 Windows 裡了!!

方法很簡單

1.安裝 vnc*.rpm

rpm -ivh vnc*.rpm

2.啟動 vncserver

可以將 vncserver 設成開機自動提供服務,不過一來為了 security ,二來不知為何, performance 極差,建議直接執行 vncserver 比較妥當!!

第一次執行時會要輸入設定密碼,可以另外定一組 vnc 專用的密碼,不一定要跟系統的一樣,而且若是用 root 啟動,則別人連線進來就是用 root ,其他 user 依此類推,很方便也很危險,使用時請小心!!

3.到 Windows 環境下連線

方法有兩種,一種可以透過 browser ,另一種則直接用 vncviewer.exe 執行,這裡先介紹用 vncviewer 的方法,因為 browser 的 performance 實在有點慢,受不了!!

3.1 輸入 server 的 ip 及第幾個視窗(啟動 vncserver 可以看到第幾個)

3.2 輸入 vnc 的 passwd ,不是系統 user 的 passwd

3.3 大功告成了!!

 

別覺得奇怪,為何是 GNOME ,跟你的 vncviewer 不一樣,用指定用哪個 XWindow 是設定在 $HOME/.vnc/xstartup 裡

#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session & (==> for GNOME)
startkde & (==> for KDE)

改最後一行就搞定了!!(原來是陽春的 twm &)

4.另外也可以透過 browser 來連結 :

在 Windows 底下開 browser ,輸入網址,再加上 port number : 5801 ,例如

http://192.168.0.223:5801/

輸入密碼之後就可以透過 browser ,從 Windows 使用 Linux 上的圖形介面了!!

另外要特別提醒的是,當你啟動 vncserver 時,會得到下列訊息 :

[root@vm_xxx root]# vncserver

Warning: vm_xxx.xxx.org.tw:1 is taken because of /tmp/.X1-lock
Remove this file if there is no X server vm_xxx.xxx.org.tw:1

New 'X' desktop is vm_xxx.xxx.org.tw:2

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/vm_xxx.xxx.org.tw:2.log

 主要是要提醒 user ,下回得用 IP:2 的方式連結,若是覺得這個訊息礙眼,或者是您希望每次都是出現 1 ,那要如何做到呢??只要刪除幾個檔案就大公告成了

rm $HOME/.vnc/vm*
rm /tmp/.X11-unix/X1
rm /tmp/.X11-unix/X2 (其他依此類推)
rm /tmp/.X1-lock
rm /tmp/.X2-lock (其他依此類推)

下回您重新啟動 vncserver 時,應該會看到以下這段訊息,表示是開在 1 

[root@vm_xxx tmp]# vncserver

New 'X' desktop is vm_xxx.xxx.org.tw:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/vm_xxx.xxx.org.tw:1.log

 


[VNC for Windows]

VNC 可不只在 Linux 下可以用,也可以將 vncserver 架在 Windows 上,其實跟 PCAnywhere , IBMDesktopOnCall 也沒啥兩樣

1.vncserver for Windows 安裝

  將 vnc-3.3.3r9_x86_win32.zip 解壓縮後,執行 setup.exe

2.如果之前有安裝過,vnc建議您先 uninstall 再安裝,另外 NT必須安裝 SP3 以上

3.

4.

5.原本的目錄不太好記,小編自己改了個好記的目錄名稱

6.

7.

8.第一次執行要先執行 "開始"->"程式集"->"VNC"->"Administrative Tools"->"Install Default Registry Settings" (粉重要喔,千萬別忘記了,不然要 reboot 才可以!!)

9.

10.

11.然後將 VNC Server 帶起來執行

12.設定密碼,另外 Accept Socket Connections 選 Auto (還有可以將本地 or remote 端的鍵盤鎖定的功能喔!!)

13.VNC for Windows 版不能自己遙控自己(Linux版可以) ,所以到別台機器開個 browser ,然後輸入 IP + port number 5800 http://192.168.0.220:5800/ (注意 , Windows 版的 port number 是 5800 ,Linux 版的是 5801 )

14.然後就可以在別台 Windows 底下 Remote Control 別台 Windows 了!!

15.但是只允許一個連線,若是第二個連線時,則會將第一個連線踢掉,第一個連線會看到以下畫面(不知道是 bug 還是故意的,怪怪的!!)

16.講了半天,可沒忘記 Linux 的存在喔,也可以透過 Linux 來 remote control Windows ,以下是使用 vncviewer , 輸入 192.168.0.220:0 

17.當然也可以使用 browser 囉,開個 Linux 下的 browser ,然後一樣輸入 http://192.168.0.220:5800/ ,詢問密碼之後就可以看到了!!

 

若想要讓 VNCServer 開機自動執行,請將 "Run WinVNC (App Mode)" 複製到 "啟動" 的目錄下就可以了!!

 

用到這邊還沒搞混的人,相信您已經功力爐火純精了!!

 

 

 

Good luck!!