第二章:X-window 的極致運用
晚上9:51 | Author: Unknown
善用 Ubuntu JeOS 為企業架設雲端服務系統


第二章:X-window 的極致運用


安裝 X-window Client 系統

在上一章節當中,筆者利用 「Easyvmx」與「VMware Player」為各位讀者介紹 Ubuntu JeOS 8.04 LTS 的安裝方式,以及如何利用 SSH 加密連線方式與 JeOS 進行連線溝通,那麼,讀者們接下來一定會納悶,這樣輕量化的系統,什麼都沒有,能夠為我們做些什麼?又能夠為企業提供怎樣的服務?

面對諸多功能完善,應用系統整合的 Linux 套裝系統而言, JeOS 的確是無法與之相較,不過,也因為如此,更顯得 JeOS 高度的可塑性與無限的可能性。

針對企業內部服務的使用者,一般來說可以大致分為三大類:

1、一般使用者:如行政人員,客服人員,最常使用的多為文書作業軟體,或是網業服務系統
2、程式開發人員:程式編輯器,如 UltraEdit 、NetBean ,及測試環境,如終端機、Apache ,或是 Tomcat
3、系統管理人員:系統狀態監控、網路連線狀態檢測程式等

一般的 Linux 系統,安裝完成之後,就可以提供大部分的服務給上述的三種使用人員,不過,這樣延伸的問題在於系統提供的服務過於複雜,容易造成安全性上疑慮與系統管理監控上的困擾。

而 JeOS 就可以避開這樣的困擾,達到專工專用的設計,針對不同的族群,提供專用的系統服務,這樣可以達到以下的優點:

1、系統服務單一,提升系統穩定性與安全性
2、簡化系統管理與加速障礙排除

不管使用者屬於何種類別,大部分除了系統管理員之外,鮮少會有使者在終端機命令模式下作業,即使是程式開發人員,多數的程式開發套件,大多依靠 GUI 介面,也就是一般所謂圖形化介面的開發環境,而在 Linux 的架構之下,要有 GUI 介面,就需要先有 X-window 的系統架構。

X -window 是一套軟體視窗系統,也是所有圖形化介面的基礎,不過在這邊並不打算向各位讀者詳述其運作流程,畢竟如何安裝與使用才是本章節的重點。OK,前面提到,大部分使用者的操作軟體、工作環境,都需要在視窗環境之下,所以,為 JeOS 安裝 X-window 則是首要步驟!

首先,利用 Putty 登入 Ubuntu JeOS 之後,請輸入以下指令,若系統提示輸入密碼,請輸入登入系統時的密碼,如下圖:

jeos@JeOS:~$ sudo apt-get install xbase-clients



密碼確認無誤之後,系統便會開始連上套件資料,搜尋套件與相依性套件、函示庫(註1),搜尋完成,會回應訊息到終端機畫面之上,顯示欲安裝或需要升級之相關套件資訊,並詢問是否需要繼續執行安裝步驟,輸入〝y〞之後,按下輸入鍵(Enter)繼續執行:


按下輸入鍵之後,系統便會進行套件下載與更新的動作:


更新完成,系統便會回覆更新資訊與結果,並在終端機上呈現訊息給各位讀者:




註1:
Linux 套件的安裝模式與 Windows 安裝軟體的過程有所不同,對 Linux 來說,套間之間會有所謂相依性的問題,簡單來說,若套件(或函示庫)A 與 B 之間存在相依性的關係,若要安裝套件 A ,則系統內必須存在套件 B ,否則套件 A 將會無法安裝。



SSH 加密連線與 X-window Client 的完美組合

OK,系統已經提示 X-window(xbase-client)已經安裝完成,不過,我們並沒有安裝任何的 X-server 的套件(註1),只有 Putty ,要如何驗證 X-window 是否可以正確執行呢?

Xming(註2),這是一套 Windows 版的 X-server 軟體,可以輔助 Putty ,利用 X-window 呼叫出視窗介面,除了設定簡單(基本上根本不需要設定...)之外,另外一個重點,就是 Xming 是一套 Free 的軟體!

Xming 的首頁如下:



簡單的首頁,只有簡單的介紹,請直接點選紅框所示的區域,進入下載頁面:


在這邊需要下載兩個套件,分別是「Xming」與「Xming-fonts」(紅框所示),下載之後,請依照下列流程,將兩個套件依序安裝到個人電腦 之上!

