Xming + PuTTY 在Windows下遠程Linux主機

來源:互聯網
上載者:User

標籤:

Xming + PuTTY 在Windows下遠程Linux主機

一、原理
    Linux/Unix的X Window具有網路透明性。X Window系統裡有一個統一的Server來負責各個程式與顯示器、鍵盤和滑鼠等輸入輸出裝置的互動,每個有GUI的應用程式都通過網路通訊協定與Server進行互動。所以對於任何一個應用程式,本地運行和遠程啟動並執行差別僅僅是X Server的地址不同,別的沒有差別。所以在Windows運行一個X Server,就可以很方便的遠程運行有GUI的Linux應用了。同時,OpenSSH具有X轉寄功能,可以將Linux主機的X程式通過SSH的管道轉寄給用戶端。於是,通過PuTTY到主機,再將接收到的由主機轉寄來的X程式的互動交給在本地Windows系統下啟動並執行X Server來管理和顯示,原則上說,這就可以實現遠程使用Linux的GUI程式。

    主機上需要的配置:
    #vi /etc/ssh/sshd_config

    取消這一行的注釋——如果沒有這一行則手動添加之:
    X11Forwrding yes

    這樣配置的作用就是允許SSH的X轉寄。其實本質上說,這樣做是有一定安全風險的,SSH並不能絕對的保證你資料的安全性,不過,一般情況下,這也夠了。

    二、安裝Xming
    需要在本地Windows上運行一個X Server。選擇有很多:Cygwin下的X Server恐怕是最著名的,但是為了這麼一個小小的事情去安裝一個“相對巨大”的Cygwin,似乎有些誇張;除了Cygwin,還有兩個著名的商業軟體可以選用,Xwin32和Xmanager,上學期IC實驗用的就是Xmanager,感覺很流暢很好用,不過,雖然Xmanager可以試用,但是終究還是商業軟體;還有一個選擇,就是這裡要講的,開源軟體Xming。

    下載Xming-setup.exe(最新的版本是6.9.0.31),在本地安裝。第一次運行時使用開始菜單裡面的XLaunch來啟動,產生一個初始的設定檔。對於簡單的使用來說,不需要任何特殊的配置,一切使用預設即可。Xming的具體配置和使用可以參考Xming的Manual。需要記住的是中標示出的“Display number”中的數字,此處使用預設的0。

    啟動完成後,在托盤區會出現一個“X”形狀的表徵圖,這表示Xming已經在運行了,將滑鼠移至上方上去,能看到當前使用的“Display number”。

三、配置PuTTY
    Windows下有很多支援SSH/Telnet等遠程登入協議的用戶端,比如SecureCRT、XShell、PuTTY等,甚至大家用來登入BBS灌水用的FTerm都帶有SSH的功能,只不過不如PuTTY這樣的軟體專業和強大罷了。

    我用的是著名的免費的PuTTY,相信很多人的選擇也跟我一樣。因此,就不再贅述PuTTY的配置和使用了。這裡要說的,是添加PuTTY對X轉寄的支援。運行PuTTY,在配置介面,選擇“Connection-SSh-X11”,選中“Enable X11forwarding”,“X display location”中填上上一步中“Display number”中的數字(此處就是“localhost:0”)。

    然後串連登入遠程主機,看上去一切正常的樣子。

    四、問題及解決之道
    於是試著運行一下emacs吧!嘿!圖形介面果然出來了,只是,咋看不到文字,全是些方塊啊?

    看看終端的輸出資訊:
    -bash-2.05b$ emacs
    Warning: Cannot convert string "-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*" to type FontStruct
    Warning: Cannot convert string "-*-helvetica-medium-r-*--*-120-*-*-*-*-iso8859-1" to type FontStruct

    哦,原來是Xming沒有相應的字型!

    去Xming的首頁查查manual,可以為Xming添加Windows的系統字型,也可以使用Xming提供的字型。

    使用Xming提供的字型是很簡單的,從Xming的SourceForge頁面下載xming-fonts-setup.exe(最新版本是7.3.0.15),安裝到Xming的安裝路徑下即可。我的Xming安裝路徑是D:\Program\Xming\,則安裝字型之後的字型路徑就是D:\Program\Xming\fonts\。經測試,這樣安裝字型後,運行emacs字型能正常顯示了。

    如果不想安裝字型,自然也可以讓Xming使用Windows的系統字型。可是怎麼配置呢?

    還記得Linux下是怎麼添加字型的嗎?對了,要為字型產生cache檔案,使用的工具就是mkfontscale。

    為此,從Xming的SourceForge頁面下載Xming-tools-and-clients,解壓縮到Xming的安裝路徑。切換到Windows的的cmd(命令提示字元),cd到Xming的目錄,執行以下命令:

    >mkfontscale C:/WINDOWS/Fonts
    >mkfontscale -b -s -l C:/WINDOWS/Fonts #ignore the ‘Couldn‘t...fon‘ messages

    然後編輯|Xming安裝路徑下的font-dirs檔案,添加字型路徑:
    C:\WINDOWS\Fonts

    記住:雖然是在Windows下,注意區分大小寫仍然是個好習慣。

    OK!再來試試,嘿,這下子emacs是不是正常多了呢?

    小小的Tips:用你的防火牆阻止Xming訪問網路。因為,這樣的一個X Server本質是不安全的,而且,你並不需要它連網,因為你只是在本機使用而已。

    感受:Xming總體來說還是不如Xmanager,啟動並執行流暢程度還是有不小的差距,尤其是滑鼠的移動,感覺一頓一頓的,縱然是在區域網路內,情況也沒有好特別多。

 

 

