《基于Python+Tkinter的Linux GUI辅助管理工具的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Python+Tkinter的Linux GUI辅助管理工具的设计与实现.docx(46页珍藏版)》请在优知文库上搜索。
1、论文分类号 TP393.092密 级 公开单位代码10183研究生学号200653H119林大学硕土学位论文基于PythOn+Tkinter的LinUXGUl辅助管理工具的设计与实现DesignandImplementationofGUIAidedManagementToolinLinuxBasedonPythonTkinter作者姓名:李悦专业:软件工程导师姓名:徐高潮及职称:教授学位类别:工程硕士论文起止年月:2008年9月至2009年9月基于Python+Tkinter的LinuxGUI辅助管理工具的设计与实现DesignandImplementationofGUIAidedManage
2、mentToolinLinuxBasedonPython+Tkinter作者姓名:李悦专业名称:软件工程指导教师:徐高潮学位类别:软件工程硕士答辩日期:2009年月日未经本论文作者的书面授权,依法收存和保管本论文书面版本、电子版本的任何单位和个人,均不得对本论文的全部或部分内容进行任何形式的复制、修改、发行、出租、改编等有碍作者著作权的商业性使用(但纯学术性使用不在此限)。否则,应承担侵权的法律责任。吉林大学博士(或硕士)学位论文原创性声明本人郑重声明:所呈交学位论文,是本人在指导教师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰
3、写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:日期:年月日中国优秀博硕士学位论文全文数据库投稿声明研究生院:本人同意中国优秀博硕士学位论文全文数据库出版章程的内容,愿意将本人的学位论文委托研究生院向中国学术期刊(光盘版)电子杂志社的中国优秀博硕士学位论文全文数据库投稿,希望中国优秀博硕士学位论文全文数据库给予出版,并同意在中国博硕士学位论文评价数据库和CNKl系列数据库中使用,同意按章程规定享受相关权啦O论文级别:硕士博士学科专业:软件工程论文题目:基于PythOn+Tkinter的LinUXGUI辅
4、助管理工具的设计与实现作者签名:指导教师签名:年月日作者联系地址(邮编):吉林大学计算机科学与技术学院130012作者联系电话:内容提要当前,Linux技术得到飞速发展,Linux操作系统已经在各行各业得到广泛应用。特别是在个人桌面系统开始迅速普及。作为个人桌面系统,由于用户计算机水平有限,传统LinUX繁琐的命令行操作成为普及IinUX的最大障碍。因此,如何将LinUXShell下的大量应用软件快速构建配置一个方便易用的图形化接口,从而有效提高操作的易用性是亟待解决的问题。基于以上需求,本文基于Python语言,结合Tkinter和PWm模块,为LinUXShell应用软件提供一个方便简洁的
5、GUl图形化用户操作界面。同时,通过几个具有代表性的Linux交互命令程序的图形化系统辅助程序设计实例,详细阐述了PythOn+Tkinter实现Linux图形化辅助管理工具的细节和技术难点。实验表明,本文实现的辅助管理系统实例运行稳定,操作简单,验证了本文提出的图形化实现方法的可行性和合理性。同时,对今后IinUX图形化辅助管理软件的设计与实现工作具有一定的参考价值和借鉴意义。目录第1章前言11.1 LlNUX系统的背景简介11.2 开发图形化LINUX辅助管理系统的必要性21.3 LINUX辅助管理系统的设计目标分析31.4 LINux辅助管理系统的系统需求31.5 LINux辅助管理系统
6、的功能需求分析3第2章相关技术简介42.1 PYTHON简介42.1.1 什么是Python42.1.2 Python的特点42.1.3 Python的主要技术特征52.1.4 Python与Tkinter62.2 TKINTER和PMW控件简介72.2.1 TcVTk概述72.2.2 Tkinter的安装72.2.3 PmW控件组简介82.3 LlNUXSHELL命令介绍82.3.1 Shell简介82.3.2 Shell的种类9第3章开发环境及工具介绍103.1 运行环境103.2 开发环境及工具103.2.1 Vi编辑器介绍103.2.2 ViPython11第4章LINUX辅助管理系统
7、分析及设计124.1 系统分析124.2 系统需要的SHELL命令说明15第5章系统的实现185.1 界面的代码实现185.1.1 基础接口的实现185.1.2 解压/压缩接口的实现205.2 事件响应及命令调用部分说明255.2.1 定时关机模块的事件处理255.2.2 解压模块的事件处理255.2.3 压缩模块的事件处理26第6章实例测试286.1 定时关机测试286.2 解压模块测试286.3 压缩模块的测试30第7章总结与展望337.1 总结337.2 展望33参考文献35致谢37摘要1ABSTRACT31.1 第1章前言1.2 1.inux系统的背景简介随着LinUX技术的不断提高,
8、其强大的功能已为人们深刻认识,它已进入社会的各个领域并发挥着越来越重要的作用。Linux操作系统是一套免费使用和自由传播的类UniX操作系统,最初主要用于基于InteIx86系列CPU的计算机上,随着LinUX系统的普及,其他体系的计算机以及个人数字终端也在越来越多的采用LinUX操作系统。Linux操作系统是由通过互联网连接的成千上万的程序员参与设计和实现的。其目的是建立不受任何商品化软件版权制约的、广泛应用的Unix兼容产品。1.inux操作系统的创立者是LinUSTorvalds,最初的设计思想是设计一个代替Minix(一个操作系统教学演示程序)的操作系统。希望该操作系统可用于386、4
9、86或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能。Linux操作系统具有卓越的高效性和灵活性,能够在PC计算机上实现全部的Unix特性,具有真正的多任务、多用户的处理能力。LinUX遵循GNU组织的公共许可证协议GPL,是一套符合POSlX标准的操作系统。Linux操作系统不仅包括完整的操作系统内核,而且还包括文本编辑器(例如vi,emacs)、高级语言编译程序(例如gcc)等多种应用软件。同时,它还包括带有多个窗口管理器的X-Windows图形用户操作界面,类似WindoWS系统,可以使用窗口、图标和菜单等多种图形控件对系统进行操作。1.inUX操作系统的全称是GNU/Li
10、nux,它是由GNU组织的开源软件和LinUX内核两个部分共同组成的一个操作系统,虽然这个系统诞生于1992年,比WindOWS操作系统要晚,但是与Windows相比它有很多独到的优势。开放性:Linux操作系统遵循PC)SIX开放系统互连(OSI)国际标准。多用户:Linux操作系统可以同时为不同用户使用,每个用户对自己的资源(例如:文件、目录、外设设备)具有特定的权限,彼此相对独立互不影响。多任务:Linux操作系统同时执行多个任务程序,而且各个程序的运行相对独立。友好的人机交互接口:Linux操作系统向用户提供了两种接口形式:用户命令行SHELL操作方式和图形化X-WindoWS操作方式
11、。用户可以使用图形化界面方便快捷地操作系统,同时,系统管理人员能够使用SHELL命令行方式灵活高效地管理系统。强大的网络功能:LinUX系统继承了UniX系统在网络方面的优势,完善的通过内核级实现的网络服务功能是LinUX一大特点。可靠的安全机制:Linux系统采取了很多安全机制,包括对读、写、执行的控制,审计跟踪程序的执行,以及对授权的监控等,为网络多用户环境中的用户提供了必要的安全保障。良好的可移植性:Linux系统是一套可移植的操作系统,从最初诞生的x86平台到今天各种各样的数字终端、单片机、监控系统以及复杂的分布式网络计算环境和网格计算都可以看见Linux系统的身影。1.3 开发图形化
12、LilnlX辅助管理系统的必要性作为LinUX应用的一部分,使用图形化接口GUl对LinUX系统进行操作和管理是十分必要的。在LinUX系统中,管理工具通常是采用控制台(SHELL命令行)的方式来进行操作的。复杂晦涩的SHELL命令和参数对初学者和一般用户来说是非常困难的,也对LinUX系统的普及尤其是作为桌面操作系统照成巨大障碍。如何给传统的命令行操作方式的系统管理命令提供一套图形化的便于操作和管理的GUI机制是目前Linux系统普及中亟待解决的问题,也是推广普及Linux必须解决的重要课题。本文针对以上问题,提出了采用Python脚本语言和图形化Tkinter模块建立快速图形化操作界面的方
13、法,并通过具体实例验证了该方法的可行性和稳定性,为LinUX系统的推广普及做了有益的探索。1.inux辅助管理系统的设计目标分析1.inux辅助管理系统的设计目标如下:(1)接口的设计:对项目的所有功能实现GUl用户交互接口,这个功能用PythOn的Tk模块实现。(2)解压缩程序的GUl模块:实现在LinUX下程序的压缩和解压缩操作,用户通过与程序交互的图形化操作实现传统的命令行功能。1.4 (3)定时自动关机程序的GUl模块:实现输入时间,自动关机的功能。1.5 1.inux辅助管理系统的系统需求1.6 本辅助管理系统是在LinUX系统下对其Shell命令和GUI程序设计的一种扩展,该辅助管
14、理系统是在SlaCkLinUX系统下以PythOn语言编写的,接口部分基于PythOn的Tkinter模块,功能实现部分主要依靠调用Linux下的Shell命令实现,使用者仅仅需要简单的图形化操作即能知道该软件的使用方法。1.7 1.inux辅助管理系统的功能需求分析该辅助管理系统为了方便用户使用LinUX系统,实现了一些简单的功能,用户可以通过其用户管理程序的模块,查看,删除,更改和创建用户和组,方便地实现对自己用户的管理和操作。另外一方面用户可以在该系统下实现对LinUX下几乎所有压缩包的解压操作,其中软件通过对本机上所有压缩包档的搜索,列出所有的压缩文件,用户只需点击鼠标即可实现解压。最
15、后,用户可以设定自己希望关机的时间,防止出现停电等意外情况的发生。第2章相关技术简介2.1 Pythoi简介2.1.1 什么是PythonPython是一种解释性的,面向对象的高层语言以及强大的网络服务器端脚本语言。与其他脚本语言一样,Python代码类似于伪代码。Python的语法规则和精巧设计使其便于多位程序员组成的开发团队阅读。该语言的语法并不丰富,但是很简洁。PythoIl的创始人为GuidovanRossum。1989年Guido决心开发一个新的脚本解释程序,作为ABC语言的一种继承。ABC语言是GUidO参加设计的一种教学语言。该语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言因为非开放性的限制使其没有得到广泛应用。Python弥补了ABC语言的缺陷,与其它的语言如C、C+和JaVa结合非常好-7。同时,PythOn语言也借鉴了ModUIa.3语言。多种语言特点的借鉴和完善使Python语言形成了自己的优势和特点。2.1.2 PythOll的特点Python是一种脚本语言,它的语法表达优美