论文部分内容阅读
随着国内计算机应用的快速普及和信息化水平的提高,计算机的安全性也越来越受到社会各界的广泛关注。GNU/Linux作为服务器领域广泛采用的操作系统,有着高度的稳定性和安全性。同时作为一类重量级的开源应用,为广大企业节省了大量的成本,也为技术人员提供了良好的研究和试验平台。然而,在桌面领域,GNU/Linux系统的使用量却始终保持在一个较低的使用比例。之所以出现这种情况,除了缺乏足够数量和影响力的厂商的支持和大力推广以外,其本身设计的初衷所形成的过分注重于使用shell与内核进行交互、缺乏对普通用户体验的重视、图形化界面的应用软件开发过于缓慢以及能够满足本地化需求的应用程序缺乏等等,都是其在国内无法获得大众青睐的重要原因。在这种情况下,虽然在该平台上有许多GUI技术可以用来开发图形化界面的应用程序,但是由于语言隔阂,许多新的技术在产生的最初几年时间内无法在国内得到广泛的研究和使用,这为采用更好的技术开发本地化应用带来了不便。出于对Linux桌面环境中一些功能的需求,本文在Linux桌面环境中对GUI应用程序的技术作了广泛的研究,从Linux GUI实现的基础“X Window System"的运行机制开始,对GNOME桌面环境下广泛使用的GTK+技术作了一些探究,并结合其图形化界面的设计工具Glade UI Designer,以及正在被越来越多的程序开发人员所使用的Python语言,对基于图形化界面的系统辅助管理工具进行开发,设计了一个定时器的模块,用来帮助普通用户在设定时间之后实现对系统关机之类的操作;设计了一个系统助手模块,把一些基本的系统信息集成到一起,便于用户查看,此外,该模块还包含了一个清理多余软件包的功能。在上述工具的设计和实现过程中,采用了组织结构图、流程图、用例图、CRC cards来帮助完成对该辅助管理工具的功能方面的理解。同时为了使用户尽量避开对shell终端的操作,满足程序友好性的要求,采用了近几年广泛使用的D-Bus进程间通信机制来完成对定时器模块功能的实现。在对系统信息这部分功能的实现方面,使用了shell中的部分命令和Python中与系统管理相关的模块,以实现对系统信息的检索、过滤以及对shell命令的执行等。在软件包清理部分,为了方便地获得系统对这个特权操作的允许,采用了PolicyKit这种与类UNIX系统兼容的权限管理工具。由于该功能的实现也需要借助于D-Bus机制,因此就一些配置文件的建立、daemon的编写和调用端的实现进行了一些有意义的研究。对该程序在实现方面的不足来看,有以下几点需要在今后进行完善和改进:首先,定时器模块可以独立出来作为一个单独的应用程序,对该程序内部做出细节上的改进,并添加系统托盘等功能,并且使之在不同Linux发行版具有较好的移植性。其次,系统助手方面应该将功能进一步完善,添加对GNOME桌面环境的配置,如对gconf-editor所实现的功能进行集中和整合,使系统中一些不易为用户所察觉的设置能够直观地、集中式地得到表达;添加对网络方面的设置,使之能够更加方便的实现对MAC、IP等信息的修改;增加对一些常用软件包的安装。就目前已实现的功能来说,经过测试,运行良好,能够满足其设计要求。