
"We like to think that a child's play is unconstrained—but when children appear to feel joyous and free, this may merely hide from their minds their purposefulness; you can see this more clearly when you attempt to drag them away from their chosen tasks. For they are exploring their worlds to see what's there, making explanations of what those things are, and imagining what else could be; exploring, explaining and learning are among a child's most purposeful urges and goals. The playfulness of childhood is the most demanding teacher we have. Never again in those children's lives will anything drive them to work so hard." —Marvin Minsky, The Emotion Machine
Sugar is a learning platform that reinvents how computers are used for education. Collaboration, reflection, and discovery are integrated directly into the user interface. Sugar promotes "studio thinking [1]" and "reflective practice [2]". Through Sugar's clarity of design, children and teachers have the opportunity to use computers on their own terms. Students can reshape, reinvent, and reapply both software and content into powerful learning activities. Sugar's focus on sharing, criticism, and exploration is grounded in the culture of free software (FLOSS).
![]() |
Sugar facilitates sharing and collaboration.
Children can write documents, share books and pictures, or make music together with ease.
|
![]() |
There are no files, folders, or applications.
|
![]() |
Everything is saved automatically.
|
![]() |
A Journal is used for accessing data.
|
|
Sugar is free and open-source software.
|
Information is about nouns. Learning is about verbs. The Sugar user interface differs from traditional user interfaces in that it is based on both cognitive and social constructivism. We believe that learners should engage in exploration and collaboration. The Sugar platform is based on three defining human principles. These are the pillars of user experience for learning:
Two principles define the Sugar platform:
Three experiences characterize the Sugar platform:
Sugar is written in Python, an easy-to-learn interpreted language [3]. This allows the direct appropriation of ideas in whatever realm the learner is exploring: music, browsing, reading, writing, programming, or graphics. The student can go further. They are not going to hit a wall. They can, at every level, engage with and affect the very tools they are using for their personal expression.
Throughout this manual we have added brief "Note to parents and teachers" sections which explain the philosophy behind the Sugar platform. We hope these sections help you guide your children and students through the learning process.
Sugar was originally designed for One Laptop per Child (OLPC), as part of an effort to provide an opportunity for a quality education to every child through the distribution of connected laptop computers, our most powerful tools for expression. Sugar is the user interface used on the OLPC XO laptop.It is now available on many GNU/Linux distributions, including Fedora, Debian, and Ubuntu. Anywhere you run Linux, you can probably run Sugar.
Sugar Labs is a non-profit foundation whose mission is to produce, distribute, and support the use of the Sugar learning platform. Sugar Labs supports the community of educators and software developers who want to extend the platform and who have been creating Sugar Activities. Sugar is a community project. It is available under the open-source GNU General Public License (GPL) and free to anyone who wants to use or extend it.
[1] Studio thinking is a term used to describe how visual arts teachers teach and what visual arts students learn. The term is detailed in Studio Thinking: The Real Benefits of Visual Arts Education. Studio thinking includes "studio structures": demonstrations, projects, and critiques; as well as "studio habits of mind": develop craft, engage and persist, envision, express, observe, reflect, stretch and explore, and understand the art world. In the context of Sugar, studio thinking is applied not just to the arts, but to all disciplines.
[2] Reflective practice is a concept introduced by Donald Schön in his book The Reflective Practitioner. Reflective practice involves students applying their own experiences to practice while being mentored by domain experts. In the context of Sugar, the expert could be a teacher, a parent, a community member, or a fellow student.
[3] An interpreted language is a programming language whose instructions are interpreted "on the fly" (or compiled to a virtual machine code) as opposed to precompiled. The significance of interpreted languages to the Sugar platform include: platform independence, ease of debugging, ready access to source code, and small program size. Python is a general-purpose, high-level programming language. It emphasizes code readability and features a minimalist syntax and comprehensive standard library.
There are many ways to get Sugar. It can come preinstalled on your OLPC-XO laptop. You can install it as your desktop on your favorite GNU/Linux distribution. You can run Sugar from a LiveCD as a quick way to explore its features.
Note: Sugar is not yet available for installation on Microsoft Windows® or Apple OS-X®. Please refer to the LiveCD section below if you are interested in trying Sugar on one these platforms.
If you have an XO laptop, it probably has Sugar installed. When you power-on your laptop, you should see the Sugar Home View. You are ready to proceed to the chapter on Personalizing Sugar.
The Sugar environment installs easily on Ubuntu 8.04 (Hardy Heron). You can configure Sugar as your default or alternative desktop, or you can run Sugar in a window with sugar-emulator. You can use Ubuntu 8.10 (Intrepid) for a more up-to-date release.
To install Sugar, you must enable the "universe" software repository, and set "Download from:" to [Main server].
1(a) Use the "Software Sources" tool found under the System -> Administration Menu.
1(b) Check the Universe repository to enable it, if it is not already enabled.
1(c) Set "Download from:" to "Main server"
You can install the Sugar packages with Synaptics.
2(a) Use the "Synaptics Package Manager" tool found under the System -> Administration Menu.
2(b) Open the Search menu by clicking the Search button at the top of the Synaptics window.
2(c) Search for Sugar by typing "sugar" into the text field.
2(d) Mark the Sugar package for installation by clicking the check box.
In the same way, install "sugar-activities". The rest of the required packages are automatically added to the selection.
2(e) Apply the changes by clicking the Apply button at the top of the Synaptic window.
Now that you have Sugar installed, you can choose it as your login session. You first need to reboot Ubuntu (you only need to do this once) and then at the log-in screen click the "Options" button:
Choose "Select Session" as shown and the a pop-up appears:
Choose "Sugar" and click "Change Session" and log-in normally.
Alternatively, you can start Sugar inside a running GNOME or KDE session by installing the "sugar-emulator" package, pressing "Alt+F2", and typing sugar-emulator in the dialog. This runs Sugar in a window, but it may not work with all displays.
Sugar packages for Ubuntu are created and maintained by the Ubuntu Sugar team. The team welcomes new contributors to test, document, triage, and maintain packages.
Sugar Labs maintains a list of supported systems. Please see http://wiki.sugarlabs.org/go/Supported_systems to determine if your favorite distribution is supported.
A Sugar LiveCD contains a complete, functioning Sugar distribution and operating system on a removable medium. The Sugar LiveCD does not alter files already installed on your computer. It returns to its previous state when the LiveCD is ejected and the computer is rebooted. The Sugar LiveCD allows you to temporarily run Sugar; this allows you to:
You can use the Sugar LiveCD to create a "virtual Sugar lab" at a school, where the existing computer lab's machines are booted into a Sugar environment. Data is stored on a network or remote storage device. This can be done without changing the school lab's existing software.
ftp://www.rohrmoser-engineering.de/pub/XO-LiveCD/XO-LiveCD_080812.iso
This release is based on Joyride Build 2282; it demonstrates many Sugar features. Activities are constantly being added and updated. Please see http://wiki.sugarlabs.org/go/Supported_systems for information about other releases as they are released.
Steps to burn the image depend on your current operating system.
2(a) If you do not already have software installed to burn the image, you can use IsoRecorder, a free and open burning application.
2(b) Insert a blank CD into the drive and select Do nothing or Cancel if an autorun dialog pops up in Windows.
2(c) Start Infra Recorder, select the "Actions" menu, then "Burn Image...".
Please refer to your distribution's documentation on burning ISOs.
Wolfgang Rohrmoser and Kurt Gramlich maintain the Sugar LiveCD. They appreciate feedback at http://lists.laptop.org/listinfo/livebackup-xo-cd.
Children learn most effectively when there are multiple computers running Sugar. This configuration allows children to use Sugar's sharing and collaboration features. All of the computers running Sugar must be connected to the same Jabber server. You can set the Jabber server in the Network panel of the Sugar Control Panel.
Please refer to the Getting Connected chapter and the Network section in the Personalizing Sugar chapter for additional details about how to set up multiple computers running Sugar in your classroom or home.
You can set up a Sugar development environment using "sugar-jhbuild". "Sugar-jhbuild" automatically downloads and builds Sugar from the latest source code in the development tree. You can find instructions for setting up a Sugar development environment at http://www.sugarlabs.org/go/DevelopmentTeam/Jhbuild .
Distributors can find the latest sources for the Sugar components online at http://sugarlabs.org/go/ReleaseTeam/CurrentRelease/Sucrose#Getting_the_sources.
You can customize Sugar to meet your needs. You can change options such as:
The Sugar Control Panel is the place to configure your system.
Note: Many of the changes described in this chapter require that you restart Sugar (ctrl+alt+erase) for them to take effect.
Hover over the XO icon in the center of the Home View and a menu appears. Select Control Panel.
The Main Panel has eight categories of options.
You can use the text box at the top of the window to search the available options. Options that don't match the search text are dimmed.
You accept changes made on the category panels by clicking the "OK" button in the top right corner. Clicking the "Cancel" button discards the changes and returns you to the main panel.
You can quit the control panel by clicking the "X" in the top right corner of the panel.
Note: If you make changes on this panel, you must restart Sugar (ctrl+alt+erase) for them to take effect. Caution: You may lose any work you have open.
You can change your user name in this box. The user name appears when you start Sugar.
Click the XO icon to cycle through the colors for it. These colors show up in the Neighborhood View, Group View, Home View, on your Frame and when sharing with other Sugar users. There are almost 400 different color combinations available, which consist of a combination of six base-colors (red, orange, yellow, green, blue, purple) used as stroke-color and fill-color and three shades (light, medium, dark).
Please see wiki.laptop.org/images/0/05/Buddy-Icon-Color-Matrix.pdf for an overview of all the available color combinations.
Some computers, such as the XO laptop, report the serial number here. You might need the serial number for repair service or to request a developer key.
Here you can see which software and firmware version is currently installed on your system.
Note: If you make changes on this panel, you must restart Sugar (ctrl+alt+erase) for them to take effect. Caution: You may lose any work you have open.
You can set your time zone in multiple ways:
Note: If you make changes on this panel, you must restart Sugar (ctrl+alt+erase) for them to take effect. Caution: You may lose any work you have open.
You can change the delay for activating the Frame. You can set the delay separately for the corners and edges.
In the default configuration the Frame is instantly shown when the pointer is moved into one of the corners of the screen.
Note: If you make changes on this panel, you must restart Sugar (ctrl+alt+erase) for them to take effect. Caution: You may lose any work you have open.
You can select your system's default language. Even though your language might be included in the list, the translation might not be complete or available.
This checkbox allows you to turn the system's wireless radio on or off. For example, if you use the system on an airplane, you must turn the radio off.
Note: If you make changes to this setting, you must restart Sugar (ctrl+alt+erase) for them to take effect. Caution: You may lose any work you have open.
Here you can enter the name of a collaboration server based on jabber. This lets you to share Activities with other people connected to the same server, even when they're located half-way around the world.
Please note that some local OLPC user clubs and universities run their own collaboration server so it is worth checking wiki.laptop.org for relevant information.
You can configure the power-saving features of your system.
Please note that these settings are always used, even when the computer is plugged into a power outlet.
Click the check boxes to enable or disable the following options.
This mode dims the brightness of the display and turns off the CPU after one minute when there is no input via the touchpad or keyboard and no Activities that make heavy use of the CPU.
Enabling this mode turns off your wireless radio. This significantly increases your system's battery life. Enabling this option turns off the two LEDs on the left side of the laptop. You won't be able to see any other networks or XOs on your Neighborhood View. Enable this mode for maximum battery life.
You can select, install, and update Activities on your system.
If your system is connected to the Internet, it tries to fetch a list of all the available Activities.
If your system isn't connected, the message "Could not access the network to check for updates" appears.
The panel shows a list of new or updated Activities that are available. The overview also contains information about the Activity's version and size. An Activity is selected if its check box contains a check mark.

