APP下载

轻量级插件式Linux图形桌面环境设计与优化技术

2018-10-13魏立峰孔金珠

网络安全与数据管理 2018年9期
关键词:任务栏管理器插件

余 杰,马 俊,彭 欢,魏立峰,孔金珠

(1. 国防科技大学,湖南 长沙 410073; 2. 天津麒麟信息技术有限公司,天津 300300)

0 引言

Linux是一套免费使用和自由传播的类UNIX操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。目前国际上基于Linux的发行版主要有Debian[1]和Redhat[2]两个体系,其中基于Debian的发行版又有Ubuntu、Mint、Ubuntu Kylin等,基于Redhat的发行版还有Fedaro、CentOS等。

图形桌面环境[3]是操作系统的核心部件,是支撑人机交互、提高系统易用性的重要基础。桌面环境通常由系统登录、桌面主题、开始菜单、任务栏、文件管理器、控制面板等多个交互模块组成,底层通过系统库(包括图形显示库、多媒体库、进程通信库等)和窗口管理器支撑实现。当前广泛使用的Linux图形桌面环境主要有KDE(K Desktop Environment)[4]和GNOME(The GNU Network Object Model Environment)[5]。KDE项目始建于1996年10月, 它不仅是一个窗口管理器,还有很多配套的应用软件和方便使用的桌面环境,比如任务栏、开始菜单、桌面图标等。GNOME指GNU网络对象模型环境,1997年8月,GNU GNOME计划正式启动,也是一个功能强大的综合环境。Unity曾经作为Ubuntu的默认桌面环境,开源界和产业界对其期望颇高;但由于商业原因,从2017年起,Ubuntu已经停止对其进行维护,并恢复默认搭载GNOME。

二十多年来,GNOME和KDE已经快速发展,一方面功能越来越全面,另一方面性能开销也越来越大。另外,其炫酷的体验对于资深Linux爱好者是福音,但对于初学者尤其是习惯Windows用户的初学者来说,上手困难、操作复杂、交互体验比较差。本文提出并实现了一个轻量级的Linux图形桌面环境,通过定义统一规范的接口标准,以桌面管理器为核心,支持任务栏、开始菜单、控制面板中的组件以插件方式与接口对接,实现组件的统一扩展,提高桌面环境的执行效率;通过组件界面和主题风格的规范,支持不同组件以相似的界面风格展示,最终实现统一的交互模式和界面风格。

1 轻量级插件式桌面环境设计与优化技术

传统Linux操作系统桌面环境的各个交互模块都是作为独立的程序实现,这一方面导致各个模块的主题风格和操作模式存在较大差异,降低了用户的交互体验;另一方面导致各个模块之间切换调用复杂,执行效率低下。本文融合个人计算机、移动智能终端等多种使用模式的设计理念,实现了一种基于插件组装的一体化桌面环境框架。该框架可以支持GTK、Python、C、JavaScript等常用开发语言的模块绑定。相对于传统Linux桌面环境,本文主要针对桌面管理器、文件浏览器和会话管理器开展定制与优化设计工作。

1.1 桌面管理器定制与优化设计

桌面管理器负责管理系统桌面上的面板、菜单、启动器、托盘等操作元素,是桌面操作系统与用户交互最多的系统组件,也是桌面操作系统最核心的竞争力之一。桌面管理器通过JS(JavaScript)运行引擎,以JS的模式提供系统部件,然后基于系统部件设计显示部件(如图1所示)。

图1 桌面管理器的组成

本文还针对桌面管理器的显示部件和系统部件进行定制与优化。主要的定制和优化工作包括:

(1)基于插件的组件加载技术:使用插件加载技术,优化任务栏原有组件的加载方式,提供新的组件,包括开始菜单、锁定程序、窗口管理、通知区域等常用功能;设计开始菜单和开发全新的菜单布局,划分为常用程序、最近使用程序、所有程序、用户信息、快捷文件夹、系统操作六个重要区域,提供应用程序锁定至任务栏、搜索应用程序、卸载等基本功能。

(2)基于任务栏的系统面板优化技术:在面板上增加文件夹类别的菜单选项,便于用户快速定位个人文件;结合窗口预览、消息通知等组件,优化面板托盘的交互能力,提供统一交互方式;设计全新的系统日历,支持农历、节假日等常用功能;定制修改网络弹出菜单的显示界面,提供更为直观的可用网络列表。

