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