經過X11實現 Linux服務器圖形化界面顯示

背景描述

有些LINUX服務器出於性能和效率的考慮,一般都是沒有安裝圖形化界面的,那麼圖形化程序在服務器上壓根兒就跑不起來,或者沒法直接顯示出來,這就很尷尬了!那麼如何解決這個問題呢?能夠基於X11 Forwarding技術 + MobaXterm 工具,就能夠輕鬆搞定,似不似很簡單?html

原理介紹

2.1 X協議

 

 

Linux 自己是沒有圖形化界面的,所謂的圖形化界面系統只不過中 Linux 下的應用程序。這一點和 Windows 不同。Windows Windows 95 開始,圖形界面就直接在系統內核中實現了,是操做系統不可或缺的一部分。Linux 的圖形化界面,底層都是基於 X 協議。linux

X 協議由 X server X client 組成:服務器

l X server 管理主機上與顯示相關的硬件設置(如顯卡、硬盤、鼠標等),它負責屏幕畫面的繪製與顯示,以及將輸入設置(如鍵盤、鼠標)的動做告知 X clientssh

l X client (X 應用程序) 則主要負責事件的處理(即程序的邏輯)。工具

舉個例子,若是用戶點擊了鼠標左鍵,由於鼠標歸 X server 管理,因而 X server 就捕捉到了鼠標點擊這個動做,而後它將這個動做告訴 X client,由於 X client 負責程序邏輯,因而 X client 就根據程序預先設定的邏輯(例如畫一個圓),告訴 X server 說:「請在鼠標點擊的位置,畫一個圓」。最後,X server 就響應 X client 的請求,在鼠標點擊的位置,繪製並顯示出一個圓。性能

2.2 X11 Forwarding

 

 

這麼繞,有啥意義呢?固然有!spa

許多時候 X server X client 在同一臺主機上,這看起來沒什麼。可是, X server X client 徹底能夠運行在不一樣的機器上,只要彼此經過 X 協議通訊便可。因而,咱們就能夠作一些「神奇」的事情,好比像本文開頭談到的,在本地顯示 (X server),運行在服務器上的 GUI 程序 (X client)。這樣的操做能夠經過 SSH X11 Forwarding (轉發) 來實現。操作系統

X11 中的 X 指的就是 X 協議,11 指的是採用 X 協議的第 11 個版本。.net

2.3 MobaXterm

 

 

MobaXterm 又是什麼鬼?MobaXterm 是一款開源、免費的、全功能終端軟件。它與 PuTTY 相似,但卻比 PuTTY 要強大得多,其中一個很實用的功能就是 MobaXterm 自帶 X Server。這樣咱們就不用勞神地去想怎麼在 Windows 上啓動 X server 了。3d

小結一下,整個實現邏輯就是:

本地機器採用 MobaXterm (自帶 X server) 鏈接遠程服務器。而後,在服務器上運行 GUI 程序 (X client),經過 SSH X11 Forwarding,轉發到本地 (Windows 機器上)

實戰介紹

3.1 服務器端(LINUX7.x

3.1.1 修改SSH配置

[root@linux-template-7 ~]# cat /etc/ssh/sshd_config

X11Forwarding yes

X11UseLocalhost no -- 禁止將X11轉發請求綁定到本地迴環地址上

AddressFamily inet -- 強制使用IPv4通道

3.1.2 重啓SSH服務

[root@linux-template-7 ~]# systemctl restart sshd.service

 

3.2 客戶端(WIN7

3.2.1 安裝MobaXterm 

https://mobaxterm.mobatek.net/download.html

 

 

3.2.2 打開本地終端

 

 

3.2.3 SSH鏈接服務器

 

 

3.2.4 執行xclock程序

已經彈出xclock圖形界面了,似不似很簡單,似不似很Easy,那就一塊兒實踐下吧:)

 

相關文章
相關標籤/搜索