先安裝 Xming-6-9-0-31-setup 這個主要套件,依照指示,只需要一直按【Next】,維持預設設定即可,唯在看到以下設定頁面時,請注意,是否如下圖所示的設定:


接著安裝 Xming-fonts-7-3-0-18-setup 這個套件,此套件為提供顯示 Linux 圖形化介面所需的字型,如同上述一般,一直按【Next】即可,不過,看到此選項頁面時,建議依照預設值即可,不需要安裝所有的字型:


安裝完成,依照【開始】→【所有程式】→【Xming】→【Xming】,啟動此程式(此以 Windows XP 執行路徑為範例),基本上,第一次執行時, Windows XP 會跳出如下的安全性警示圖示,請按下 「解除封鎖」,讓 Xming 可以與透過 Windows 防火牆與外界溝通:


解除防火牆之限制之後, Xming 就會啟動,並常駐在系統之中,而看到系統列右下角出現如紅色圈圈圖示,就表示程式已經啟動了:


接著,讓我們利用 Putty 並搭配 Xming ,將 SSH 加密遠端連線的應用發揮到極致!

啟動 Putty ,進入【Session】的設定頁面,在「Host Name (or IP address)」的選項,請填入 Ubuntu JeOS 的 IP(以 192.168.200.200 為範例),並確認連線的 『Port』為 22,這是 SSH 連線專用的連線埠,接著在『Saved Sessions』內填入這個連線設定檔的簡稱,在此以「 JeOS_Test」 為例,還先不要急著按下【Open】,先按下左方【Connection】的 〝+〞(如果選項已經展開,則會顯示〝-〞),接著作後續進階的設定:


依循【Connection】→【SSH】→【X11】點開,勾選『Enable X11 forwarding』,並在『X display location』中填入「localhost:0」,如下圖:



輸入完成,回到【Session】的設定頁面,按下【Save】儲存所有設定之後,再按下【Open】進行連線,並輸入合法的帳號與密碼,以登入 Ubuntu JeOS 主機:


登入之後,你也許會納悶,這樣跟一般 SSH 登入有何不同?不是一樣都在終端機的文字介面嗎?別緊張,好戲現在才要開始!


還記得在之前的步驟之中,已經在 Ubuntu JeOS 的系統之上安裝了 X-window ,這已經包含一些基本 X-window 的套件,我們就簡單的利用這些套件當作基礎範例,示範如何透過 Putty 與 Xming 的組合,呼叫遠端伺服器的視窗套件!


OK,直接在已登入的終端機,輸入以下指令,並按下 Enter :


jeos@JeOS:~$ xclock(這是一個視窗介面的時鐘)



顯示視窗的反應時間,取決於系統本身的硬體速度與網路傳輸的速度,不過由於 xclock 是一個很小的視窗套件,所以基本上應該一下子就會將視窗顯示在終端機面前,如下圖:


有沒有看到,原本應該是要完整以視窗模式登入系統,或是藉由如 VNC 等 X-Server 的軟體,登入桌面系統之後,才能顯示的視窗套件,如今藉由 Putty 與 Xming 的整合應用,就能忠實呈現幾近所有的視窗功能,堪稱絕佳的搭配組合!

這代表什麼?這代表,只要你知道你要執行的圖形化程式的執行檔名稱(或呼叫指令),利用此模式,讀者們就可以輕易的呼叫出此程式,進行任何的作業!而且,記住,這邊完全沒有用到任何 VNC ,或是類似 VNC 的輔助程式,完全都是在 SSH 的模式下運作,而這有什麼好處?

1、SSH 是開放的標準,任何的 Linux 的主機預設都會安裝(JeOS 例外,不過卻可快速執行安裝)
2、Server 完全不需要做任何額外的設定,只要有開機,就可以連線
3、安全性較高,且單一,因為 SSH 連線本身就是一種加密性傳輸,且只需要開放單一的 Port 即可
4、減輕系統與網路管理員的負擔
5、執行效能較高
6、使用方便,且無須再額外支出任何軟體費用



註1:
X-window 是一種藉由 X-server 與 X-client 相互搭配的主從架構,不過,在這邊所稱的 X-server 與 X-client 與一般常稱的 Server 與 Client 是有所不同的; X-server 主要是負責圖像的處理與呈現,像是圖形化的視窗介面,而 X-clinet 則主要是負責處理 X-server 上的任何動作,如滑鼠的動作與定位。

