在 windows 下使用 Xming+Putty 显示 Linux 下软件图形界面
?
From:?http://www.blogjava.net/ivanwan/archive/2012/04/26/376670.html
From:?http://www.bubuko.com/infodetail-807886.html
?
?
安裝 Xming 和 Putty
?
? ? ? ? 看 Wiki 系統地了解了一下 X Window System。X Window System(常被簡稱為X11或X),是一套基于X display protocol的windowing system,X GUI環境的功能包括窗口的繪制、移動,以及與鼠標、鍵盤等輸入設備的交互。X 協議當前版本為MIT在1987年9月制定的11版----這就是X11的來歷,最新版則是2008年9月發布的X11R7.4。
? ? ? ? X采用C/S模型:一個X server 和多個應用程序(client)通信。server接收client的請求繪制窗口,并將來自鼠標、鍵盤等設備的輸入傳遞給client。
? ? ? ? 初學X的用戶經常被描述如何遠程使用Linux GUI環境的文檔搞糊涂:Linux主機上的應用程序被稱為client,而用戶終端計算機被稱為server,看上去好像說反了。實際上,X是從程序結構而非用戶或硬件環境的角度來描述的,在用戶終端上工作的X server為應用程序提供服務,所以被看作server,而Linux主機上的應用程序接受服務,所以被看作client。
? ? ? ? X server和client可以位于同一計算機上,例如在Linux主機上使用KDE等桌面環境就是這種模式。X server也可以通過同構網絡、異構網絡或Internet與client通信。
? ? ? ? X server與client之間的通信是不加密的,這個問題可以通過SSH解決。SSH是Secure Shell的簡稱,SSH可以看作是通信被加密壓縮版的telnet。我需要用到SSH的forwarding功能,當X server與client所在計算機都支持SSH協議時,X server與client之間不安全的TCP/IP連接可以轉送到(forwarding)二者之間建立的SSH連接上。
? ? ? ? Xming是一個在Microsoft Windows操作系統上運行X Window System(也常稱為X11或X X的工作站)的自由軟件,可用于在Windows運行Linux的程序(需要在本地Windows上運行一個X Server,即是本程序)。
? ? ? ? Linux 以及各種Unix like的操作系統現在都用基于X Window圖形界面。但是由于體積臃腫導致在Linux運行3D游戲十分困難。但是得益于其接口良好、擴展性和可移植性優秀的特點(重要的是具有網絡透 明性),利用它可以很方便的遠程啟動Linux的圖形程序。
? ? ? ? 說了一堆概念,現在可以挽起袖子干活了。
? ? ? ? Linux主機(A, IP: 192.168.1.201)
? ? ? ? Windows客戶機(B, IP: 192.168.1.101)
? ? ? ? 現在做的就是在 B 上安裝一個X server,一個SSH客戶端,在A上啟用SSH的X11 forwarding。
X server我選擇的是Xming,這是一個免費的windows平臺上的X server。需要安裝兩個組件,主程序和字體
Xming X server, Xming-6-9-0-31-setup.exe
Xming Fonts, Xming-fonts-7-3-0-22-setup.exe
?
Xming 用OpenGL展示界面?
Xming-fonts 標準X字體,部分傳統的X應用的顯示也需要這些字體?
Xming-mesa 用更慢的Mesa展示界面, 有時X轉發會更好?
Xming-portable-PuTTY 提供X界面轉發ssh程序?
Xming-tools-and-clients 提供一些X應用專用的工具?
?
通過SSH來使用Xming
?
- 1) 保證Linux server中 /etc/ssh/sshd_config?
- 2) Putty 中 X11 forwarding:?
Putty Configuration-->Preffered SSH protocal version->SSH版本是2.?
Connection-->SSH-->X11-->Enable X11 forwarding,X display location填上localhost:0,下面的協議選擇MIT-Magic-Cookie-1.?
- 3) windows下起linux下的圖形界面?
啟動Xming,"Display number"中的數字,使用默認的0.?
使用 Putty 連接 Linux server,在 putty 終端下運行?
set DISPLAY=10.160.13.229:0(注意:這里IP是Xming安裝程序所在的主機的IP地址,即:X Server的IP地址,這里就是你的windows 的地址,X Client 是 linux 服務器 )?
(DISPLAY 環境變量格式如下hostname: displaynumber.screennumber,我們需要知道,在某些機器上,可能有多個顯示設備共享使用同一套輸入設備,例如在一臺PC上連接 兩臺CRT顯示器,但是它們只共享使用一個鍵盤和一個鼠標。這一組顯示設備就擁有一個共同的displaynumber,而這組顯示設備中的每個單獨的設 備則擁有自己單獨的 screennumber。displaynumber和screennumber都是從零開始的數字。這樣,對于我們普通用戶來說, displaynumber、screennumber就都是0。?
hostname 指 Xserver 所在的主機主機名或者ip地址, 圖形將顯示在這一機器上, 可以是啟動了圖形界面的Linux/Unix機器, 也可以是安裝了Exceed, X-Deep/32等Windows平臺運行的Xserver的Windows機器.如果Host為空, 則表示Xserver運行于本機, 并且圖形程序(Xclient)使用unix socket方式連接到Xserver, 而不是TCP方式.?
使用TCP方式連接時, displaynumber為連接的端口減去6000的值, 如果displaynumber為0, 則表示連接到6000端口;?
使用unix socket方式連接時則表示連接的unix socket的路徑,如果displaynumber為0, 則表示連接到/tmp/.X11-unix/X0 .?
creennumber則幾乎總是0. )?
然后運行gvim,發現 linux下的 gvim 顯示在你的 windows 桌面上了。?
如果出現:?
Xlib: connection to "10.160.13.229:0.0" refused by server Xlib: No protocol specified?
在右下角點擊Xming server的view log,發現有如下消息?
AUDIT: ... Xming: client 4 rejected from IP 10.160.23.18?
這個10.160.23.18正是 linux server 的地址?
?
解決辦法:?
右鍵桌面上的Xming圖標,修改Xming的命令,取消權限控制,使用 -ac 選項:?
C:\Program Files\XMing\Xming.exe :0 -clipboard -multiwindow -ac?
然后啟動 Xming,發現可以在windows下顯示linux的圖形界面了。
?
?
?
總結
以上是生活随笔為你收集整理的在 windows 下使用 Xming+Putty 显示 Linux 下软件图形界面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 跳石板(通俗易懂的思路和方法)
- 下一篇: 网络 IPC 套接字socket