Linux...为了孩子而做

作者:Marcel Gagné

一些有趣的儿童教育 Linux 软件概述。

我可能要后悔用这个标题了。多年来,我一直在嘲笑“为了孩子”这句话。当你想让别人同意某种生活方式、议程、法律、食物变化——任何事情时,这都是人们会求助的“理由”之一。听到这些话,我立刻就会像斯波克一样扬起眉毛,速度之快,简直可以用“不可思议”来形容。

好吧,假装我没用那个评论开始这篇文章。让我们换一种方式试试。

在我写这篇文章时,我的小儿子 11 岁。他从小就生活在一个神奇的电子世界中,想看什么就有什么。他一直都知道可以访问网络。直到最近,他才看过电视广告。几年前,我和妻子认为他至少应该了解一下,所以我们打开了直播电视节目,这是我不知道多久以来的第一次。他对节目中断感到不满意。现在,家里有多个 Google Home 设备,包括他卧室里的一个,按需观看的魔力几乎完美实现了。

他三岁开始玩电子游戏,到四岁时,玩我的 PS3 已经非常厉害了。他五岁开始使用笔记本电脑,那台笔记本电脑运行的是 Linux。我非常确定他用的是 Kubuntu,但也可能是 Linux Mint。不管怎样,它都是 KDE Plasma 桌面。简而言之,科技世界对他来说并不新鲜,而 Linux 只是人们使用的东西。他的学校有 Chromebook,他对 Windows 的几次接触让他感到冷淡。

孩子和 Linux?当然可以。

GCompris

然而,更早的时候,我利用了一些 Linux 上提供的更简单的教育游戏。我最喜欢的游戏之一是 GCompris,它是一个面向儿童的一体化教育游戏合集,适合两到十岁的儿童(图 1)。顺便说一句,GCompris 的发音类似于法语单词J'ai compris,字面意思是“我明白了”,这与它的教育重点相呼应。我过去提到过这个软件,但 GCompris 是一个充满活力、不断发展的项目,由 KDE 社区积极开发,上个月刚刚发布了新版本。

""

图 1. GCompris 是一套儿童教育游戏。

当你第一次启动 GCompris 时,它会询问你希望使用哪种语言。在顶部,带有动物角色的图标栏提供了类别列表,例如阅读、数学、娱乐、谜题、计算机技能、发现活动等等。单击任何这些选项都会在下面显示相关游戏或活动的列表,也带有彩色图标。每个类别可能有相当多的活动,因此你可能需要向上和向下滚动才能看到所有活动。GCompris 附带 100 多个不同的活动,使其成为你年轻的企鹅爱好者的必备之选。

底部是一个较小的菜单,其中包含一些与程序本身相关的大图标,包括关机、信息、帮助和设置。你可以单击左下角的横条来隐藏它。默认情况下,GCompris 以全屏启动。要强制使用可调整大小的窗口视图,请使用以下命令


gcompris-qt -w

KTurtle

一旦你的孩子过了幼儿时期,他们可能会想知道如何制作自己的游戏。这时,你当然要向他们介绍编程。在 GCompris 的基本计算机技能培训的基础上,你可以向他们介绍 KTurtle,这是一个基于 Logo 的简单编程游戏。我称之为游戏,但这实际上是一个编程环境,也是一个很好的起点(图 2)。

""

图 2. KTurtle 启动屏幕

界面的左侧是编辑器窗格,你可以在其中键入 Logo 代码。该语言简单而灵活,并且能够以学生的母语工作。中间是画布,你的代码结果将在其中发生。海龟图标拖动一支虚拟笔,你可以拿起和放下它。当它放下时,你告诉它向一个方向或另一个方向移动,它会绘制线条。例如,看看下面的代码


reset

repeat 3 {

forward 100

turnleft 120

}

reset 清除画布,假设画布上已经有东西。然后,你输入一个循环,重复三次。向前走 100 步,向左转 120 度,然后重复。结果是一个三角形(图 3)。

""

图 3. 海龟三角形

KTurtle 附带了自己的手册,你可以从顶部的“帮助”菜单访问该手册。要开始使用,其中包含几个示例,你可以通过单击“文件”→“示例”来访问这些示例。如果你想变得非常花哨,并看看海龟图标绘制线条有多酷,请单击“文件”→“获取更多示例”从互联网下载代码(图 4)。你可以按评分或下载次数对列表进行排序。如果你知道自己在寻找什么,也可以按名称搜索。“Sierpinski 三角形”和“分形树”既具有教育意义,又在单击“运行”时很有趣。

""