註2:
Xming 一套可以在 Windows 系統上執行 X-window 系統的軟體,早期版本均是採取 GPL 的授權方式,可以自由下載使用,不過新的版本已經改變了授權方式,不再提供 GPL 授權方式的版本;本處範例所操作的版本,則是採用GPL 授權的最終版本。



X-window 的極致運用(安裝應用工具與中文輸入系統)

經由上述範例,已經知道可以在不安裝桌面環境套件的條件下,利用 Putty 與 Xming 的組合,並搭配 X-window Client - Server 的運作原理,成功的呼叫圖形化程式到使用者的面前,不過,這似乎還感受不到 Putty 、 Xming 與 X-window 強大威力,讓人不免有些興致缺缺的~

的確,這樣的介紹似乎有點簡單!OK,還記得前面提到,針對企業內部服務的使用者,一般來說可以大致分為三大類:一般使用者、程式開發人員與系統管理人員,這邊就以一般使用者與程式開發人員為例,介紹如何將 X-window 的使用發揮到淋漓盡致!

對程式開發人員來說,最重要的,就是一套上手的程式編輯器,除了最基本在終端機介面之下的編輯器之外(如 vim),大部分的程式編輯器,都是圖形化的視窗介面,如在 Windows 系統之中,最耳熟能詳的,大概就屬 UltraEdit 這一套軟體,而對許多 JAVA 程式開發人員來說,除了 UltraEdit 之外,不外就是 Eclipse 或是 NetBeans 這兩套 IDE 介面的開發軟體,而這些軟體,都有一個共通點,就是均為圖形化介面的開發環境。

對一般 Linux 系統來說,安裝 Eclipse 或是 NetBeans 或許不事問題,但是若是要使用,就非得藉由如 VNC 等遠端桌面軟體來登入桌面系統之後,才能開啟使用,不過,這顯然有一些問題需要突破與思考:

1、Client 與 Server 端都需要另外安裝軟體(以 VNC 為例),增加使用上的麻煩
2、Server 端需要額外進行連線方面的設定,降低使用上的彈性
3、防火牆需要針對 VNC 連線開放特定的連接埠,增加系統危險性

由於以上這些問題,所以程式開發人員往往偏好在自己的電腦前將程式撰寫完成,再丟到 Server 上去測試程式是否可以運作,這還算是小 case ,若是網頁資料庫開發人員,免不了就會在自己的電腦上安裝 Apache 、 MySQL 甚至是連 Tomcat(JAVA 網頁程式開發套件)都安裝上去,簡直是把自己的桌上型電腦當作 Server 來使用!而這也延伸了以下的問題:

1、閒置 Server 資源與拖慢桌上型電腦的執行速度
2、開發環境與實際運作環境上的差異,影響程式的運作與效能(如路徑、函示庫或是版本差異)
3、資料遺失的風險(如果桌上型電腦沒有妥善的備份機制,或良好的備份習慣)

為了減輕各位的負擔,減少個人PC 的負載,以及善用 Server 上的資源,就讓我們將 X-window 的應用發揮到極限吧!

OK,對一般程式開發人員來說,程式編輯器是不可或缺的,在這邊示範安裝一個簡易的編輯器,並透過 Putty 與 Xming 的搭配,呼叫此編輯器並將圖形化介面的視窗呈現到使用者的面前。

首先輸入以下指令,來安裝 GTK 應用工具(編輯器 gedit ),
若系統提示輸入密碼,請輸入登入系統時的密碼,如下圖:

jeos@JeOS:~$ sudo apt-get install gedit-common


按下輸入鍵之後,系統便會進行套件下載與更新的動作,安裝完成,系統便會回覆資訊與結果,並呈現結果訊息在終端機上:

接著繼續輸入以下指令,以安裝另外的套件,如下圖:

jeos@JeOS:~$ sudo apt-get install gedit-plugins



這個套件需要安裝的相依性套件與函示庫比較多,輸入〝y〞之後,按下輸入鍵(Enter)繼續執行:

由於要安裝的套件較多,所以需要一點時間,這取決於網路速度與系統本身的反應;安裝完成,系統會提示訊息於終端機之上,如下圖:

接著測試看看 gedit 是否可以運作,請直接在終端機下輸入以下指令直接呼叫並啟動 gedit :

jeos@JeOS:~$ gedit


初次啟動,系統會先進行一些初始化的動作,需要一些些時間,不過由於 gedit 的程式並不大,所以編輯器的畫面一下子就可已呈現到電腦桌面的視窗之前,如下圖:

不要懷疑,這可不是一張靜態的圖片,而是真真正正可以對此編輯器進行各種偏好設定,甚至在上面撰寫程式、存檔,甚至測試:



