用SecureCRT+Xming輕松遠(yuǎn)程實現(xiàn)Linux的X DISPLAY
在家里的PC上用VMWare做了一個Oracle Enterprise Linux虛擬機做數(shù)據(jù)庫,虛擬機OEL沒啟用圖形界面,因此需要在PC上裝一個X Window Server才能使用GUI。
看Wiki系統(tǒng)地了解了一下X Window System。X Window System(常被簡稱為X11或X),是一套基于X display protocol的windowing system,X GUI環(huán)境的功能包括窗口的繪制、移動,以及與鼠標(biāo)、鍵盤等輸入設(shè)備的交互。X 協(xié)議當(dāng)前版本為MIT在1987年9月制定的11版----這就是X11的來歷,最新版則是2008年9月發(fā)布的X11R7.4。
X采用C/S模型:一個X server 和多個應(yīng)用程序(client)通信。server接收client的請求繪制窗口,并將來自鼠標(biāo)、鍵盤等設(shè)備的輸入傳遞給client。
初學(xué)X的用戶經(jīng)常被描述如何遠(yuǎn)程使用Linux GUI環(huán)境的文檔搞糊涂:Linux主機上的應(yīng)用程序被稱為client,而用戶終端計算機被稱為server,看上去好像說反了。實際上,X是從程序結(jié)構(gòu)而非用戶或硬件環(huán)境的角度來描述的,在用戶終端上工作的X server為應(yīng)用程序提供服務(wù),所以被看作server,而Linux主機上的應(yīng)用程序接受服務(wù),所以被看作client。
X server和client可以位于同一計算機上,例如在Linux主機上使用KDE等桌面環(huán)境就是這種模式。X server也可以通過同構(gòu)網(wǎng)絡(luò)、異構(gòu)網(wǎng)絡(luò)或Internet與client通信。
X server與client之間的通信是不加密的,這個問題可以通過SSH解決。SSH是Secure Shell的簡稱,SSH可以看作是通信被加密壓縮版的telnet。我需要用到SSH的forwarding功能,當(dāng)X server與client所在計算機都支持SSH協(xié)議時,X server與client之間不安全的TCP/IP連接可以轉(zhuǎn)送到(forwarding)二者之間建立的SSH連接上。
說了一堆概念,現(xiàn)在可以挽起袖子干活了。Linux主機(A, IP: 192.168.1.201)和Windows客戶機(B, IP: 192.168.1.101)都已經(jīng)裝好了,我要做的就是在 B 上安裝一個X server,一個SSH客戶端,在A上啟用SSH的X11 forwarding。
-----------------------------------------------
1. 安裝配置B上的X server
X server我選擇的是Xming,這是一個免費的windows平臺上的X server,很好用。
主程序Xming X server, Xming-6-9-0-31-setup.exe
安裝完成后,運行 XLaunch 配置和啟動Xming X server,前面基本都是直接“下一步”,
Display 代表一套 I/O 設(shè)備,包括顯示、鼠標(biāo)、鍵盤;Display Number 就是這套 I/O 設(shè)備的代號;同時 Display Number 還決定了 Xming X server 的 TCP 端口,端口號為 6000 + Display Number。Linux 主機上的應(yīng)用程序通過此端口建立與 Xming X server 的連接。
有一個地方需要注意:最好是勾選“No Access Control”:
否則Linux可能會提示“refused by server”:
Xlib: connection to "192.168.10.8:0" refused by server
Xlib: No protocol specified
Error: Can't open display: 192.168.10.8:0
2.接著在Putty或SecureCRT中啟用“Enable X11 forwarding”即可
現(xiàn)在在工作站執(zhí)行 GUI 程式,就會出現(xiàn)在你的 Windows 桌面上啦!試試xeyes或xev,是不是很好玩?!