(3)提供基于优先级的应用程序搜索优化技术:提供基于名称、描述、备注等分类的应用程序搜索技术,以加权值方式建立优先级评估体系,对搜索结果按照优先级进行展示;在开始菜单中提供该搜索功能。

(4)基于Theme Manager的系统主题定制技术:基于XML统一描述语言技术,提供系统主题的快速定制和精细化定制功能,便于系统管理程序进行灵活设置;提供统一的任务栏组件菜单弹出风格;提供统一的图标风格。

1.2 文件浏览器定制与优化设计

文件浏览器的作用是查找、打开、修改和删除文件,同时还可以预览文件夹内所有图片、视频,并通过快速导航、全盘搜索等方式以最快速度找到所需文件。本文针对文件浏览器开展如下两个方面的定制与优化:

(1)基于磁盘卷的分区信息标识技术:传统文件管理器针对系统硬盘上的非本系统分区,仅显示分区盘符,可读性差,不利于用户通过文件浏览器快速识别和区分每个分区的内容。采用层次分析法,利用磁盘卷中为每个分区预留的分区信息,结合目前主流操作系统(Windows、Linux、Mac等)的系统特征,可完整识别出分区的操作系统类型、分区标识内容等信息。

(2)基于使用历史的快速模糊搜索技术:文件浏览器的核心功能之一是为用户提供快速的文件搜索与定位功能。传统文件管理器的搜索类型包括:基于文件夹、基于文件类型以及两者结合的方式。以上方式都要求用户能够较准确地提供搜索对象的信息,但在许多应用场景下,用户只记得在某段时间处理过该文件,而不能提供文件类型、文件位置甚至文件名称等准确信息。因此,本文拟基于用户的使用历史记录,提供基于用户名和最后使用日期的模糊搜索功能。

1.3 会话管理器定制与优化设计

在用户成功登录后,新的用户会话会被创建,将首先运行会话管理器,根据配置信息启动相应的桌面环境、系统服务以及应用程序。既有前台交互程序,也有后台服务程序。虽然程序实际上是并行启动的,但由于设备I/O带宽等资源的限制,前台交互程序全部准备完毕通常需要一定的时间,导致用户感觉整体的启动速度并不理想。

在业务信息系统应用中,用户对于系统程序的启动顺序和优先级有特定需求,希望在确保图形界面基本可用后,尽快启动关键业务信息系统及其相关服务,因此需要对会话管理器进行定制和优化。如图2所示,本文在传统会话管理器的流程上,在“基本图形”启动完成后立即启动“业务系统”,随后再启动“高级图形”。

2 UKUI桌面环境实现

本文根据上述设计和优化理念,基于开源桌面环境Mate[6]的基础组件实现了名为UKUI[7]的开源桌面环境,其系统架构如图3所示。UKUI由桌面环境服务和桌面环境组件两部分组成,前者提供运行桌面环境所需的基本服务,后者提供图形交互组件。相关代码参见https://github.com/ukui。目前UKUI已经是优麒麟(Ubuntu Kylin)[8]开源操作系统默认搭载的桌面环境,并进入到Ubuntu和Debian软件仓库,爱好者可以通过apt机制自由安装使用。Aylinux[9]开源操作系统也选用UKUI作为默认桌面环境之一。

图2 会话管理器优化

图3 UKUI架构图

UKUI一方面基于本文所设计的轻量级插件设计理念实现,同时在交互体验和视体验上借鉴了目前用户接受度最高的桌面操作系统Windows 7,在保证运行效率和稳定性的同时,在易用性上也有较大提升。

3 显示性能评估

在通用台式机上对比测试了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测试结果

表3 X11perf测试结果

综上可知,UKUI的设计理念提升了系统稳定性和易用性,同时在桌面环境的2D/3D性能上没有损耗且略有提升。

4 结论

本文提出了轻量级插件式Linux图形桌面环境,构建了基于其设计和优化理念的开源桌面环境UKUI,在易用性和性能方面相较于传统桌面环境有一定优势,后续将结合Wayland等新型窗口管理器进行研究,进一步提升本文设计桌面环境的性能、稳定性和易用性。

猜你喜欢

任务栏管理器插件
两个小软件 让任务栏使用更人性化
启动Windows11任务管理器的几种方法
应急状态启动磁盘管理器
自编插件完善App Inventor与乐高机器人通信
Windows文件缓冲处理技术概述
解决任务栏两区域图标空间之争
基于jQUerY的自定义插件开发
任务栏还有另类用法
任务栏的不同寻常用法
基于Revit MEP的插件制作探讨