You can click on Modify activity groups to enter alternative activity groups.
A status view informs you of the download and installation progress.
If all your Activities are up-to-date, you see the following message.
The Sugar platform encourages learning through personal expression.
The user interface differs from the traditional Desktop metaphor. It uses a "zooming" metaphor—each view represents a different scale of interaction. You move between a view of the network "neighborhood", your "friends", your "home page", and your currently open application ("Activity"). Each view occupies the entire screen. There are no overlapping windows to deal with.
With Sugar, you zoom between views: from your network neighborhood to your current Activity.
Sugar supports sharing and collaboration by default. Sugar brings many of the rich collaboration mechanisms we are accustomed to from the Internet directly into the user interface. Sharing a file, starting a chat, collaborating in a writing exercise, or playing a game with other people are never more than a single click away.
Sugar incorporates a Frame around the border of the screen; the Frame holds status information, such as alerts, a clipboard, open Activities, and your current collaborators.
Sugar maintains a Journal (or diary) of everything you do; it is a place for reflection. You do not need to save files or create folders; Activities automatically save your work to the Journal.
Sugar emphasizes discovery. Every object in the interface has a menu that reveals more details and options for action. Many Activities include a "view source" option; for example, the Browse Activity lets you examine the HTML code that reveals how a web page is created. Most Activities are written in the Python scripting language. You can see how they work, and make changes to them.
Sugar has clarity of design. There is no need to "double click". There are no overlapping windows. Sugar uses color and shape throughout the interface to provide a fun, expressive, approachable platform for computing.
Activities, not Applications
Sugar does not have applications in the traditional sense. Activities are distinct from applications in what they focus on (collaboration and expression) and in their implementation (journaling and iteration). This is more than a new naming convention; it represents an intrinsic quality of the learning experience we hope the children will have when using Sugar.
Presence is always Present
Everyone has the potential for learning and teaching. Sugar puts collaboration at the core of the user experience in order to realize this potential. The presence of other learners encourages children to take responsibility for others' learning as well as their own. The exchange of ideas amongst peers makes the learning process more engaging and stimulates critical thinking skills. Sugar encourages these types of social interaction with the laptops.
Most Activities have the potential to become network enabled. For example, consider the Browse Activity. With typical computer interfaces, you browse in isolation. In Sugar, sharing links is an integral part of Browse, transforming web-surfing into a group collaboration.
Tools of Expression
Sugar emphases thinking, expressing, and communicating using technology. Sugar starts from the premise that we want to use what people already know in order to make connections to new knowledge. Computation is a "thing to think with". Sugar makes the primary activity of the children one of creative expression, in whatever form that might take. Most Activities focus on the creation of some type of object, be it a drawing, a song, a story, a game, or a program. In another language shift describing the user experience, we refer to objects rather than files as the primary stuff of creative expression.
As most software developers would agree, the best way to learn how to write a program is to write one, or perhaps teach someone else how to do so. Studying the syntax of the language is useful, but it doesn't teach one how to code. We apply the principle of "learning through doing" to all types of creation. For example, we emphasize composing music over downloading music. We also encourage the children to engage in the process of collaborative critique of their expressions and to iterate upon this expression as well.
Turning the traditional file system into objects speaks more directly to real-world metaphors: instead of a sound file, we have an actual sound; instead of a text file, a story. In order to support this concept, Activity developers can define object types and associated icons to represent them.
Journaling
The concept of the Journal, a written documentation of everyday events, is generally understood, albeit in various forms across cultures. A journal typically chronicles the Activities one has done throughout the day. We have adopted a journal metaphor for the file system as our approach to file organization. The underlying implementation of the journal does not differ significantly from file systems in contemporary operating systems. The file system layout is less important than the journal itself.
The journal embodies the idea of storing a history of the things a child has done and the Activities a child has participated in. The child, parent, and teacher can reflect on the journal to assess progress.
The Journal stores objects created while the student runs an Activity. This function is secondary, although important. The Journal naturally lends itself to a chronological organization. Objects in the Journal can be tagged, searched, and sorted by a variety of means. The Journal records what a child has done, not just what the child has saved. The Journal is a portfolio or scrapbook history of the child's interactions with the machine and also with peers.
The Journal includes entries explicitly created by the children with entries that are implicitly created through the child's participation in Activities. Developers must think carefully about how an Activity integrates with the Journal more so than with a traditional file system that functions independently of an application. The Activities, the objects, and the means of recording all tightly integrate to create a different kind of computer experience.
Use the Home View to begin new Activities.
Note: When you have clicked on an Activity's icon, please wait for that Activity to start. If you get impatient and happen to click again on the Activity's icon, you may end up with that Activity being started twice.
When you click an Activity's icon, you see a start-up view while that Activity initializes. Once the Activity is running, you are placed into its Activity View. If the Activity fails to start, you are instead returned to the Home View.
To get to the Home View, click the Home icon on the Frame or press the F3 key.
The Home View has several modes. Each mode has a different arrangement of Activities:
Use the List view to manage all of your Activities and to choose which Activity icons appear on the Favorites view.
- a star, which is colored for favorite Activities, which appear in Ring mode or Freeform mode. Click a star to color or clear it.
- an icon
- a title
- a version number
- how long ago it was installed
The Freeform mode of the Home View works the same as the Ring mode, but the icons are arranged arbitrarily instead of in a circle. You can drag the icons in this View to visually group them in a way that makes sense to you.
Use the hover menu that appears over the XO icon to access the Sugar Control Panel and to shutdown or restart the computer.
Use the Home View to begin new Activities.
Note: When you have clicked on an Activity's icon, please wait for that Activity to start. If you get impatient and happen to click again on the Activity's icon, you may end up with that Activity being started twice.
When you click an Activity's icon, you see a start-up view while that Activity initializes. Once the Activity is running, you are placed into its Activity View. If the Activity fails to start, you are instead returned to the Home View.
To get to the Home View, click the Home icon on the Frame or press the F3 key.
The Home View has several modes. Each mode has a different arrangement of Activities:
Use the List view to manage all of your Activities and to choose which Activity icons appear on the Favorites view.
- a star, which is colored for favorite Activities, which appear in Ring mode or Freeform mode. Click a star to color or clear it.
- an icon
- a title
- a version number
- how long ago it was installed
The Freeform mode of the Home View works the same as the Ring mode, but the icons are arranged arbitrarily instead of in a circle. You can drag the icons in this View to visually group them in a way that makes sense to you.
Use the hover menu that appears over the XO icon to access the Sugar Control Panel and to shutdown or restart the computer.
You can use the Neighborhood View to connect to the Internet and to collaborate with others.
To see the Neighborhood View, click the Neighborhood icon on the Frame. You can also use the Neighborhood button for this purpose if your keyboard has one, or press the F1 key.
The Group View shows you your friends. (XO icons that are dimmed represent friends who are currently offline.)
To show the Group View, click the Group icon on the Frame or press the F2 key.
You add friends to the Group View from the Neighborhood View.
When you hover over an XO icon, the Make friend menu option appears. Click this option to add that person as a friend.
Your new friend's icon then appears in the Group View.
You can remove a friend from the Group View using the hover menu. Click Remove friend. That person's icon disappears from the Group View.
From the hover menu, you can also invite friends to join your current Actvity. There is more information about invitations and sharing in the Collaborating chapter.
The Frame, which you can get to from any view, contains a clipboard, incoming invitations and notifications, buddies, open Activities, and global information that is used across all Views.
You can drag items on the clipboard into Activities. A hover menu also lets you remove them from the clipboard, open them in an Activity, or save (keep) them in your Journal.
The Journal Activity is an automated diary of everything you do within Sugar. Sugar Activities use the Journal as a place to save your work. You can use the Journal as a place to revisit old work, to resume incomplete work, to organize your completed work, and to reflect upon your progress as a learner.
The Journal keeps a record of what you do and the things your create such as photos, drawings, and writings. You can search for items in the Journal or sort entries by type or date. You can also click an entry to get a detailed view. You can resume an Activity by clicking the icon for that entry.
The Journal also supports external storage media such as a USB device or SD card. When you plug a USB device into the XO, you can access the contents of the USB device using the Journal. Click the USB icon to see the content on an attached USB storage device. You can also copy information from the Journal onto removable media—such as a USB device—as a means of backing it up. If you are connected to a school server, you can access its backup system.
To show the Journal, click the Journal icon on the Frame.
On an XO laptop, you can press the magnifying glass key in the top row of the keyboard to immediately open the Journal and search.
The Journal View contains a menu and a list of journal entries:
The Detail view appears when you click the Detail view button for an entry. This view lets you examine and annotate the entry.
When resuming from the Detail View, you can choose among different Activities.
When you insert removable media—such as a USB device or SD card—it appears as an icon on the bottom edge of the mail Journal view.
You can drag Journal entries onto the USB device. You can also drag entries from the USB device to the Journal.
To remove (unmount) the external file system, choose Unmount on the hover menu.
Caution: It may take time for the hover menu to appear. It is easy to make a mistake and click the icon itself when you intended to click Unmount.
Caution: If you have a Terminal running you may inadvertently have your removable media locked. The safest way to remove media is after powering off your computer.
The Journal keeps a record of everything a child does within Sugar: which Activities they use and what content they create. It also keeps a record of group Activities, such as participation in a shared Write or Browse session.
The Journal encourages reflection. You can refer to it to assess a child's progress, much in the spirit of "portfolio" assessment. You can also use it as a catalyst for discussion with your child or student. We encourage the use of the description field within the detail view of Journal entries as a place to annotate or comment up entries.
Sugar applications are called "Activities". Activities include an application as well as sharing and collaboration capabilities, a built-in interface to the Journal, and other features such as the clipboard.
The Journal Activity is pre-installed. Other Activities can be distributed as part of an Activity Pack. There are many, many others you can install yourself.
Activities you have specified as favorites appear as a ring of icons around the XO icon in the center of the Home View. All the Activities you have installed are shown in the List mode of the Home View.
Some Activities allow Sugar users to work and learn cooperatively. For example, Write allows several users to collaboratively create a document. Read allows several users to read the same document or a teacher to share a book with an entire classroom. Memorize allows a group of users to play a game together.
Another class of Activities allow users to write software. A variety of computer languages such as Logo, SmallTalk, CSound, and Python are supported within the TurtleArt, Etoys, TamTam, and Pippy Activities.
You can launch an Activity in four different ways:
When you launch an Activity, its icon flashes in the middle of the screen while the Activity loads.
Click the icon or click an option on the hover menu.
Click the icon or click an option on the hover menu.
Click the icon or click Resume on the hover menu.
Click the icon or click an option on the hover menu.
Click Join in the hover menu on the Frame.
There are two similar but different modes of collaborating within Sugar:
If you want a friend to join you in an Activity, send them an invitation. You can invite as many friends as you'd like by following the steps outlined below. The steps use the example of inviting someone to talk in the Chat Activity.
You must be running an Activity in order to send an invitation. For example, open Chat from the Home View.
Your friend receives the invitation.
For example, switch back to the Chat Activity.
The notification of an invitation appears in the upper-left corner of the screen and on the Frame.
The invitation is an Activity icon. The icon is the color of the person who sent the invitation.
You can accept the invitation from the Neighborhood View or the Frame.
In the Neighborhood View, click the other user's icon.
On the Frame, click the invitation icon, or click Join on the icon's hover menu.
Note: You do not have to accept an invitation. Just ignore it or click Decline on the invitation icon's hover menu.
As soon as you accept an invitation, you switch to the Activity.
While you are collaborating, your collaborators' icons appear on the Frame.
When you leave the Activity, you end the collaboration.
You can share an Activity if you want anyone from your Neighborhood View to join you.
You must be running an Activity in order to share it. For example, open Record from the Home View.
An icon representing your shared Activity appears in the Neighborhood View.
Your XO icon appears above the Activity icon in the Neighborhood View.
You can join any Activity that appears in the Neighborhood View.
The Activity opens as soon as you click the Activity's icon.
The approach to collaboration varies from Activity to Activity. In the Record Activity, thumbnails of photographs are shared. The photograph's frame is in the same colors as the XO icon of the person who took the photo.
On your Frame, you can see the icons of all of the people you are collaborating with.
You can exit a shared Activity at any time by clicking the Activity tab and clicking the Stop icon.
You can switch between Activities in two ways:
Note: You can use the Clipboard and the Journal to copy data between Activities.
You can exit an Activity in three ways:
You can install new and different Activities, which you can download and install from a web site, your school server, a USB storage device, or an SD card.
There are two ways to install new Activities:
1. In the Home view, click Browse.
2. Click on the Activities link in the middle of the page (or goto http://wiki.laptop.org/go/Activities/All.).
Note: Not every Sugar Activity is linked from http://wiki.laptop.org/go/Activities/All. For example, the GCompris collection is found at http://wiki.laptop.org/go/GCompris.
3. On the Activities page, look for a new Activity to install. (In the example below, a Jigsaw Puzzle Activity is installed.)
4. Click the link to the file that you want to install. (Activity files usually end in ".xo".)
5. You may be taken to a second page. Click the link to the file to begin the download.
6. During the download, you can "Cancel" or "Continue" browsing.
7. When the download is complete, click "Show in Journal". (If you click "OK", you can continue browsing and finish the installation from the Journal later.)
8. You'll be taken to detail view in the Journal.
Enjoy your new Activity!
Note: If you didn't install the Activity at the time you downloaded it, you can install it by opening the Journal (click the Journal icon on the Frame) and then opening the detail view of the Journal entry (click the
icon on the right side of the entry).
Proceed from Step 8 above.
sugar-install-bundle /media/<USB device name>/<filename.xo>(Substitute the actual name of the USB device in place of "<USB device name>" in the command, and the actual path and filename of the .xo file in place of "<filename.xo>".)
Tip: To determine the name of your USB device, you can go to the Journal Activity and read the name from the icon in the bottom left corner of the screen.
Activities are downloaded separately from the base Sugar user interface. To install a set of Activities on an OLPC XO-1 laptop:
There are hundreds of Activities written for Sugar and new ones being created daily. A good place to look for new activities is wiki.laptop.org/go/Activities.
Below is a sampler of the variety of Activities created and supported by the Sugar community.
Browse is a simple Web application that lets you access and search the Internet and share bookmarks with your friends. (See the Browse chapter for more information.)
TamTam Mini is a fun, powerful way to perform music and play instruments. It is simple enough to be used by even the youngest ages.
The Chat Activity lets you type messages that can be seen by other Sugar users. It can be used by two people or an entire classroom. (See the Chat chapter for more information.)
Memorize is the classic memory game of finding and matching pairs, but with a twist: the items in a pair can be any multimedia object, such as images, sounds and text. You can play existing games as well as create new ones.
SynthLab is a mini-lab for acoustic- and electronic-circuit construction. It is designed for older children who are ready to venture into more sophisticated sound design.
TamTam Edit is an intuitive environment for composing music. You can create, modify, and organize notes on virtual "tracks", which allow for virtually limitless variations in musical styles.
TamTam Jam is a fun, powerful way to perform music, play multiple instruments, and collaborate musically with other children.
The Record Activity gives you a simple way to take pictures, view slide shows, and record video and audio—all content that can be shared with others. (See the Record chapter for more information.)
The Journal Activity is an automated diary of everything you do with your system. You can use the Journal to organize work or revisit a past project. Teachers and parents can use it to assess a child's progress. (See the Journal chapter more information.)
Measure is a tool that can be used to observe physical phenomena and real-world events. With it, you can measure and log data and create graphs. You can explore the data and connect events with each other.
The Draw Activity gives you a canvas to draw pictures, by yourself or with friends. You can draw freeform images with a paintbrush and pencil, and use the dedicated toolbar to play and experiment with shapes. You can enter text, import images, and place items however you want.
Pippy is a simple and fun introduction to programming in Python, the dynamic programming language underlying much of the software on the laptop.
You can measure the distance between two laptops by measuring the length of time it takes for sound to travel between them. Along with the Measure and Record Activities, there are many ways to use the laptop to explore the physical environment.
Turtle Art lets you program a Logo "turtle" to draw colorful and complex artwork. Simple programming elements easily snap together, to bring art to life. (See the Turtle Art chapter for more information.)
Write is a basic text editing application featuring straightforward tools and a simple interface. It provides an easy way to write a story, craft a poem, or complete an essay. It also has more advanced features like image insertion, table creation, and layout operations. It also supports collaborative real-time editing, so a group can work together to edit text easily and seamlessly. (See the Write chapter for more information.)
Etoys lets you create models, simulations, and games with text, graphics, and sound. This lets you explore ideas and learn by doing. You can also share desktops with other Etoys users in real time, encouraging immersive mentoring and play. Etoys has a worldwide community of users and developers who are working to create content, curriculum, and examples. (See wiki.laptop.org/go/Etoys for more information.)
Sugar has a built-in eBook reader. The XO laptop has a screen that rotates 180 degrees and folds down on the keyboard, so you can read while holding the XO like a book. Read your favorite book on the XO while sitting outdoors in the sunlight.
Calculate provides a generic calculator with a simple, straightforward interface. It is readable and easy to use for even the youngest children, but also supports more complicated mathematics.
The X Windows Activity provides an X Windows System workspace within Sugar. Use this Activity to run standard X Windows programs.
There is an ever-growing array of downloadable content and built-in access to popular Web-based applications. This includes Google applications, SimCity, GCompris (a suite of award-winning educational software for children), and hundreds of other applications. There are currently thousands of software developers around the world developing content for Sugar. This community is interested in your feedback so that they can better serve the needs of children learning.
Sugar offers many ways to use a computer beyond just the display screen, although when you use Sugar in new ways, you can think beyond the display. Read on for new ideas of using Sugar or your XO beyond the Activity set and with the Activities currently available.
You can install a program called "feh" to display images quickly and offer an automatic slideshow of pictures.
What you need to begin:
yum install fehfeh -F -D 5 --scale-down /media/cardname/ where -F plays full screen and -D 5 plays the slideshow with a five second delay between images.Create
Make artwork in the Draw Activity instead of taking pictures using the Record Activity for your slideshow pictures.
Create a digital art or photography gallery with all of your computers hanging on the wall or leaning as if they were easels.
Collaborate
Share pictures by copying files onto other student's SD cards or USB drives.
Have students collaborate with the Draw Activity by having each student draw for one minute, much like the Swarm Sketch site at http://swarmsketch.com/
Have students download pictures about a certain topic or use tags on sites like http://flickr.com to create a slideshow of only cats, dogs, or other pets.
Adapt
Think of a place that could display the computer slide shows for a practical purpose, such as offering changing advertisement at a store or restaurant. How could students make a business model for selling advertisements, designing slides, and displaying them on their slide show like a billboard?
Extend
Have students create collages or mosaics with more than one computer screen stacked on another, running the slideshows all at one time.
Research the command line parameters for feh. Can they modify the timing of the slideshow so that stacks of pictures create a larger image?
Explore
Could students use their slideshow to convince someone to purchase a product or make a decision?
Reflect
Make a video of your art or photography gallery premier or write a journal entry about your experience sharing photos or artwork.
Read books that are stored on the computer or on the Internet. One way to read books is to open the Browse Activity, click the books link, and then click encyclopedia, picture books, or dictionaries.
The Sugar OS contains a library that offers many interesting reading materials in many languages. These books are sometimes called "ebooks" for electronic books, and Portable Document Format (PDF) files are one type of ebook.
If you are using an XO, you might like to flip the laptop display so that it lays flat while reading ebooks.
The way to view PDF files is to select the file in the Browse Activity or in the Journal, and then click the arrow button to have the Read Activity open it.
The Read Activity and Watch & Listen Activity are two activities that are not started from the Home View. You access them through a "launching" Activity like Journal or Browse.
Epub is an electronic book or ebook format that you can read on your computer after downloading and installing a reader such as FBReader, and downloading and storing the epub files that you want to read. To complete this procedure, FBReader must be installed.
To install FBReader, connect to the Internet, open the Terminal Activity and type:
su yum install fbreader
After you press enter, the installer downloads and installs fbreader. Next, you'll want to download some epub books.
Downloading and viewing books
To download and view epub books, follow this procedure.
df
cd /media/USBMEM mv "File TheThreeBears.epub downloaded from_http___www.snee.com_ebooks_TheThreeBears.epub..zip" TheThreeBears.epub LittleBoPeep-ANurseryRhymePictureBook.epub cp TheThreeBears.epub ~/Books
Create
Make your own ebook by either creating a PDF file using a free PDF creator online or by learning about the epubs format to make your own book.
Ask students to learn about reading by reading more and more books and charting the class's progress in completed books read over a period of time.
Collaborate
Share your favorite books by copying files onto other student's SD cards or USB drives.
Adapt
Who else might like to read the books you've downloaded? Can you find books that your family might enjoy together? What about books about your area of the country?
Extend
Use the Write Activity to keep a journal while reading your book. What discussion questions do you have for your class after reading the book?
Look the book up online at Amazon.com and read reviews for the book. Do you have the same reactions to the book as another reviewer?
Explore
How do students use reading in their every day lives to make decisions or otherwise act upon what they've read?
Reflect
Write a review to convince others to read a certain book. What aspects of the book can you use to convince someone that it is worth the time investment to read it?
Turtle Art is a colorful visual activity to use in a classroom setting where students can give the turtle commands and even spell out their names.
You may want to demonstrate on a computer that can be displayed on an overhead projector.