图 4. 安装其他 KTurtle 程序。在主窗口下方,你可以看到随附的说明手册。

Scratch

另一个很棒的编程入门语言是 Scratch 语言,由麻省理工学院(MIT)的“终身幼儿园小组”开发。你可以在你发行版的存储库中找到它。我用一个简单的 sudo apt install scratch 安装了它。

Scratch 是一种图形化编程语言,你可以在其中将程序块拖到编辑器窗口中。这些块像数字乐高积木一样相互卡在一起,从这些块中,你可以创造奇妙的东西,比如我儿子的“猫模拟器”(图 5)。

""

图 5. 猫模拟器——它就像真的一样,只是不是真的。

猫模拟器包括他创作的背景艺术作品、声音片段(例如,当猫跳到东西上时,我儿子说“下去!”)和其他愚蠢的东西。当你启动 Scratch 时,你会看到一个多窗格窗口。在最右边和顶部是“舞台”或画布,你的程序将在其上可视化执行。下面是一个窗口,显示舞台上正在使用的活动“精灵”(或“服装”)。你可以从多个类别中引入其他精灵,其中许多都包含在程序中(图 6)。

""

图 6. Scratch 精灵或服装

在程序中间是编辑器窗口,你可以在其中拖动块,这些块将告诉程序加载哪些背景、与哪些精灵交互以及发出哪些声音。在所有情况下,你都可以使用随附的编辑器(一个简单但高度灵活的绘画程序)创建自己的内容。你也可以录制声音片段,尽管软件包中包含一些片段。

在编辑器窗口的左侧,各种命令块排列在八个不同的类别中,例如运动、外观、声音、变量等等(图 7)。Scratch 的酷之处在于,你可以通过拖动块并为你的“精灵”创建“脚本”来尝试制作各种东西——例如,当你按下 m 键时,播放“meow.wav”声音文件。当你按下另一个键时,你可以让精灵移动到特定位置、朝特定方向转动并移动。当精灵碰撞或接触到屏幕边缘时(在“感应”类别中查找),你可以将其他块拖入到位以使其他事情发生。编程语言中你期望的一切都在这里,包括“if then else”之类的逻辑结构。

""

图 7. Scratch 命令块类别和精灵脚本

OLPC 和 Sugar Labs 的 Sugar

开源倡导者长期以来一直认为,自由软件对处于各个发展阶段(无论是在年龄还是经济上)的儿童都是福音。在我住的地方不远,有一个“计算机回收中心”,志愿者们在那里收集旧电脑,修理它们,加载 Linux(通常是这样),并将它们提供给那些原本买不起电脑的人。

更令人感兴趣的面向儿童的开源项目之一是 OLPC,即“每个孩子一台笔记本电脑”。关于这个大胆而宏伟的计划,即创造一台小巧、极其耐用的笔记本电脑,并将无数台这样的笔记本电脑以每台 100 美元的价格送到世界各地贫困儿童手中,已经有很多文章报道(图 8)。该项目从未实现其崇高目标,原因有很多,可以写成一本书,但它确实以自由软件的形式留下了一些有趣的 DNA。

""