不過,介面看起來似乎有點怪怪的,安裝系統時,不是已經設定系統語系為中文了嗎?軟體介面怎麼還是英文的呢?

別擔心,這實在是因為 X-window 並沒有安裝中文語系的套件,所以才無法顯示中文選單,這與系統預設語系是沒有直接相關的!

除此之外,不知道各位讀者有沒有注意到,在編輯介面,並無法輸入中文,即使在本機啟動中文輸入法,也無法在編輯介面輸入任何中文字,真的是非常奇怪的一件事(註1)!

不囉唆,就直接為 X-window 視窗安裝中文語系的套件,與可以使用的中文輸入法;請輸入以下指令,安裝 Scim 輸入法,若系統提示輸入密碼,請輸入登入系統時的密碼,如下圖:

jeos@JeOS:~$ sudo apt-get install language-pack-zh language-pack-zh-base language-support-zh



這一步驟需要安裝的套件與相依性套件也不少,輸入〝y〞之後,按下輸入鍵(Enter)繼續執行:


安裝完成,可以在終端機看到系統已更新中文化語系以及所安裝的中文輸入法(如紅框所示):


接著,要為 gedit 編輯器安裝中文化套件,這樣才能顯示中文選單,請輸入以下指令:

jeos@JeOS:~$ sudo apt-get install language-pack-gnome-zh



確認要安裝的套件,輸入〝y〞之後,按下輸入鍵(Enter)繼續執行:


安裝完成,先不要急著啟動 gedit 來查看中文化選單是否安裝完成,需要先設定 Scim 輸入法的一些設定值,這樣中文輸入法才能正確執行;請輸入以下指令,來啟動 Scim 的設定畫面:

jeos@JeOS:~$ sudo scim-setup



若一切順利,就會看到以下的設定畫面:

接著按下【介面】底下的『全域設定』,在『快速鍵』的頁框中,按下「作用鍵(T)」後方的按鍵:



按下之後,就會跳出輸入法切換的設定視窗,如下圖:


在這邊先簡單說明一下,需要設定輸入法切換鍵的理由,在於避免本機與遠端機器輸入法切換上的衝突,或者是為了避開與本機上許多不同組合的功能鍵有所重複,而使遠端輸入法可以正常切換與執行,除非不使用中文輸入法,否則這是必須執行的一個動作!

在作用鍵設定視窗上,先在【選定的按鍵(K)】的頁框中,任選一個組合,使之反白,接著在【作用鍵:】的選項中,任選一種組合,或者按下【鍵值:】後方的按鍵,依提示選擇自己的組合也行:


選擇設定好了之後,按下【新增(A)】之後,就可以在【選定的按鍵(K)】的頁框中,看到剛剛設定的輸入法切換鍵的組合:


最後請將其他的組合鍵刪除,只要保留自行設定的組合即可,接著按下【確定】,跳出作用鍵設定頁面。


接著點選在【輸入法引擎】底下的『全域設定』,然後在『以安裝的輸入法服務:』的頁框中,可以看到三個語系名稱,將「中文(繁體)」點擊開啟,就可以看到許多不同的中文輸入模式:


選擇保留習慣的輸入模式(在示範中,選擇保留新酷音輸入法),將其於項目取消,接著按下【套用】,再按下【確定】,已離開設定視窗:


系統會提示部分設定必須重新啟動 Scim 之後才能啟用,按下【確定】之後離開:


回到終端機畫面之後,輸入以下指令,將系統重新開機,若系統提示輸入密碼,請輸入登入系統時的密碼:


jeos@JeOS:~$ sudo reboot


重新開機之後,還不要急著做任何測試,還需要將部分設定項目寫到個人家目錄下的「.bashrc」這個檔案當中,而這個檔案在個人登入系統時,會讀取載入的一個設定檔,以設定個人在登入之後的操作環境;在終端機下,以 vim 編輯器開啟設定檔,指令如下:


jeos@JeOS:~$ vim .bashrc



檔案開啟之後,將游標移到檔案最下面,按下「i」進入編輯模式,並輸入以下資訊,如下圖(紅框所示):


輸入完成,按下「Esc」鍵以退出編輯模式,並按下「:」接著在游標處輸入「wq」,最後按下「Enter」鍵,儲存編輯後離開。


而為了讓系統能完整套用設定檔,將系統再重新開機一次,不過,重新開機之後,各位讀者在看到以下畫面之後,會發現系統似乎停頓,也看不到終端機輸入的游標:


