余 杰,馬 俊,彭 歡,魏立峰,孔金珠
(1. 國防科技大學(xué),湖南 長沙 410073; 2. 天津麒麟信息技術(shù)有限公司,天津 300300)
Linux是一套免費使用和自由傳播的類UNIX操作系統(tǒng),是一個基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。目前國際上基于Linux的發(fā)行版主要有Debian[1]和Redhat[2]兩個體系,其中基于Debian的發(fā)行版又有Ubuntu、Mint、Ubuntu Kylin等,基于Redhat的發(fā)行版還有Fedaro、CentOS等。
圖形桌面環(huán)境[3]是操作系統(tǒng)的核心部件,是支撐人機交互、提高系統(tǒng)易用性的重要基礎(chǔ)。桌面環(huán)境通常由系統(tǒng)登錄、桌面主題、開始菜單、任務(wù)欄、文件管理器、控制面板等多個交互模塊組成,底層通過系統(tǒng)庫(包括圖形顯示庫、多媒體庫、進程通信庫等)和窗口管理器支撐實現(xiàn)。當(dāng)前廣泛使用的Linux圖形桌面環(huán)境主要有KDE(K Desktop Environment)[4]和GNOME(The GNU Network Object Model Environment)[5]。KDE項目始建于1996年10月, 它不僅是一個窗口管理器,還有很多配套的應(yīng)用軟件和方便使用的桌面環(huán)境,比如任務(wù)欄、開始菜單、桌面圖標(biāo)等。GNOME指GNU網(wǎng)絡(luò)對象模型環(huán)境,1997年8月,GNU GNOME計劃正式啟動,也是一個功能強大的綜合環(huán)境。Unity曾經(jīng)作為Ubuntu的默認桌面環(huán)境,開源界和產(chǎn)業(yè)界對其期望頗高;但由于商業(yè)原因,從2017年起,Ubuntu已經(jīng)停止對其進行維護,并恢復(fù)默認搭載GNOME。
二十多年來,GNOME和KDE已經(jīng)快速發(fā)展,一方面功能越來越全面,另一方面性能開銷也越來越大。另外,其炫酷的體驗對于資深Linux愛好者是福音,但對于初學(xué)者尤其是習(xí)慣Windows用戶的初學(xué)者來說,上手困難、操作復(fù)雜、交互體驗比較差。本文提出并實現(xiàn)了一個輕量級的Linux圖形桌面環(huán)境,通過定義統(tǒng)一規(guī)范的接口標(biāo)準(zhǔn),以桌面管理器為核心,支持任務(wù)欄、開始菜單、控制面板中的組件以插件方式與接口對接,實現(xiàn)組件的統(tǒng)一擴展,提高桌面環(huán)境的執(zhí)行效率;通過組件界面和主題風(fēng)格的規(guī)范,支持不同組件以相似的界面風(fēng)格展示,最終實現(xiàn)統(tǒng)一的交互模式和界面風(fēng)格。
傳統(tǒng)Linux操作系統(tǒng)桌面環(huán)境的各個交互模塊都是作為獨立的程序?qū)崿F(xiàn),這一方面導(dǎo)致各個模塊的主題風(fēng)格和操作模式存在較大差異,降低了用戶的交互體驗;另一方面導(dǎo)致各個模塊之間切換調(diào)用復(fù)雜,執(zhí)行效率低下。本文融合個人計算機、移動智能終端等多種使用模式的設(shè)計理念,實現(xiàn)了一種基于插件組裝的一體化桌面環(huán)境框架。該框架可以支持GTK、Python、C、JavaScript等常用開發(fā)語言的模塊綁定。相對于傳統(tǒng)Linux桌面環(huán)境,本文主要針對桌面管理器、文件瀏覽器和會話管理器開展定制與優(yōu)化設(shè)計工作。
桌面管理器負責(zé)管理系統(tǒng)桌面上的面板、菜單、啟動器、托盤等操作元素,是桌面操作系統(tǒng)與用戶交互最多的系統(tǒng)組件,也是桌面操作系統(tǒng)最核心的競爭力之一。桌面管理器通過JS(JavaScript)運行引擎,以JS的模式提供系統(tǒng)部件,然后基于系統(tǒng)部件設(shè)計顯示部件(如圖1所示)。
圖1 桌面管理器的組成
本文還針對桌面管理器的顯示部件和系統(tǒng)部件進行定制與優(yōu)化。主要的定制和優(yōu)化工作包括:
(1)基于插件的組件加載技術(shù):使用插件加載技術(shù),優(yōu)化任務(wù)欄原有組件的加載方式,提供新的組件,包括開始菜單、鎖定程序、窗口管理、通知區(qū)域等常用功能;設(shè)計開始菜單和開發(fā)全新的菜單布局,劃分為常用程序、最近使用程序、所有程序、用戶信息、快捷文件夾、系統(tǒng)操作六個重要區(qū)域,提供應(yīng)用程序鎖定至任務(wù)欄、搜索應(yīng)用程序、卸載等基本功能。
(2)基于任務(wù)欄的系統(tǒng)面板優(yōu)化技術(shù):在面板上增加文件夾類別的菜單選項,便于用戶快速定位個人文件;結(jié)合窗口預(yù)覽、消息通知等組件,優(yōu)化面板托盤的交互能力,提供統(tǒng)一交互方式;設(shè)計全新的系統(tǒng)日歷,支持農(nóng)歷、節(jié)假日等常用功能;定制修改網(wǎng)絡(luò)彈出菜單的顯示界面,提供更為直觀的可用網(wǎng)絡(luò)列表。
(3)提供基于優(yōu)先級的應(yīng)用程序搜索優(yōu)化技術(shù):提供基于名稱、描述、備注等分類的應(yīng)用程序搜索技術(shù),以加權(quán)值方式建立優(yōu)先級評估體系,對搜索結(jié)果按照優(yōu)先級進行展示;在開始菜單中提供該搜索功能。
(4)基于Theme Manager的系統(tǒng)主題定制技術(shù):基于XML統(tǒng)一描述語言技術(shù),提供系統(tǒng)主題的快速定制和精細化定制功能,便于系統(tǒng)管理程序進行靈活設(shè)置;提供統(tǒng)一的任務(wù)欄組件菜單彈出風(fēng)格;提供統(tǒng)一的圖標(biāo)風(fēng)格。
文件瀏覽器的作用是查找、打開、修改和刪除文件,同時還可以預(yù)覽文件夾內(nèi)所有圖片、視頻,并通過快速導(dǎo)航、全盤搜索等方式以最快速度找到所需文件。本文針對文件瀏覽器開展如下兩個方面的定制與優(yōu)化:
(1)基于磁盤卷的分區(qū)信息標(biāo)識技術(shù):傳統(tǒng)文件管理器針對系統(tǒng)硬盤上的非本系統(tǒng)分區(qū),僅顯示分區(qū)盤符,可讀性差,不利于用戶通過文件瀏覽器快速識別和區(qū)分每個分區(qū)的內(nèi)容。采用層次分析法,利用磁盤卷中為每個分區(qū)預(yù)留的分區(qū)信息,結(jié)合目前主流操作系統(tǒng)(Windows、Linux、Mac等)的系統(tǒng)特征,可完整識別出分區(qū)的操作系統(tǒng)類型、分區(qū)標(biāo)識內(nèi)容等信息。
(2)基于使用歷史的快速模糊搜索技術(shù):文件瀏覽器的核心功能之一是為用戶提供快速的文件搜索與定位功能。傳統(tǒng)文件管理器的搜索類型包括:基于文件夾、基于文件類型以及兩者結(jié)合的方式。以上方式都要求用戶能夠較準(zhǔn)確地提供搜索對象的信息,但在許多應(yīng)用場景下,用戶只記得在某段時間處理過該文件,而不能提供文件類型、文件位置甚至文件名稱等準(zhǔn)確信息。因此,本文擬基于用戶的使用歷史記錄,提供基于用戶名和最后使用日期的模糊搜索功能。
在用戶成功登錄后,新的用戶會話會被創(chuàng)建,將首先運行會話管理器,根據(jù)配置信息啟動相應(yīng)的桌面環(huán)境、系統(tǒng)服務(wù)以及應(yīng)用程序。既有前臺交互程序,也有后臺服務(wù)程序。雖然程序?qū)嶋H上是并行啟動的,但由于設(shè)備I/O帶寬等資源的限制,前臺交互程序全部準(zhǔn)備完畢通常需要一定的時間,導(dǎo)致用戶感覺整體的啟動速度并不理想。
在業(yè)務(wù)信息系統(tǒng)應(yīng)用中,用戶對于系統(tǒng)程序的啟動順序和優(yōu)先級有特定需求,希望在確保圖形界面基本可用后,盡快啟動關(guān)鍵業(yè)務(wù)信息系統(tǒng)及其相關(guān)服務(wù),因此需要對會話管理器進行定制和優(yōu)化。如圖2所示,本文在傳統(tǒng)會話管理器的流程上,在“基本圖形”啟動完成后立即啟動“業(yè)務(wù)系統(tǒng)”,隨后再啟動“高級圖形”。
本文根據(jù)上述設(shè)計和優(yōu)化理念,基于開源桌面環(huán)境Mate[6]的基礎(chǔ)組件實現(xiàn)了名為UKUI[7]的開源桌面環(huán)境,其系統(tǒng)架構(gòu)如圖3所示。UKUI由桌面環(huán)境服務(wù)和桌面環(huán)境組件兩部分組成,前者提供運行桌面環(huán)境所需的基本服務(wù),后者提供圖形交互組件。相關(guān)代碼參見https://github.com/ukui。目前UKUI已經(jīng)是優(yōu)麒麟(Ubuntu Kylin)[8]開源操作系統(tǒng)默認搭載的桌面環(huán)境,并進入到Ubuntu和Debian軟件倉庫,愛好者可以通過apt機制自由安裝使用。Aylinux[9]開源操作系統(tǒng)也選用UKUI作為默認桌面環(huán)境之一。
圖2 會話管理器優(yōu)化
圖3 UKUI架構(gòu)圖
UKUI一方面基于本文所設(shè)計的輕量級插件設(shè)計理念實現(xiàn),同時在交互體驗和視體驗上借鑒了目前用戶接受度最高的桌面操作系統(tǒng)Windows 7,在保證運行效率和穩(wěn)定性的同時,在易用性上也有較大提升。
在通用臺式機上對比測試了UKUI和Mate的2D/3D性能。測試機的配置如表1所示。
表1 測試機的主要配置
通過Glxgears、Glmark2、Unixbench測試的2D/3D性能如表2所示。UKUI性能相對Mate略有提升,在Glmark2上的提升幅度最大。
通過X11perf測試的2D/3D性能如表3所示。UKUI性能相對Mate有一定提升,在equivalent triangle測試項上的提升幅度最大。
表2 Glxgears、Glmark2、Unixbench測試結(jié)果
表3 X11perf測試結(jié)果
綜上可知,UKUI的設(shè)計理念提升了系統(tǒng)穩(wěn)定性和易用性,同時在桌面環(huán)境的2D/3D性能上沒有損耗且略有提升。
本文提出了輕量級插件式Linux圖形桌面環(huán)境,構(gòu)建了基于其設(shè)計和優(yōu)化理念的開源桌面環(huán)境UKUI,在易用性和性能方面相較于傳統(tǒng)桌面環(huán)境有一定優(yōu)勢,后續(xù)將結(jié)合Wayland等新型窗口管理器進行研究,進一步提升本文設(shè)計桌面環(huán)境的性能、穩(wěn)定性和易用性。