WEB开发网
开发学院软件开发Python 针对 OLPC 膝上型电脑的桌面开发 阅读

针对 OLPC 膝上型电脑的桌面开发

 2008-09-30 13:04:56 来源:WEB开发网   
核心提示:XO 膝上型电脑(每个儿童一台膝上型电脑计划)是一个廉价的膝上型电脑项目,此项目旨在帮助教育全世界的儿童,针对 OLPC 膝上型电脑的桌面开发,这种膝上型电脑包含许多创新,比如新颖、廉价且耐用的硬件设计,也可以更新系统中所有现有的包,例如,以及使用 GNU/Linux® 作为底层操作系统,XO 还包括一个使用

XO 膝上型电脑(每个儿童一台膝上型电脑计划)是一个廉价的膝上型电脑项目,此项目旨在帮助教育全世界的儿童。这种膝上型电脑包含许多创新,比如新颖、廉价且耐用的硬件设计,以及使用 GNU/Linux® 作为底层操作系统。XO 还包括一个使用 Python 编写的应用环境,该环境包含一个叫做 Sugar 的人机界面,每个人(包括儿童)都可以访问。本文摘录自 developerWorks 教程 “针对 OLPC 膝上型电脑的应用程序开发”,其中介绍了 Sugar API 并展示了如何使用 Python 在 Sugar 中开发和调试图形活动。

OLPC 和 XO 膝上型电脑

XO-1 是为世界上发展中国家的儿童设计和发布的膝上型电脑,其制造成本低廉。这种膝上型电脑的目标是为那些条件不足的孩子带去技术和访问信息的途径。它带有无线网络,允许儿童们在本地互相协作完成项目。

这种膝上型电脑最初由麻省理工学院 (MIT) 媒体实验室的全体成员在非盈利组织 “每个儿童一台膝上型电脑” 中提出。该组织包括像 Nicholas Negroponte 和早期的 Seymour Papert (人工智能领域的先驱)这样的大师级人物,他们的想法和研究对这个项目很有帮助。

该项目一直也没少了批评之声。作为一项技术,尽管这种膝上型电脑是创新性的,但一些人置疑,在一些发展中国家,把钱花在膝上型电脑上是否比花在别处更好。例如,一些 XO-1 项目的目标国家缺乏基本的教育设施(如学校和图书馆)。

XO-1 膝上型电脑

XO-1 膝上型电脑的设计十分有趣,因为它包括了两个矛盾的需求。首先, XO-1 膝上型电脑必须是廉价的(售价是 140 美元),但又要功能丰富。这项设计包含一个 433MHz AMD Geode 处理器、128MB RAM,1GB NAND 闪存(代替硬盘)、7.5 英寸双模 LCD、无线网络,至还有一个视频摄像机。这种膝上型电脑也是针对非传统运行环境设计的,因而十分耐用和结实(参见图 1)。

图 1. XO-1 膝上型电脑

针对 OLPC 膝上型电脑的桌面开发

无线网络基于一个 802.11b/g 和 802.11s 芯片,同时支持标准网络和网状网络。这使得膝上型电脑可以在一个对等网络中(无需单独的路由器)彼此自主地传送包。即使在 CPU 断电的情况下网状网络也能运行。

软件

尽管 XO-1 膝上型电脑的思想深具诱惑,它的物理设计和硬件设计也很出彩,但最有意思的部分是它的软件。XO-1 膝上型电脑由 GNU/Linux (基于 Fedora 项目的精简版)授权。基本输入/输出系统(BIOS)为 Open Firmware,是用 Forth 语言的一个变种编写的。被称作 Sugar 的图形用户界面(GUI)基于 X windowing 系统并用 Python 编写。这是到目前为止最为精彩的组成部分,因为它使 XO-1 成为一个直接的开发环境(Python 是一门解释性语言)。无需编译器,人人都可以开发 Sugar 活动(即,在 Sugar GUI 中的应用程序)。换言之,XO-1 膝上型电脑中的所有软件都是开源的,因而也都是免费和可修改的。