可不要以為系統當機了,而急著重新開機喔,其實這只是因為前面步驟中,在 .bashrc 檔案中的設定值載入所造成的現象,只要按下「Enter」鍵就會出現終端機提示符號了,如下圖:


終於到了實測階段了,可以真正感受到熟悉的語系搭配 X-window 呼叫遠端圖形化程式的強大威力,就先從前面的編輯器再測試一次,請直接在終端機下輸入以下指令直接呼叫並啟動 gedit :

jeos@JeOS:~$ gedit


是否有見到熟悉的中文化選單(註2),不只如此,接著按下前面輸入法所設定的作用鍵(請依照實際個人設定值切換),切換遠端的中文輸入法,不過,讀者們可能會注意到,似乎沒有看到輸入法的圖示,但是沒關係,即使如此,還是沒有失去中文輸入的功能,可以嘗試在切換之後,輸入中文字串,若前述安裝步驟沒有任何問題,應該可以正常輸入中文,如下圖:


這個編輯器可不只筆記本的功能,他還是一個完整的程式編輯器,不只可以編輯,甚至可以執行測試:


那麼,對於一般使用者呢?一般來說,公司內部許多的應用系統,如人事系統、行政系統、控帳系統、公文系統、電子表單系統、傳案管考系統,甚至最常使用的電子郵件系統,以及現在企業最為重視的 ERP 系統(企業資源規),都是在公司內部透過瀏覽器進行連結與作業,所以,對於一般公司使用者來說,最為基礎,也是必需的一套軟體,就是瀏覽器,不過,在終端機之下,怎會有圖形化介面的瀏覽器可以使用?

當然是有的!編輯器都可以呼叫,何況是瀏覽器呢,不過,還是要先安裝一下瀏覽器,就已在自由軟體界最富盛名的 Firefox 來當範例吧!

請在終端機底下輸入以下指令:

jeos@JeOS:~$ sudo apt-get install firefox



終端機上會顯示欲安裝或需要升級之相關套件資訊,並詢問是否需要繼續執行安裝步驟,輸入〝y〞之後,按下輸入鍵(Enter)繼續執行:

下載與安裝完成,系統會回應訊息到終端機上:

OK,小小的編輯器可以順利利用 X-window 的架構,由遠端呼叫到使用者視窗之前,那大型的瀏覽器呢?是否也可以一樣順利?

不要猶豫, Firefox 安裝完成之後,直接在終端機下輸入以下指令,來呼叫 Firefox:

jeos@JeOS:~$ firefox

若一切順利,龐大的瀏覽器,就會順利呈現在各位讀者的視窗之前:

接下來,要如何使用,與連結公司內部各項服務,就讓各位讀者發揮了!

善用 X-window 的功能,可以完全使用到 Server 的所有資源與運算,卻又不增加使用者本機上的系統負擔,不但可以提更工作效能,更重要的,則是寶貴的資料可以完善的保存在 Server 之上,再藉由 Server 妥善的備份機制,更可以保護公司重要的開發資料,而這也是雲端系統的最佳表現!



註1:
由於藉由 X-window Client - Server 的運作原理,實際運算的工作在 Client 端,也就是遠端的機器上,而本機的 Server 端,只是單純的顯示處理的結果,以及傳送訊息給 Client 端處理,要注意的是,在顯示的圖形視窗上的任何動作,包括開檔、存檔、編輯、運算,都是在遠端的機器,並不是本機,所以即使開啟本機上的中文輸入法,也無法將中文字串,藉由視窗上的介面,傳送到遠端機器之上,還是必須實際藉由遠端機器上的中文輸入法,才能實際輸入中文字串。

註2:
在安裝中文選單的套件之後,呼叫 gedit 編輯器時,可能會看到以下的錯誤訊息:

若看到此錯誤訊息,開啟編輯器之後,即使切換遠端機器的中文輸入法,也無法順利輸入中文字串,這是因為缺少套件所導致,請依照下列指令來安裝缺少的套件:

jeos@JeOS:~$ sudo apt-get install hicolor-icon-theme gnome-icon-theme



待套件安裝完成之後,就可以順利啟動遠端機器上的中文輸入法,也可以用正確的輸入中文字串了!



This entry was posted on 晚上9:51 and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

1 意見:

On 2014年8月5日 下午3:58 , 布丁布丁吃布丁 提到...

雖然圖片都讀不到,但是文字內容很詳細,很不錯。