图 8. OLPC XO-1 笔记本电脑(来源:维基百科“Fuse-Project”;上传到 OLPC-Wiki:OLPC 用户“Walter” - http://wiki.laptop.org/go/Image:Green_and_white_machine.jpg

Sugar 不是操作系统;它是一个简单而轻便的桌面环境,旨在成为为 OLPC 计算机提供支持的 Linux 发行版的界面。当前 Sugar live 发行版的底层是 Fedora。你可以下载 Sugar Labs ISO 并将其安装到 USB 闪存盘上并从中启动。如果你想感受一下 Sugar 的轻盈感,从 Raspberry Pi 启动时,它的效果非常好。

当 SOAS(Sugar on a Stick)启动时,它会要求你输入姓名,并引导你完成选择彩色图标以识别自己的过程。然后它会询问你的性别(你可以选择不回答),最后,它会询问你的年级。最后的选择从学前班开始,一直到高中,然后(有点虎头蛇尾地)结束于成人。我告诉它我上二年级。

Sugar 旨在简单且不引人注目。没有堆叠的窗口或要移动的对象——你可以称之为经典的桌面隐喻。当你习惯了被认为是经典桌面的东西(例如“开始”菜单、面板、状态栏等)后,这确实会奇怪地增加使用界面的混乱程度。相反,Sugar 桌面使用“社区”的概念。按 F1 访问你的邻居(本地网络),按 F2 跳转到小组活动(例如,同学),按 F3 打开你的个人主屏幕。这是一个圆形调色板,你可以从中选择任何你想要的活动(图 9)。将鼠标悬停在其中一个图标上,弹出会告诉你它做什么。

""

图 9. Sugar 界面菜单

Sugar 中内置了大量活动:Python 和 Logo 等编程环境、个人理财、日志、游戏、通信等等。甚至还有一个电子书阅读器,它与 Feedbooks 和 Internet Archive 的公共领域藏书联系在一起,你可以从中下载网络目录中的选择,例如动作、科幻或青少年读物。

请记住,这种布局旨在最大限度地利用小型、低分辨率屏幕,因此没有窗口设计。要查找你已打开的内容并在用户、位置或应用程序之间切换,请按 F6 键拉出一个框架,该框架环绕着中心活动(图 10)。顶部是位置和活动,右侧是当前组中的人员,左侧是位置,底部你会看到通知和网络、音量和方便截图的控件。

""

图 10. Sugar “桌面”框架视图

再次查看,靠近右上角。单击那里的小人形图标,将出现一个下拉菜单,你可以从中注销、关闭计算机或更改你的个人首选项(图 11)。我希望你从这个特定屏幕中了解到的是,Sugar 虽然是为儿童设计的——毕竟,它是为“每个孩子一台笔记本电脑”计划设计的——但不仅仅是为儿童设计的。在简单的界面下,有一个真正的操作系统。

""

图 11. Sugar 用户设置菜单

你可能从屏幕截图中看出,我使用我下载的 ISO 从虚拟窗口运行了 Sugar on a Stick。它就像这样做一样简单


qemu-system-x86_64 -enable-kvm -accel kvm -vga qxl -m 2048
↪-cdrom ./Fedora-SoaS-Live-x86_64-29-1.2.iso

请注意,以上所有内容都在一行中。由于 Sugar 是一个桌面环境,你也可以直接将其安装到你的 PC 上。由于我目前正在运行 Kubuntu(在你阅读本文时可能会发生变化),因此只需键入


sudo apt install rdesktop xrdp sucrose

是的,我知道它被称为 Sugar,但软件包名称是 sucrose。前两个软件包在那里是因为我希望你能够在虚拟窗口中以你孩子的用户名运行它。好的,现在你已经安装了它,你可以为你孩子创建一个用户。让我们假设你有一个名叫 Francois 的孩子(嘿,这可能会发生)


sudo adduser francois

现在,设置默认环境,在本例中为“sugar”,如下所示


sudo su - francois -c 'echo sugar >> .xsession'

如果你像上面那样使用 adduser 命令创建了你孩子的帐户,系统会要求你提供一些信息,包括密码。你将在下一步中需要它


rdesktop -g 1200x900 -u francois -p the_password 0

显然,the_password 是你选择的密码。此命令将使用 1200 x 900 的几何尺寸在当前桌面上创建一个会话,并以你孩子的身份登录。从这里,你可以在将其交给你的孩子之前体验 Sugar 环境。它并不复杂,但绝对不同。这种方法的缺点是,以“仅仅是一个桌面”而不是实际下载 Fedora Sugar spin 的方式运行 Sugar 环境,你并不一定拥有所有已加载的应用程序。你肯定会感受到 Sugar,但你的主菜单“轮”可能包含的应用程序远少于你在 Sugar on a Stick 发行版中看到的应用程序。

哦,记住本文前面提到的 Scratch 编程语言吗?还记得之前的 KTurtle 吗?你可以通过 Sugar 访问这两者的有趣混合版本,称为“Turtle Blocks”(图 12)。

""

图 12. Turtle Blocks,Scratch 和 KTurtle(Logo)的某种交叉。

结论

让你的孩子开始使用 Linux 系统或桌面真的没有任何缺点。大量的免费软件(免费,而不仅仅是自由)将让他们在未来很多年里保持忙碌和学习。哦,还有很多游戏;你可能因为我专注于事物的整个学习方面而错过了这一点。

说到年,祝《Linux Journal》25 岁生日快乐,并祝愿未来更美好!我早在 1999 年就开始为该杂志撰稿,我很高兴成为这段旅程的一部分。我不知道你们当时是怎么想的让我进入写作室的,但是,嗨……派对继续,伙计们!

资源

Marcel Gagné 是一位自由撰稿人和自由思想家。“Cooking With Linux”的家伙。非常英俊!科学、Linux 和技术爱好者。偶尔固执己见。总是困惑。热爱葡萄酒、美食、音乐和偶尔的单一麦芽威士忌。

加载 Disqus 评论