Create
Have students follow the instructions for creating letters. What shape will this set of commands make? Try it and see.
Did your turtle draw this shape?
If your turtle didn't draw the shape of an uppercase A, or if the color is different, check each puzzle piece one at a time, pretending that you are the turtle trying to understand the command you gave it. When you see a number or a piece that is out of place, change it and try again.
Collaborate
Have students share their letter drawings and use combinations for their names to work together in the classroom, such as having kids with N in their name share their turtle's commands by sending .ta files to each other.
A primary goal of the Sugar learning platform is enabling students to learn and work together.
In a wireless environment, an access point (AP) is a device that allows your computer to connect to an existing set of communicating devices. The access point usually has a direct connection to the Internet, and can relay data between the wireless devices and the devices it can access.
Multiple ways to connect to others
You can connect from the Neighborhood View. You can see information about the connection on the Frame.
Go to the Neighborhood View to connect to an access point.
Tip: To access the Neighborhood View, click the Neighborhood Icon on the Frame or press the F1 key.
Circles represent Networks (access points) on the Neighborhood View. Hover over a circle to see more information about an access point. An access point broadcasts a name (ESSID) to identify itself. An OLPC laptop mesh-point—represented by a series of concentric circles—is identified by its channel number (1, 6, or 11). You can also search for an access point by name in the search bar at the top of the page.
Note: If an access point is not broadcasting its name, the Neighborhood View may show that AP with some other name.
The fill level of a circle indicates the signal strength of its associated access point. The color of the circle is based upon the name of the access point. A lock icon identifies networks that are secured and require a key (passcode) to use. A star icon identifies access points that have been previously used (favorites).
To activate a network connection, click once inside the circle that corresponds to your chosen access point (or click the Connect option in the hover menu).
While the connection is being established, the inside of the circle blinks. Once the connection is established, the bottom edge of Frame contains an icon for it. If for some reason the connection fails, the circle stops blinking. Sometimes it is necessary to try several times before the connection is established.
If the access point is secured and requires a key, a dialog prompts you for the required information. Different access points may require different types of keys. Before entering the key, be sure to select the correct type from the pull-down menu that is presented.
A hover menu details the connection status.
You can check the status of your connection from the Frame (from any view). By hovering over the circle icon, you can find details about your connection status in a hover menu.
OLPC has designed a mesh network that allows XO laptops to communicate without the presence of the Internet and a School Server as a means to make their school network connectivity more efficient. The School Server also provides web and chat services.
Collaboration between learners is one of the most important features of Sugar. To enable collaboration in a classroom or home setting, it is necessary to establish the same type of connection for each computer. Computers can be connected through a School Server, a simple mesh if they are OLPC XOs, or an access point.
When using an access point for the connection, the computers must all use the same Jabber server in order to collaborate. Please refer to the Sugar Control Panel discussion in the Personalizing Sugar chapter for details regarding the configuration of Jabber.
| You make your connection from the Neighborhood View. | |
| Your current connection status is shown on the Frame. Also, the hover menu on the access point icon indicates "Connected". It sometimes takes 2–3 tries to connect. To disconnect, select "Disconnect" from the hover menu that appears in either of the network status menus (See Step 4 above). | |
| Circles represent access points. The fill level indicates signal strength. | |
| Access points that require keys have a lock icon. The color of the circle is calculated from the ESSID of the access point. The name of the access point is displayed when you hover over it. | |
| "Favorite" access points have a star. | |
| You connect by clicking the center of the circle. The center of the circle blinks while the laptop is trying to connect. | |
| Once the connection is made, the icon is surrounded by parentheses. | |
| If you are using an OLPC XO computer, mesh points are represented by a series of concentric circles. The color of a mesh point is the same as your XO color. If your OLPC XO computer is "mesh enabled" and you have not connected to an AP, you are automatically joined to a simple mesh network, enabling you to collaborate with others in the mesh, but not necessarily to access the Internet. | |
![]() |
You are prompted if the access point requires a key. |
When working on Sugar Activities it's a good idea to have a second copy of your work. You can use an external storage device to back up your work on Sugar, creating a second copy that you can take to another computer.
If you have a School Server, you can back up your work to the server. If you want your work later, you copy the contents from the School Server back onto your computer.
If you want a second copy of your files, you can store them on external storage media such as an SD card or USB storage device. To copy files to an external device, follow these steps.