Python 的这种用途非常有趣,作为 XO-1 膝上型电脑的核心部分,它会将 Python 展示给全世界数百万儿童。由于 Python 是一门适合学习编程的语言,所以这是一种理想的决定,还可能催生一群新的 Python 迷。

XO 膝上型电脑仿真

QEMU 是一个平台虚拟化应用程序,让您能够仿真完整的计算机(处理器和相关的外部设备),用于在其上虚拟化另一种操作系统。这样,可以在 Windows 上仿真 Linux,在 Linux 上仿真 Windows,或在任何运行 QEMU 的操作系统上仿真任何其他系统。甚至可以仿真与主机架构不同的操作系统。例如,可以在 x86 主机上仿真 Arm Linux 系统。

系统仿真由平台仿真器(QEMU)、可选加速器(KQEMU)和一个同时包含内核和根文件系统的根映像(主机操作系统中的一个文件)组成。欲了解更多有关 QEMU 及其内部操作的详情,参见参考资料。

下载和安装 QEMU

用 GNU/Linux 安装 QEMU 和加速器非常简单。清单 1 提供 QEMU 的下载、构建和安装指令。

清单 1. 下载、构建、安装 QEMU

        $ wget http://fabrice.bellard.free.fr/qemu/qemu-0.9.0.tar.gz
$ tar xfvz qemu-0.9.0.tar.gz
$ cd qemu-0.9.0
$ ./configure
$ make
$ make install
$

QEMU 加速器是一个可选步骤,但我建议执行这一步骤,因为它会带来更优的性能。清单 2 提供 QEMU 加速器的下载、构建和安装指令。

清单 2. 下载、构建和安装 QEMU 加速器

        $ wget http://fabrice.bellard.free.fr/qemu/kqemu-1.3.0pre11.tar.gz
$ tar xvfz kqemu-1.3.0pre11.tar.gz
$ cd kqemu-1.3.0pre11
$ ./configure
$ make
$ make install
$ insmod kqemu.ko

注意:在清单 2 的末尾,QEMU 加速器的内核模块已经安装完毕。

获取 XO 内核和文件系统映像

准备过程的最后一步是为膝上型电脑下载和准备 QEMU 映像。清单 3 显示如何在使用前检索并提取这一映像。该映像比较大(183MB),所以下载时间会很长。同样,下载的映像解压后几乎有 1GB,所以要确保有足够可用的空间。

清单 3. 下载和提取 OLPC 映像

        
 $ wget http://olpc.download.redhat.com/olpc/streams/development/LATEST-STABLE-BUILD/
 devel_ext3/olpc-redhat-stream-development-devel_ext3.img.bz2
$ bunzip2 olpc-redhat-stream-development-devel_ext3.img.bz2

启动 XO-1 膝上型电脑

下载并提取 OLPC 映像之后,是时候进行测试了。用两个选项启动 QEMU,即指定可用内存量(256MB)和指定用来仿真的硬盘(上面下载的映像):

清单 4. 启动 QEMU

        $ qemu -m 256 -hda olpc-redhat-stream-development-devel_ext3.img

接下来,您会在 GNU GRUB(GRand 统一启动加载器,GRand Unified Boot loader)中看到标准的 Linux 启动。最后是启动窗口,需要您提供一个用户名(参见图 2)。提供了用户名后,您可以更改颜色方案。最后,您将看到 XO-1 膝上型电脑的主屏幕,下一节将探讨。

图 2. 首次登录 XO-1 膝上型电脑

针对 OLPC 膝上型电脑的桌面开发

如果您要离开 QEMU 并将鼠标环境返回到主操作系统,请按下 Ctrl-Alt。要返回 XO-1,在 Sugar 框架中单击,鼠标环境就返回到 QEMU。

Sugar 导航

既然已经登录并准备启动,接下来了解一下 OLPC Sugar UI。

Home 模式和框架

Sugar 中的主窗口被称为 Home 模式 (参见图 3)。这个窗口基本上就是桌面,它告诉您环境、活动等信息。该窗口的中心是 XO 图标,它代表了您和您的膝上型电脑。如果在无线网络中其他用户对您来说是可视的,那么您将会看到他们。要关闭膝上型电脑,请将鼠标光标置于 X 图标处,然后点击关闭选项。