PuTTY + Xming 遠程使用 Linux GUI By zw1840 on October 28, 2008 10:01 AM | No Comments | No TrackBacks

    在家裡的PC上用VMWare做了一個Oracle Enterprise Linux虛擬機器做資料庫,虛擬機器OEL沒啟用圖形介面,因此需要在PC上裝一個X Window Server才能使用GUI。

    看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串連上。

    說了一堆概念,現在可以挽起袖子幹活了。Linux主機(A, IP: 192.168.1.201)和Windows客戶機(B, IP: 192.168.1.101)都已經裝好了,我要做的就是在 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
  • Xming Fonts, Xming-fonts-7-3-0-22-setup.exe

 

 

 

   

    運行XLaunch配置Xming X server,將配置儲存為.xlaunch 檔案。使用預設設定即可。

    Display 代表一套 I/O 裝置,包括顯示、滑鼠、鍵盤;Display Number 就是這套 I/O 裝置的代號;同時 Display Number 還決定了 Xming X server 的 TCP 通訊埠,連接埠號碼為 6000 + Display Number。Linux 主機上的應用程式通過此連接埠建立與 Xming X server 的串連。

 

       將配置儲存為Xming.display.0.xlaunch。雙擊此檔案就能啟動X server,系統欄裡多了一個Xming的表徵圖。

2 安裝配置B上的SSH

    SSH用戶端使用PuTTY,PuTTY是freeware+greenware,就一個exe檔案。

 

配置 Session:配置主機IP,串連方式為SSH

Connection\Data:儲存串連使用的使用者名稱

Connection\SSH\X11:Enable X11 Forwarding,X display Location 為 localhost:0,這裡的 0 就是配置 Xming X server 時指定的 Display Number。

 

 

儲存設定為 VSERVER01。

3 配置A上的SSH

    要允許Linux主機上的SSH X轉寄,查看 /etc/ssh/sshd_config 檔案,加入以下一行,

X11Forwrding yes

    至此配置完成。在B上使用PuTTY串連到A,輸入xclock &,可以看到X server工作的效果了。

 

參考

【1】X Window System
http://en.wikipedia.org/wiki/X_Window_System

【2】SSH

http://en.wikipedia.org/wiki/Secure_Shell

【3】Xming http://www.straightrunning.com/XmingNotes/    【4】PuTTY http://www.chiark.greenend.org.uk/~sgtatham/putty/   【5】Putty + Xming 方便的遠程Linux GUIhttp://cluno.blogspot.com/2007/04/putty-xming-linux-gui.html   【6】Xming + PuTTY 在Windows下遠程Linux主機使用圖形介面的程式
http://hi.baidu.com/mooncold/blog/item/8e0dfddc4f29a3a4cd11663a.html Tags:
  • Freeware,
  • Unix
No TrackBacks

TrackBack URL: http://www.zw1840.com/mt/mt-tb.cgi/8

Leave a commentSign in to comment.

Xming + PuTTY 在Windows下遠程Linux主機

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.