You can look at an SD card or USB file names with the Terminal Activity.
df cd /media/5962-0A03
ls
You register your computer with a school server by clicking the XO icon in the Home view and choosing Register, then choosing Restart. Once your computer is registered, a backup job that runs once a day collects the activities in your Journal and stores them on a separate server computer known as the School Server.
If you think you have lost something, or you want to go back to a certain date and time, ask your teacher for the name of your School Server.
You might want to periodically update the Sugar learning platform or your favorite Sugar Activities when new versions are released. The Sugar community actively evolves and improves the Sugar platform. New development releases are available on a daily basis. Stable releases are made every six months. Sugar Activities are also being improved.
The Sugar learning platform is most often updated as part of an operating-system upgrade; for example, in upgrading Ubuntu from Version 8.04 to 8.10, the Sugar release updates from Version 0.71 to Version 0.82. Typically, Sugar Activities are updated separately.
You can keep your Sugar Activities up to date in four ways:
When you have an Internet connection, updating through the Sugar Control Panel is the easiest way to keep your Activities up to date.



You can update individual Activities by installing the latest versions through the web browser.
You can update an Activity .xo file from removable media by copying it to your Journal.
If you are comfortable using the Terminal Activity, you can use Linux commands to install and update Activities.
On Fedora-based systems, use the "yum" command.
On Debian-based systems (including Ubuntu), use the "apt-get" command.
You can update Sugar and the underlying operating system without losing any data. You can update Sugar one of these three ways:
Refer to wiki.sugarlabs.org for the most recent version number and for information about updates and reasons for updating.
To determine what version of Sugar you are currently running, hover the pointer over the XO icon on the Home View and go to Control Panel, and then click About my XO.
su -land then press enter.
olpc-update build-numberand then press enter. (You should replace the string "build-number" with the number of the build you would like to upgrade to, for example, 8.2-757.) Alternatively, you can use the --latest flag to get the latest build, for example,
olpc-update --latest stable
Before you begin, you need to download two files to a USB stick. You can find the osNNN.usb and osNNN.toc files at http://download.laptop.org/xo-1/os/official/, where NNN is the version number you want to install.
su -land then press enter.
olpc-update --usband then press enter.
Reboot your computer.
Follow the standard process for updating Ubuntu to the latest release. The new Sugar packages should be included as part of the upgrade.
You can update the system files without updating the underlying operating system.
su -land then press enter.
yum -y updateand then press enter.
yum install sugarand then press enter.
su -land then press enter.
apt-get -y updateand then press enter.
apt-get install sugarand then press enter.
You have a limited amount of space for files. When your computer runs out of storage space, you should delete some items by using the Journal Activity.
To clear out space for more files, follow these steps.