图 3. XO-1 膝上型电脑的 Home 模式

针对 OLPC 膝上型电脑的桌面开发

围绕在膝上型电脑上的圆环显示了当前正在运行的活动。您可以单击这里的任何图标返回到一个运行中的活动。要返回到 Home 模式,请将鼠标移动到窗口的一个角落。这样做可以将框架返回到视图。请注意框架左上角的四个圆圈状的 “缩放” 图标:最后一个代表最近访问过的活动。单击此按钮返回该活动(该活动占据整个窗口)。倒数第二个图标(中心有一个点的图标)代表 Home 窗口。单击此图标会返回到 Home 模式。下一个图标(有三个点的图标)显示组,包含附近的朋友和他们正在运行的活动。最后,第一个图标(有许多点的图标)代表整个邻域(neighborhood)。这个图标显示所有用户和他们正在共享的活动。

启动活动

框架的底部是能够运行的活动集。活动 是一个应用程序;如图 3 所示,XO-1 膝上型电脑支持多种活动。Sugar 装备了 Web 浏览器、计算器、绘图程序、新闻阅读器,以及其他可以和其他用户分享的用来在这个项目中协作的程序。要启动一个活动,在框架的下半部分单击该活动的图标。在图 4 中,我启动了 Write 活动并添加了一些文本。

图 4. Sugar 中的一个运行着的活动

针对 OLPC 膝上型电脑的桌面开发

控制键

使用鼠标导航已经非常简单了,但 Sugar 还允许使用控制键在应用程序和模式间更快地切换。表 1 列示了几种可用于在模式间灵活切换的重要控制键。

表 1. 在模式之间切换的控制键

控制键操作
F1切换到邻域视图
F2切换到组视图
F3切换到 home 模式
F4切换到上一活动

开发人员控制台

由于 Sugar 是构建在 Linux 操作系统上的,开发工作需要访问一个 shell。可以按下 Alt-= 来访问 shell,这样会打开一个登录提示符。在这里,键入 root 调用一个友好的 Bash 提示符。也可以通过开发人员控制台访问 shell,如图 5 所示。此控制台包含五个选项卡,分别用于访问资源面板、日志查看器、当前面板(用于无线型 XO-1 膝上型电脑)和一个终端(Bash shell)。

图 5. 开发人员控制台

针对 OLPC 膝上型电脑的桌面开发

如果想返回到 Sugar,请按下 Ctrl-Alt-F3。 shell 仍然是活动的,因此可以方便地在 Sugar 和 Bash 之间来回切换。

其他快捷键还有 Alt-F,用来开关框架(即,窗口外围的边界)。可以按住 Alt-C 退出当前活动,按住 Ctrl-Alt-Backspace 终止 Sugar GUI。

扩展 XO 膝上型电脑

下载 XO-1 膝上型电脑的文件系统映像意味着您将同时得到其中的内核和根文件系统。该文件系统包含启动 XO-1 膝上型电脑的所有必要应用程序和 OLPC 组件。但这并不意味着不能扩展该软件。文件系统中的常驻包之一 YUM (Yellow-dog Updated, Modified) 是一个包管理系统,用于简化软件包的下载、安装和配置。

用 YUM 既可以下载和安装新包,也可以更新系统中所有现有的包。例如,清单 4 显示如何更新自上一次更新之后更改过的包。

清单 5. 使用 YUM 安装新的更新

-bash-3.2# yum -y update
Loading "installonlyn" plugin
Setting up Update Process
olpc_development     100% |==========================| 1.1 kB  00:00
primary.xml.gz      100% |==========================| 2.9 MB  00:17
olpc_devel: ################################################### 11448/11448
olpc_devel_kernel_repo  100% |==========================| 951 B  00:00
olpc_devel: ################################################### 23/23
No Packages marked for Update/Obsoletion
-bash-3.2#

Tags:针对 OLPC 电脑

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接