The Sugar learning platform was originally designed for the One Laptop per Child XO-1 laptop. Sugar Labs was created in order to port Sugar to additional computer hardware and operating systems. Its goal is to make Sugar available to a wide range of students, parents, and developers. Sugar Labs also oversees the further development of the base Sugar environment and Sugar Activities.
Sugar is the minimal environment that must be added to a standard GNU/Linux distribution in order to enable Sugar Activities to run. This includes the Python code and graphics files that implement the Sugar shell as well as the Journal.
Sugar Activities are GNU/Linux applications that have been integrated into the base Sugar environment.
The Sugar learning platform includes the base Sugar environment and a core set of Sugar Activities. (Glucose and fructose combine to make sucrose.)
Sugar runs on many GNU/Linux-based operating systems. Please see wiki.sugarlabs.org/go/Supported_systems for a current list of supported systems. If your favorite distribution is not yet supported, please contact the Sugar team by email (mailto:sugar@lists.laptop.org).
Rainbow is a component of the Bitfrost (wiki.laptop.org/go/Bitfrost) security system. Rainbow provides a level of isolation of Activities from the underlying file system in order to prevent malicious programs from doing irreparable harm. When creating your own Activity or installing standard GNU/Linux applications, you may need to consider some of the restrictions imposed by Rainbow.
Sugar is written in Python. Python is one of the few programming languages that is both simple and powerful, useful to beginners and experts.
There are a number of freely available guides to programming in Python, including:
The X Window System is a framework for building graphical user-interfaces. X provides primitives for drawing and moving windows on a screen and interacting with input devices.
A window manager is framework for controlling and placing windows within a windowing system. Sugar runs on any window manager that implements GTK+.
Matchbox is a lightweight window manager. Matchbox is not dependent on any particular GUI Toolkit
GTK+ is a cross-platform toolkit for creating graphical user interfaces. GNOME is built on top of GTK+. GTK+ has bindings for many languages.
Pango is a software library for laying out and rendering text. Pango is designed with an emphasis on internationalization.
Cairo is a software library used to provide a vector graphics-based, device-independent API. It is designed to provide drawing across a number of different back-ends.
D-Bus is a message bus system. D-Bus enables applications to talk to one another. In addition to inter-process communication, D-Bus helps coordinate process life-cycle. D-Bus allows developers to code a single instance application or daemon and to launch applications and daemons on demand when their services are needed.
Telepathy is a unified framework for real-time communications. Telepathy uses the D-Bus messaging system to provide an interface for client applications.
Avahi is a system which facilitates service discovery on a local network. Avahi allows you to plug your computer into a network and be able to instantly view other people who you can chat with, find printers to print to or find files being shared.
GStreamer is a framework for developing multimedia applications. GStreamer serves a host of multimedia applications, such as video editors, streaming media broadcasters, and media players.
You create a new Sugar Activity by placing the source code, images, and other files into a directory tree. Keeping the files related to the activity in one place makes it easy to package and distribute your activity.
In this chapter you can see how Activities are built. The file structure for the Helloworld activity that we create in this chapter is listed below.
Helloworld.activity
|-- MANIFEST
|-- activity # Contains information Sugar needs to run this Activity
| |-- activity-helloworld.svg
| `-- activity.info
|-- helloworld.py # Driving source file from which the Activity runs!
|-- icons # Store icons/images used in your Activity here
| |-- edit-custom.svg
| |-- next-page.svg
| |-- ok-button.svg
| `-- prev-page.svg
|-- locale # For Activity localization
| `-- es
| |-- LC_MESSAGES
| | |-- es.mo
| | `-- org.laptop.HelloworldActivity.mo
| `-- activity.linfo
|-- po # For Activity localization
| |-- Helloworld.pot
| |-- POTFILES.in
| `-- es.po
`-- setup.py
Anytime you want to build something, you must architect it. Building code is much like building a structure. The way you design your code may depend on the intricacies of Sugar.
For our example, we create an activity that displays the message "Hello World". Below is a mockup of roughly what our activity window looks like on the screen when it's running:
First, create the base directory that contains your activity's contents. Then create the "Helloworld.activity" directory. Create the "activity" directory within that. The activity directory contains two files:
[Activity] name = Helloworld service_name = org.laptop.HelloworldActivity class = helloworld.Helloworld icon = activity-helloworld activity_version = 1 show_launcher = yes
The first line of the file should always read [Activity]. The next two lines identify the activity: name=Helloworld, service_name=org.laptop.HelloworldActivity. The "class = helloworld.Helloworld" line tells Sugar that the initial startup class is Helloworld in helloworld.py. The activity tree, printed earlier, lists the helloworld.py file. Within this file, we define a class called Helloworld.
The next line specifies the activity's icon. This is the name of the .svg file you also saved in the Helloworld.Activity/activity/ directory. For help creating icons, see http://wiki.laptop.org/go/Making_Sugar_Icons. The show_launcher option ensures that Sugar displays your activity icon so that users can launch your activity in the main Sugar window.
You can specify other options in activity.info to control how the activity interacts with Sugar. For a complete listing, see chapter 3 of the Sugar Activity Handbook online at http://www.olpcaustria.org/mediawiki/upload/a/a1/Handbook_200805.pdf.
After you have created your activity.info file, you should include a MANIFEST file describing the contents, and a setup.py file in your activity directory. These files are fairly generic. You can copy them from another activity and make modifications. For the localization directories, you should look at some existing references for making your activity usable in multiple languages:
Finally include the images and icons that you plan to use in the the Icons directory. The example tree shows a few icons that could be used in the Activity.
Below is helloworld.py source code that implements our Activity.
from gettext import gettext as _
import logging
_logger = logging.getLogger('helloworld-activity')
import pygtk
pygtk.require('2.0')
import gtk
from sugar.activity import activity
class Helloworld(activity.Activity):
#### Method: __init__, initialize this Helloworld instance
def __init__(self, handle):
activity.Activity.__init__(self, handle)
#Create the main toolbox for this activity and
#rely on _createToolBox() to populate with any
#additional toolbars that may be needed.
tlbx = activity.ActivityToolbox(self)
self.set_toolbox(tlbx)
main_canvas = gtk.HBox()
#Create a "Hello World" Label and add it to the UI
hello_label = gtk.Label("Hello World!")
main_canvas.pack_start(hello_label)
self.set_canvas(main_canvas)
self.show_all()
def main():
win = gtk.Window(gtk.WINDOW_TOPLEVEL)
t = Helloworld(win)
gtk.main()
return 0
if __name__ == "__main__":
main()
Copy the activity directory tree to /home/olpc/Activities and restart Sugar (Control-Alt-Erase) to have Sugar recognize It. The Activity can be launched from the Home View. Activities can be edited in place, but after making changes you want to restart Sugar before launching the Activity. Any text output, like error messages, can be viewed with the Log activity.
When you launch the Helloworld activity, you see a new window:
The toolbar is created by the activity.ActivityToolbox object and the set_toolbox function call. The ActivityToolbox is a standard toolbox that includes a toolbar with controls for closing the activity, sharing it with other users and saving the activity to the journal. For more information on creating and extending toolbars, see the Sugar Almanac online at http://wiki.laptop.org/go/Sugar.graphics.toolbox.
After implementing and testing your Activity, package it in a zip file with a ".xo" extension. For our example, we create a "Helloworld.xo" file that contains the entire contents of Helloworld.Activity. This packaged file can then be shared with others.
The easiest way to share a package is to publish it on OLPC's Activities page. Navigate to http://wiki.laptop.org/go/Activities and you find many activities. With a wiki login, you can upload your Activity package, then link to it from the Activities page. You can also download and install existing Activities.
Now you know what is needed to create a successful and engaging Activity. Hopefully, your next Activity does more than just say "Hello World". Among the issues and ideas you may want to consider when designing your activity are:
There are many resources out there to help you implement Activities around the ideas above. Some recommended references are:
To install GNU/Linux applications on your computer running Sugar, you will need to be familiar with using GNU/Linux text-mode commands. (Please refer to the chapter describing the Terminal Activity for more information about the GNU/Linux shell.)
Caveats:
If the application is available as a Fedora .rpm package:
While connected to the Internet, use "yum install package-name". Yum is a package manager, which automatically fetches a package plus additional resources needed by that package.
An example of the install command as entered by the user:
bash-3.2# yum install gqview
This results in the following output (some lines deleted for brevity):
Resolving DependenciesYou should consider whether the size of what yum wants to fetch would use up too much of the storage space on your computer. Before downloading, yum asks for permission – if you do not like the total impact of what you asked for - tell yum "no".--> Running transaction check ---> Package gqview.i386 0:2.0.4-6 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================== Package Arch Version Repository Size ============================================== Installing: gqview i386 2.0.4-6 olpc_development 870 k Transaction Summary ============================================== Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 870 k Is this ok [y/N]: y Downloading Packages: (1/1): gqview-2.0.4-6.i386.rpm | 870 kB 00:03 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : gqview [1/1] Installed: gqview.i386 0:2.0.4-6 Complete! bash-3.2#
If you later decide that you do not want a yum-installed package on your system, use "yum erase package-name" to remove it from your computer. Doing this will not remove any additional resources that were fetched when that package was installed.
If the application is available as a non-Fedora .rpm package:
The same discussion as for Fedora packages applies, except that you will be using "rpm -ivh package-name" to install. Rpm is a simple package manager – it tells you if dependencies are missing, but you yourself will have to download them.
If the application is available in .xo bundle format:
If the Application was packaged into an .xo format bundle, install it the same as you would a Sugar Activity. If you want to learn more about installing an Activity, go search for that topic.
If the application package does not use .rpm or .xo format:
Follow the directions that came with the package. Since you are not using a package manager, it is your responsibility to check that the resources needed by that application are available at your computer.
You can run the Linux command "ldd" against each executable binary installed for that application. This gives an overview of whether some system services that the application relies upon are missing. If so, it is up to you to locate and install the necessary software.
The following example shows that the libXp dependency required by the nview application is not currently provided on this Sugar system.
bash-3.2# ldd /usr/local/bin/nview linux-gate.so.1 => (0xb7fa8000) libXt.so.6 => /usr/lib/libXt.so.6 (0xb7f46000) libX11.so.6 => /usr/lib/libX11.so.6 (0xb7e45000) libXext.so.6 => /usr/lib/libXext.so.6 (0xb7e35000) libXp.so.6 => not found libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7d3d000) libm.so.6 => /lib/libm.so.6 (0xb7d14000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7d05000) libc.so.6 => /lib/libc.so.6 (0xb7b9c000) libSM.so.6 => /usr/lib/libSM.so.6 (0xb7b94000) libICE.so.6 => /usr/lib/libICE.so.6 (0xb7b7a000) libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb7b78000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7b5c000) libdl.so.2 => /lib/libdl.so.2 (0xb7b56000) libXau.so.6 => /usr/lib/libXau.so.6 (0xb7b53000) /lib/ld-linux.so.2 (0xb7fa9000) libuuid.so.1 => /lib/libuuid.so.1 (0xb7b4f000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7b49000)
The user then might (on a Fedora system) enter
bash-3.2# yum provides */libXp.so.* libXp-1.0.0-11.fc9.i386 : X.Org X11 libXp runtime library Matched from: Filename : /usr/lib/libXp.so.6.2.0 Filename : /usr/lib/libXp.so.6
which would tell him that he needs to install the libXp package to satisfy the missing dependency.
The instructions are identical to those for a Fedora system, except you will be using "apt-get -i package-name" to install for .deb packages.
GNU/Linux applications often need to be configured. The application may provide a panel for you to enter values. Be sure that any locations thus specified are correct for where things actually are on your computer.
Many applications call upon general-purpose "library modules" to provide services for their own executables. An application package may supply some "library modules" if it is unlikely the base system would already have those.
Rarely, a package might place "library modules" somewhere not normally accessed by the system. The application might have to be launched with a special-purpose script, which indicates where the needed "library modules" are located.
The X Activity launches an X Window System environment from which you can run standard Linux applications. This is particularly useful for applications that open multiple windows, such as Skype.
Gnumeric running from within the X Activity
A standard GNU/Linux application does not appear on your Home View. However, if you "Sugarize" the application, then it appears on your Home View and you can launch it by clicking its icon.
Caveat: Sugar Activities have less privilege than the Terminal Activity. Therefore, Sugarized applications have more restrictions on where they can store data than applications launched from Terminal. If a GNU/Linux application cannot meet these restrictions, it will have to be modified before it could be considered suitable for Sugarization.
The wrapper needs to appear the same to Sugar as a native Activity. See http://wiki.laptop.org/go/Activity_bundles for a description of what an Activity must provide to Sugar.
A wrapper often depends upon a specialized "library module", which transforms the Linux-format requests issued by the application into Sugar-format requests and vice versa. (A Sugar community member has released a general-purpose version of this module. Get it from http://www.catmoran.com/olpc/libsugarize.so.)
This community member has in addition released a Sugarization script that can be used to install the wrapper. Get it from //http://www.catmoran.com/olpc/sug. A good description of how to use this script appears in http://olpcnews.com/forum/index.php?topic=1555.0. (Keep in mind that this description applies to the way Sugar screens looked in 2007.)
Here is an example of a shell script which, together with the specialized "library module", forms the "active" part of a wrapper that can be used to launch Opera from the Home View screen:
#!/bin/sh
while [ -n "$2" ] ; do
case "$1" in
-b | --bundle-id) export SUGAR_BUNDLE_ID="$2" ;;
-a | --activity-id) export SUGAR_ACTIVITY_ID="$2" ;;
-o | --object-id) export SUGAR_OBJECT_ID="$2" ;;
-u | --uri) export SUGAR_URI="$2" ;;
*) echo unknown argument $1 $2 ;;
esac
shift;shift
done
export LD_PRELOAD="$SUGAR_BUNDLE_PATH/lib/libsugarize.so"
export NET_WM_NAME="Opera"
exec opera -notrayicon -personaldir $SUGAR_ACTIVITY_ROOT/data &
Actually, the "active" part of the wrapper can take many forms. For instance, some applications have been Sugarized by compiling special programs to provide the wrapper function. Here is a python script which forms the "active" part of the first wrapper made to launch Opera from the Home View screen:
import logging
from sugar.activity import activity
import sys, os
import gtk
class OperaActivity(activity.Activity):
def __init__(self,handle):
activity.Activity.__init__(self,handle)
self.set_title('Opera Activity')
os.system('opera -notrayicon -personaldir $SUGAR_ACTIVITY_ROOT/data &')
You can install Wine (a compatability layer that allows Windows programs to be run in Linux) in order to run commercial applications such as the SeaClear boat navigation system on a Sugar system. (Wine itself has been turned into a Sugar Activity.)
Sugar is meant to be changed by you. Sugar is written in Python, an interpreted programming language, so that you can access the underlying code to see how things work. You can customize the Sugar platform however you like. In the spirit of free and open-source software, we hope that you share your improvements with the Sugar community.
In this chapter, we walk you through an example of changing Sugar:
Other things you might want to try include:
The Home View defaults to a circular ring of Activity icons, but other patterns are available. There are preprogrammed patterns in Sugar and you can create your own.
1. You need to familiarize yourself with the Terminal Activity before you begin. Please refer to the chapter on the Terminal Activity for details on the GNU/Linux shell.
2. Open the Terminal Activity.
3. Since the Sugar source code is in a protected part of the system, you'll need to get a "root shell" in order to make changes. Type this command and press enter:
su -l
Note: This is a lower case L (an l), not a one (1).
4. The Home View code is in /usr/share/sugar/shell/view/Home. Type this command and press enter:
cd /usr/share/sugar/shell/view/home
5. It is always a good idea to make a backup copy of your code before making changes. Type this command and press enter:
cp favoritesview.py favoritesview.py.bak
6. Use vi (or your favorite text editor) to open favoritesview.py. Type this command and press enter:
vi favoritesview.py
Tip: Some basic commands for using the vi editor:
i (enter insert mode)
esc (exit insert mode)
:w (write/save your changes)
:q (quit vi)
7. You want to uncomment the code that unlocks the preprogrammed patterns by removing the # symbol (lines beginning with # are comments in Python).
Before:
_LAYOUT_MAP = {RING_LAYOUT: favoriteslayout.RingLayout,
#BOX_LAYOUT: favoriteslayout.BoxLayout,
#TRIANGLE_LAYOUT: favoriteslayout.TriangleLayout,
#SUNFLOWER_LAYOUT: favoriteslayout.SunflowerLayout,
RANDOM_LAYOUT: favoriteslayout.RandomLayout}
After:
_LAYOUT_MAP = {RING_LAYOUT: favoriteslayout.RingLayout,
BOX_LAYOUT: favoriteslayout.BoxLayout,
TRIANGLE_LAYOUT: favoriteslayout.TriangleLayout,
SUNFLOWER_LAYOUT: favoriteslayout.SunflowerLayout,
RANDOM_LAYOUT: favoriteslayout.RandomLayout}
8. Restart Sugar (by pressing ctrl + alt + erase). You can enjoy three new layouts for your Sugar Activity icons. (Tip of the hat to C. Scott Ananian for programming the "hidden" views.)
You can also create your own view. Circles, squares, and triangles are nice, but a spiral is fun. In this example, we add some new code to two files: favoritesview.py and favoriteslayout.py.
The equation for an Archimedean spiral is
r = a + bθ
where r is the radius or distance from the center; a is the minimum (starting) radius of the spiral; and bθ is the increase of radius based on the increase in the angle of rotation.
1. Open the Terminal Activity.
2. Again, you'll need to get a "root shell" in order to make changes. Type this command and press enter:
su -l
3. Go to /usr/share/sugar/shell/view/Home. Type this command and press enter:
cd /usr/share/sugar/shell/view/home
4. It is always a good idea to make a backup copy of your code before making changes. Type this command and press enter:
cp favoritesview.py favoritesview.py.bak cp favoriteslayout.py favoriteslayout.py.bak
5. Use vi (or your favorite text editor) to open favoriteslayout.py. Type this command and press enter:
vi favoriteslayout.py
6. Add a new method at the end of the file:
class MyLayout(RingLayout):
"""Spiral layout based on Archimedean spiral: r = a + b*theta."""
__gtype_name__ = 'MyLayout'
icon_name = 'view-mylayout'
"""Name of icon used in home view dropdown palette."""
profile_key = 'my-layout'
"""String used in profile to represent this view."""
def __init__(self):
RingLayout.__init__(self)
def _calculate_radius_and_icon_size(self, children_count):
"""Stub out this method; not used in `My Layout`."""
return None, style.STANDARD_ICON_SIZE
def _calculate_position(self, radius, icon_size, index, children_count):
""" Increment the radius as you go; decrease the angle of rotation
as the radius increases to keep the distance between icons constant."""
width, height = self.box.get_allocation()
# angle decreases as the radius increases
angle = index * (2 * math.pi / (12.0 + index / 6.0)) - math.pi / 2
# radius is proportional to index/children_count
myminimum = _MINIMUM_RADIUS * .67
newradius = ((_MAXIMUM_RADIUS - myminimum) * (index * 1.1) / children_count) + myminimum
x = newradius * math.cos(angle) + (width - icon_size) / 2
y = newradius * math.sin(angle) + (height - icon_size - style.GRID_CELL_SIZE) / 2
return x, y
7. Use vi (or your favorite text editor) to open favoritesview.py. Type this command and press enter:
vi favoritesview.py
8. Add your new layout by modifying these two lines:
RING_LAYOUT, BOX_LAYOUT, TRIANGLE_LAYOUT, SUNFLOWER_LAYOUT, MY_LAYOUT, RANDOM_LAYOUT = \
xrange(6)
_LAYOUT_MAP = {RING_LAYOUT: favoriteslayout.RingLayout,
BOX_LAYOUT: favoriteslayout.BoxLayout,
TRIANGLE_LAYOUT: favoriteslayout.TriangleLayout,
SUNFLOWER_LAYOUT: favoriteslayout.SunflowerLayout,
MY_LAYOUT: favoriteslayout.MyLayout,
RANDOM_LAYOUT: favoriteslayout.RandomLayout}
9. You will need an icon for your new layout. You can copy an existing icon:
cd /usr/share/icons/sugar/scalable/action cp view-radial.svg view-mylayout.svg
Or you can modify the icon by following the discussion of Sugar icons in the section below.
10. Restart Sugar (by pressing ctrl + alt + erase).
Tip: If something goes wrong, which invariably it will, you can switch to one of the other Home Views, go back into the Terminal Activity and debug your code. If for some reason you even cannot launch the Terminal Activity, open the console by typing ctrl + alt + f1. From the console, you can restore your backup files (created in Step 4 above).
cd /usr/share/sugar/shell/view/home cp favoritesview.py.bak favoritesview.py cp favoriteslayout.py.bak favoriteslayout.py
Here's an example of the new spiral layout for your Home View.
The modified files are found here:
sugarlabs.org/go/User:Walter/favoriteslayout.py
sugarlabs.org/go/User:Walter/favoritesview.py
The icon used in the above example is found here:
sugarlabs.org/go/User:Walter/View-mylayout.svg
Your XO icon is stored as a scalable vector graphics (SVG) file. By modifying this file, you can change the appearance of your XO icon.
SVG is a language for describing two-dimensional graphics and graphical applications in XML. The SVG format allows Sugar to dynamically scale and color icons without any degradation in quality. The World-wide Web consortium (W3C) has an over of SVG at www.w3.org/Graphics/SVG/About.
There is a tutorial on preparing SVG files for Sugar at wiki.laptop.org/go/Making_SVG_Icons_for_Sugar.
You can edit SVG files using a variety of available tools, including www.inkscape.org/. (See The Inkscape Manual for details on how to use Inkscape).
Sugar defines the standard width and height of an icon canvas to be 55 pixels. The recommended width and height of the graphics is 45 pixels.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" width="55" height="55">
<rect x="5" y="5" width="45" height="45" stroke="#666666" fill="#FFFFFF" stroke-width="3.5"/>
</svg>
The icon defined above is a simple square.
Sugar uses "entities" in order to dynamically change icon colors.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY stroke_color "#666666">
<!ENTITY fill_color "#FFFFFF">
]>
<svg xmlns="http://www.w3.org/2000/svg" width="55" height="55">
<rect x="5" y="5" width="45" height="45" stroke="&stroke_color;"
fill="&fill_color;" stroke-width="3.5"/>
</svg>
Your SVG icon is now Sugar-enabled.
Follow these steps to replace the XO icon on your Home View with your own creation:
su -l cp /media/*/my-xo.svg /usr/share/icons/sugar/scalable/device/
vi /usr/share/sugar/shell/view/home/MyIcon.py
class MyIcon(CanvasIcon):
def __init__(self, size):
CanvasIcon.__init__(self, size=size,
icon_name='my-xo',
xo_color=profile.get_color())
Your icon appears in the center of the Home View instead of the standard XO icon.
In the previous section, we replaced the XO icon on the Home View. If you would like to replace it everywhere, you need to make one additional change.
Sugar looks for the XO icon in the file stored here:
/usr/share/icons/sugar/scalable/device/computer-xo.svg
Follow these steps to replace the XO icon with your own creation:
su -l cp /usr/share/icons/sugar/scalable/device/computer-xo.svg /usr/share/icons/sugar/scalable/device/computer-xo.svg.bak cp /media/*/computer-xo.svg /usr/share/icons/sugar/scalable/device/computer-xo.svg
Sugar is designed to be modified by the user. Rather than build a "hardened" but brittle and opaque platform, Sugar is easy to change—but also easy to recover in case you make a mistake. Sugar takes computing "beyond black boxes". Look inside, make changes, and learn through debugging. You may find it frustrating at first, but you will be amply rewarded for your efforts as you learn to master the machine, rather than have it master you. Try it, you'll like it.
Este capítulo pfrece una guía para encontrar soluciones cuando usted tiene problemas con Sugar.
Tanto Sugar Labs como OLPC tienen comunidades de soporte que pueden ayudarlo. Ellos han escrito documentación tal como este manual. También ofrecere ayuda en línea a través de chats, foros interactivos en la web y grupos de usuarios regionales. Por favor refiérase a http://wiki.laptop.org y http://wiki.sugarlabs.org por más información.
Actualmente no hay soporte de impresión en la interfase de usuario de Sugar.
Por favor referirse al capítulo en ...Please refer to the chapter on the Terminal Activity.
"Register" es para los niños que se conectan al servidor de la escuela. No tiene función fuera de ese contexto. por favor vea la páginas del iSchool Identity Manager page en el OLPC wiki por explicación adicional.
La interfase de usuario de Sugar se coloca sobre el sistema X Window. Sugar usa una metáfora de zoom (?) en lugar de un metáfora de ventanas superpuestas por lo que la presencia de un sistema de ventanas es menos aparente.
Sugar es diferente a las PCs o Macs tradicionales. Esperamos que no sólo "aprenda haciendo", pero que también busque que otros colaboren con usted en el proceso de aprendizaje. Usted puede encontrar un grupo físico de soporte local buscando en línea o encontrar una comunidad en línea para ayudarlo a aprender.
Usted puede cambiar su alias y colores desde el panel de control de Sugar que se encuentra en el menu hover en la "Home View" cuando visualiza la vista anillo?
You can set the date and time as follows:
su -l
/usr/sbin/ntpdate time.nist.gov /usr/sbin/hwclock --systohc
You can set the timezone using the Sugar Control Panel.
The OLPC-XO keyboard has a number of keys dedicated to the Sugar interface. Please see http://wiki.laptop.org/go/Keyboard_Shortcuts for details.
Our Connectivity Quick Start Guide answers most questions about Internet Connectivity.
Do you have wireless Internet/WiFi nearby?
Is your WiFi access point locked? If yes, you must have the password in order to connect.
Have you connected to your WiFi access point?
You can go to the Neighborhood View and click the circle that represents your WiFi access point. The name of an access point appears when you hover over a circle. After you click the circle, its center should blink. When you are connected, the center blinking stops and a circle icon for the connection appears in Frame bottom right. If your access point is locked, you are prompted to insert a key. Select the proper key format for your access point from the pull-down menu. You can confirm that you are connected by hovering over the network status circle in the Home View. Please see the chapter on Connecting.
To disable wireless when flying, refer to the Network panel in the Sugar Control Panel and clear the Radio checkbox under Wireless.
A mesh network allows nearby laptops to talk to one another directly (wirelessly) without the need for a traditional Internet Service Provider (ISP).
There is not a native email client for Sugar. You can use the Gmail Activity to access your email, if you have a @gmail.com account; or you can simply use Browse to access most web-based email programs.
Please refer to the chapter on Installing GNU/Linux applications.
Your work is automatically saved in the Journal.
You can backup your work onto a USB storage device. When you insert a USB storage device, it is automatically mounted and appears as an icon in the Journal (at the bottom of the screen). You can drag and drop Journal entries onto the icon to transfer them to the USB device. When you are finished, use the hover menu to unmount the device.
OLPC maintains an Activities page with links to many additional programs. You can install new programs directly from the web browser. Activities are "bundled" in files with a .xo suffix. Clicking a bundle causes it to download from the Internet into the Journal. Launching the bundled Activity from the Journal installs it in the List View of the Home View. Similarly, you can download content, such as PDF or DOC files, videos, and music into the Journal.
You can also install software and content from a USB storage device from within the Journal.
Finally, you can install software and content from the Terminal Activity, which gives you access to the Linux command shell.
Open the Browse Activity. In a window in the middle of the top of the Browse Activity page you see the words OLPC Library. Click that and you see the url: file:///home/olpc/.library_pages/search/bundle__index.html in the window and the contents of the file: .library_pages/search/bundle_index.html are loaded in the browser. If you replace that filename in the window with the name of the file you want to load, and have it display, let us say: file:///home/olpc/upload-file.html and press enter, the file upload-file.html is loaded from your home directory into the Browse Activity.
Please see the complete instructions for using a USB storage device (sometimes known as a flash drive or USB key or USB stick).
Go to the Journal, which you can access from the Frame. Click the notebook icon to open the Journal. Find the file to be deleted by scrolling up and down the list. Open the detail view for the entry by clicking the name of the file. From within the detail view, press the "minus" button at the top of the screen to delete the entry.
Most Activities have an "Activity" tab with a close button found at the top-right of the display; select the Activity tab and click the close button to close the Activity. For most Activities, the keyboard shortcuts ctrl + q or ctrl + esc can also close the Activity. Alternatively, on the Frame, hover the pointer over the Activity icon to bring up a menu; click "Stop" to end the Activity.
There are many Activities the community has developed for download. From the Browser Activity on the XO laptop, go to Activities and click an .xo file you find there. This downloads and installs the Activity to your laptop. When it is finished installing, click OK. Press the Home key (fifth key from the upper left) to see the Home View. Click the List View icon in the upper right of the Home View to see all the Activities. Scroll the list down if necessary until you see the icon for the Activity you just installed. Click the Activity's icon to start it.
All Activities on the laptop have been developed in the open-source community by volunteers. OLPC encourages all laptop owners to contribute to this effort.
A camera can be used with the Record Activity.
Press alt + 1 (hit the 1 key while holding down the alt key at the same time). Go to the Journal. The screenshot should be the first item in the Journal. You can then copy the screenshot to the clipboard and open it with the Browse, Paint, or Etoys Activity, or drag it on to an inserted USB memory stick for transporting it to another computer. This quick screenshot hack also makes it easier to capture and upload multiple screenshots to a web server.
Click on a PDF file to automatically launch the Read Activity, either through the web browser (Browse Activity) or from a USB storage device (Journal Activity).
Click the star in the upper-right corner to bookmark the website. The website is saved in the Journal Activity for future use.
The best thing you can do to keep your children safe is to participate in their education. For example, explain to them the kinds of threats they may encounter online and appropriate behavior, don't give out personal information such as an address, phone number, or other personally identifying information over the Internet.
There are possible third-party solutions, such as http://DansGuardian.org available.
You can find information on how to create your own programs for the XO at Getting started programming, and look for details at http://wiki.laptop.org/go/Developers. For those already familiar with both Linux and Python, the Activity tutorial is a step-by-step guide to building a Sugar Activity.
We are very interested in bug reports. Please report bugs by sending email to help at laptop.org. Developers, please continue to file bugs in our tracking system.
We are also interested in your suggestions for enhancement to our system.
Community input and collaboration is vital to the success of OLPC. Thank you for your participation.
A device that connects wireless devices together to form a network. Usually connects to a wired network and relays data between wireless devices and wired devices. Several APs can link together to form a larger network.
A mechanism for remotely shutting down a laptop that has been reported stolen when the laptop connects to the Internet.
In order to use your laptop for the first time (or after a "reflash" of the operating system), it must be unlocked by an activation key.
Key that unlocks an XO laptop.
An application that has an icon in the taskbar, for example, Write, Record, Browse; Activities engage you in taking a picture, reading a book, creating a page, annotating a page, animating a drawing, making sounds and music, measuring and sensing, sharing your favorites, inviting your friends, surfing on the web, and many, many other things. Has a .xo suffix
A view used by the current Activity that is running on the laptop.
The OLPC security platform.
A version of the operating system, designated by category and number; for example, Ship.2-656; Update.1-698; Joyride-1792.
The action of positioning the pointer over an object such as a menu item or icon and then pressing and releasing a "mouse" button. To "left click", you click with the left-hand mouse button. To "right click", you click with the right-hand mouse button.
The books, music, movies, photographs, drawings, and other objects that are created on the laptop or downloaded to the laptop. Stored in an .xol file.
Component that manages the access to the data displayed in the Journal; these data are stored in individual files; an index that contains the metadata and speeds up searches.
If the boot firmware sees a developer key, it makes the XO laptop work just like any ordinary PC-style laptop, in the sense that it will let you interrupt the boot process and enter commands; and it will try to boot and run any program you supply to it, no matter whether the OLPC organization has tested or signed it. (The laptop also works this way if its firmware security is disabled.)
Click two times in rapid succession. In many graphical user interfaces, double click is used as a different gesture than two separate single clicks. Sugar does not use double clicks.
The combination of dragging an object and then dropping onto a region of the screen. To drag an object: (1) position the pointer over the object; (2) press and hold the mouse button; and (3) move the pointer without releasing the mouse button. To drop an object, release the mouse button. In Sugar, drag and drop is used to copy items from the clipboard into an Activity.
A collection of email addresses—an efficient way to send email to a group of people who share an interest.
The wireless firmware is software that controls the operation of the wireless radio. It is downloaded into the wireless radio by the operating system.
The system firmware is made up of two parts: The EC and OFW. The first part is the software that runs the embedded controller (EC). The EC handles the processing of the keyboard, touchpad, game buttons, power button, and charging the battery. The second part is OpenFirmware (OFW). OFW is responsible for initializing the hardware and booting the operating system. OFW also handles boot security so that it will only load "official" OLPC operating systems.
The Frame, which can appear in any view, holds system status (battery, speaker, network), a clipboard, the list of open Activities, navigation controls, and list of "buddies" (collaborators).
A view of your friends with whom you are working on shared projects.
View of installed Activities from which you launch them—the Home view is the starting view on the laptop.
To move the pointer over something on the screen (such as an icon) and leave it there for a moment. Often, hovering over an object's icon activates a menu of options for that object.
Network connectivity through a WiFi access point, for example, 802.11b.
IRC/chat is real-time text chat used by the development and technical support communities (and hopefully the learning community as well).
A protocol that the laptop uses for collaboration.
Activity where you can see your previous work. You can also resume the work done at those Activities.
A small, external storage device that plugs into one of the USB ports on a computer. They can store between 16MB (enough to hold several music files) up to 4GB (enough to hold several high quality full-length movie files) and a wide range in between. Jump drives are easily purchased at any electronics store starting as low as $5 to $10.
Process of generating both activation and developer keys.
When a laptop is activated, the activation has an expiration date. The period between activation and expiration is the lease period. The lease period is determined during the key-generation process; the laptop can be reactivated after the lease has expired.
Content that is created on the laptop is accessed through the Journal; preloaded content is stored in a library and is accessed through the Browse Activity.
Malware is software designed to infiltrate or damage a computer system without the owner's informed consent. Linux is relatively robust in light of malware and Rainbow provides additional protections above and beyond the standard Linux defaults.
See: Jumpdrive
The laptops use three channels for communication: 1, 6, and 11; in simple mesh mode, the laptops can only see other laptops on the same channel; in a School Server mesh, laptops on all channels are visible.
A wireless mesh network is a communications network made up of radio nodes in which nodes can forward information on behalf of each other so that even nodes that are not in direct radio contact can communicate via nodes that are between them. The collective coverage area of the radio nodes working as a single network becomes a mesh cloud.
Network connectivity through a mesh network, for example, 802.11.
Originally referring to a button on a computer mouse, the term is now used to refer to a button on any pointing device, such as a touchpad or pointing stick.
Internal storage in some laptops, including the OLPC XO.
A view of who is on the network with you and what Activities and content are being shared.
(OS) - The low-level system that manages the various files, processes, etc. needed to operate the laptop; the OS used by the XO laptop is the RedHat Fedora distribution of Linux.
A black box that appears when the mouse hovers over an object; a palette can contain the name of the control, some details about it or some related actions.
Currently unsupported, this is a mechanism that uses the lease mechanism to require laptops to periodically ask for a renewed activation. Without the renewal, the lease will expire and the laptop will be locked.
A file containing the instance of translated strings for a single language based upon a POT file.
A server that is used to store and manage translation templates and files.
The master translation template for a project.
Each laptop comes with a power adapter to allow it to be plugged into a power socket.
A discovery service for finding other laptops on the network.
Rainbow implements the isolation shell implicitly described in the Bitfrost security specification. This means that it isolates Activities (and eventually system services) that it is asked to run from one another and the rest of the system.
Web site: http://rt.laptop.org/ This is a Support ticket tracking system. Read: http://bestpractical.com/rt/ for more information.
To return to a normal state of operation after suspending.
See: Hover over
A mesh network that is mediated by a School Server.
Secure Digital (SD) is a flash (non-volatile) memory card format used in portable devices, including digital cameras, handheld computers, PDAs, and mobile phones. SD card capacities range from 8 MB to 32 GB.
OLPC produces both "signed" and "unsigned" builds of the operating system. Signed builds are release builds that have undergone QA testing. Unsigned builds are development builds, which are used for testing new features and bug fixes. You cannot run an unsigned build in your laptop unless you have either a developer key or security has been turned off (as in the case of the G1G1 laptops).
A mesh network that is running between laptops without a School Server.
Click one time. In many graphical user interfaces, multiple clicks are used as a different gesture than single clicks. Sugar does not use multiple clicks.
The Sugar user interface. It consists of four views, the Frame, and the Journal.
To cause a computer go into a standby state in order to save power.
See: Jumpdrive
A user-interface element that can contain several buttons, text entry fields, drop-down menus, and other elements, that is usually contained in a toolbox; common examples of toolbars include: Activity, View, and Edit.
A user-interface element that appears in the top part of most Activities and contains one or more toolbars.
A protocol for passing data between computers.
The process by which incremental changes to system software are installed.
See: Jumpdrive
Instead of a desktop, Sugar maintains four views: Neighborhood, Group (Buddy), Home, and Activity.
A computer program that can copy itself and infect a computer without permission or knowledge of the user, a type of malware.
A collaborative website that allows for community contributions and editing, for example, http://wiki.laptop.org and http://wiki.sugarlabs.org.
A low-cost, power-efficient, durable laptop computer designed for education in developing countries by One Laptop per Child. The XO-1 features mesh networking and a dual-mode, low power, sunlight readable display.
All chapters copyright of the authors (see below). Unless otherwise stated all chapters in this manual licensed with GNU General Public License version 2
This documentation is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this documentation; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
ACTIVITY VIEW
Free manuals for free software
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS