Sugar on Ubuntu: Difference between revisions

From OLPC
Jump to navigation Jump to search
mNo edit summary
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{ProposeMoveToSugarLabs}}
http://wiki.sugarlabs.org/go/Community/Distributions/Ubuntu

{{jhbuild-nav}}
{{jhbuild-nav}}


== Page moved to Sugar Labs ==
So you want to try out '''Sugar''' on your '''Ubuntu''' machine? No problem! There are five installation options available.

Note that the instructions on this page are for Ubuntu Gutsy and that some notes on older version are available at the [[/Older Ubuntu versions]] page.

== The options ==

=== Option 1 - Emulated XO ===

An [[Emulating the XO|emulated XO laptop]] is the recommended platform both for "checking out" the Sugar environment and for quickly getting started developing new activities. By installing an emulation package on your (reasonably powerful) host desktop, you can run an emulated version of the Sugar environment which is essentially the same code as runs on the real laptops.

An emulated XO does not provide tools such as SVG editors or Integrated Development Environments. You will normally run such software on your host machine and push the results onto the emulated machine.

The emulated XO has certain limitations with regard to the specialized hardware in the XO. See the [[Developers/FAQ|Developer's FAQ]] for pointers on how to simulate the special hardware.

=== Option 2 - sugar-jhbuild ===

Compared with using an Emulated XO, installing sugar takes more time and space to set up, and can be difficult to maintain, but results in a more flexible better environment. This is what the core development team uses. If you are intending to work on the core system you will likely need to use [[Sugar with sugar-jhbuild|sugar-jhbuild]] to set up your environment.

Before attempting the procedure detailed in [[Sugar with sugar-jhbuild|sugar-jhbuild]] you will need to ensure that a few development tools are installed on your installation of Ubuntu...
<pre>sudo aptitude install git-core subversion build-essential python-feedparser python-json intltool \
python-gtk2-dev</pre>

=== Option 3 - Hardy packages ===

==== Sugar 0.79 (Update.1 / 8.1.0) ====
On Ubuntu 8.04 LTS ("Hardy Heron") you can install sugar from the official Ubuntu universe repositories. You get a version similar to the version included in OLPC's 8.1.0 release (build 703, formerly known as Update.1).

To install
<pre>
$ sudo aptitude install sugar sugar-activities sugar-emulator
</pre>

Here is a description of the packages:
* '''sugar''' - see [[Sugar]]
* '''sugar-emulator''' - run sugar in a window using Xephyr
* '''sugar-activities''' - all of the common activities
* '''sugar-{calculate,write,memorize,connect,chat,read,web,newsreader,measure,pippy,paint,record,turtleart}-activity''' - individual activities

Then you can either run sugar-emulator or when logging in choose the Sugar session in the display manager (tested with GDM)

See [http://lists.laptop.org/pipermail/sugar/2008-April/005348.html Jani Monoses' announcement mail] for more details on these packages in Ubuntu. See [http://janimo.blogspot.com/2008/02/sugar-finally-in-hardy-universe.html his blog post on Sugar in Ubuntu] for details on why some core activities could not be included.

Add the [https://launchpad.net/~sugar/+archive/ PPA repository] to get [[Write]] working, and some additional activities: Analyse, [[Measure]], [[Newsreader]], [[Paint]] and [[Record]].

'''CAVEATS:'''
* These packages are not the latest development versions. See [[Sugar with sugar-jhbuild]] if you want up-to-the-minute Sugar.
* These packages are similar to, but '''not exactly''' the [[OLPC Update.1 Software Release Notes|8.1.0 "Update.1" (Build 703)]] version of sugar. That had sugar 0.75.14 off the update-1 branch, whereas this has 0.79.0. For activity development, it's probably close enough, but there may be issues arising from this difference.

==== Sugar 0.82 ====

James Munro packaged the [http://wiki.sugarlabs.org/go/ReleaseTeam/Roadmap#Timeline 0.82 release] in a PPA.

See [http://learninglab.lincoln.ac.uk/blogs/jmunro/2008/07/18/day-15-sugar-packages-done/ his blog post] for instructions.

The packages are similar to the abovementioned 0.79 hardy packages.

'''Emulator Screen resolution:'''
you can change the resolution of the emulator following the instructions of [[Sugar-jhbuild#Configure_the_mode_and_resolution_of_Sugar]]
but note that the emulator.py is in /usr/share/sugar/shell/
so
<pre>
cp install/share/sugar/shell/emulator.py install/share/sugar/shell/emulator.py.backup
</pre>
should be
<pre>
sudo cp /usr/share/sugar/shell/emulator.py /usr/share/sugar/shell/emulator.py.backup
</pre>

Jani Monoses-3 on Nabble posted [http://n2.nabble.com/Status-of-Sugar-in-Ubuntu-8.04-td437161.html instructions] for getting [https://launchpad.net/~sugar/+archive/ python-abiword] so that you can install Write and Pollbuilder. You need to add the repository lines

deb http://ppa.launchpad.net/sugar/ubuntu hardy main
deb-src http://ppa.launchpad.net/sugar/ubuntu hardy main

to your /etc/apt/sources.list.

However, once installed they will not run due to other failed dependencies.

Jani also provided notes on reasons why various other packages didn't make it into Ubuntu.

=== Option 4 - Unoffical Deb Packages for Gutsy ===

There are packages of Sugar and of about a dozen activities [https://launchpad.net/~jani/+archive provided by Jani Monoses], his blog, with more information can be found at [http://janimo.blogspot.com/search/label/olpc].

To install
<pre>
$ sudo -s
# echo "deb http://ppa.launchpad.net/jani/ubuntu gutsy main" > /etc/apt/sources.list.d/sugar.list
# apt-get update
# apt-get install sugar sugar-emulator sugar-activities
</pre>

Here is a description of the packages:
* '''sugar''' - see [[Sugar]]
* '''sugar-emulator''' - run sugar in a window using Xephyr
* '''sugar-activities''' - all of the common activities
* '''sugar-{calculate,write,memorize,connect,chat,read,web,newsreader,measure,pippy,paint,record,turtleart}-activity''' - individual activities

Then you can either run sugar-emulator or when logging in choose the Sugar session in the display manager (tested with GDM)

'''CAVEATS:'''
* The repo is not signed so you need to say 'y' when asked by apt-get
* The sugar package doesn't depend on the libraries it really needs. Hence you are stuck to finding and getting them yourself. (see below)
**^-- Please list which exact section below; thanks!
**Please add a comment on how to fix errors like: 'import site' failed; thanks!
* These packages are not the latest versions. See [[Sugar with sugar-jhbuild]] if you want the latest versions.
* The gstreamer package is also required and not in the list of package dependencies.
**^-- Please list the full package name of gstreamer (I got "E: Couldn't find package gstreamer"); thanks!

'''Emulator Screen resolution:'''
you can change the resolution of the emulator following the instructions of [[Sugar-jhbuild#Configure_the_mode_and_resolution_of_Sugar]]
but note that the emulator.py is on /usr/bin/sugar-emulator
so
<pre>
cp /sugar-jhbuild/build/share/sugar/shell/emulator.py /sugar-jhbuild/build/share/sugar/shell/emulator.py.backup
</pre>
should be
<pre>
sudo cp /usr/bin/sugar-emulator /usr/bin/sugar-emulator.backup
</pre>

=== Option 5 - Sbuntu: Ubuntu Live USB/SD system that boots into Sugar ===

Basically, you download a stock [http://releases.ubuntu.com/hardy/ubuntu-8.04.1-desktop-i386.iso ubuntu-8.04.1-desktop-i386.iso], convert it into a Live USB/SD system, and then add the file [http://dev.laptop.org/~probono/sbuntu/sugar.squashfs sugar.squashfs] to the directory casper/ on the USB/SD partition. Done.

In the same way, you could add the file to a Live CD.

The file sugar.squashfs is kept separate from the Ubuntu system itself, which stays unmodified. This way, sugar can easily be updated without having to download the entire Ubuntu system. Just replace sugar.squashfs with the updated version.

For more information, see [http://dev.laptop.org/~probono/sbuntu/ http://dev.laptop.org/~probono/sbuntu/]

=== Extra tips on using sugar-jhbuild in Ubuntu ===
==== apt-get the prerequisites ====

You need a number of packages from the Ubuntu repositories. Some of these packages are not available for the stock Ubuntu install, and you will need to enable the ''universe'' and ''multiverse'' repositories. (You can do this by either using the Synaptic Package Manager, or simply editing /etc/apt/sources.list, but don't forget to reload afterwards.)

Gutsy 7.10
<pre>
sudo aptitude install \
git-core automake1.9 cvs python-json python-numpy libdbus-glib-1-dev python-cairo-dev\
automake1.7 bison flex libtool subversion darcs g++ gettext libpoppler-glib-dev\
libgstreamer-plugins-base0.10-dev xserver-xephyr libavahi-glib-dev libjpeg62-dev \
libtiff4-dev libsqlite3-dev python-avahi libfribidi-dev libenchant-dev \
libgnutls-dev libboost-dev libxslt1-dev libgsf-1-dev libasound2-dev libssl-dev\
libxt-dev libgtk2.0-dev libgconf2-dev liboil-dev libtheora-dev libncurses5-dev\
python-gnome2-dev libglade2-dev gtk-doc-tools libavahi-client-dev libxml2-utils gnome-doc-utils\
libxres-dev libwv-dev libgnomevfs2-dev python-simplejson python-json libcroco3-dev
</pre>

Even with the universe and multiverse enabled you can have some problems installing these packages.
You can fix them using the sources.list generator that you can find on [http://www.ubuntu-nl.org/source-o-matic/ www.ubuntu-nl.org].<b>Link Broken as of
5/20/2008</b>

There may be more packages required; if you find any more, please append them to this list.

<pre>Note:I needed to install libgnomeui-dev version 2.16.1, libgnomeuimm-2.6-1c2a, and
libgnomeuimm-2.6-dev. I no longer get the error "package libgnomeui-2.0 cannot be found"
however I still encounter other errors [chundevi]</pre>

<pre>I was building an Edgy-based VM from a debootstrap base and using Edgy packages. I needed to install librsvg2-common before sugar would run.</pre>

Note: If you get the error "package python-avahi not available" try this-
On PPC, I used the following command:

<pre>sudo apt-get install build-essential cvs docbook-utils subversion libgtk2.0-dev libidl-dev \
gnome-common gtk-doc-tools libxt-dev automake1.7 automake1.8 automake1.9 python-gtk2-dev git-core python-dev libgconf2-dev libgnome2-dev \
python-cairo-dev libtiff4-dev python-gnome2-dev libxdamage-dev libxdamage1 libxcomposite-dev libgnomeui-dev libtool libfribidi-dev \
libgsf-1-dev libbz2-dev libwmf-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libgnomeprintui2.2-dev libenchant-dev \
telepathy-gabble python-telepathy xserver-xephyr python-setuptools python-sqlalchemy \
matchbox-window-manager
</pre>

==== Xapian ====

==== Start Avahi ====
(not needed on Dapper)
Then you must ensure that the Avahi daemon is enabled and running. Execute:

<pre>sudo vim /etc/default/avahi-daemon</pre>

and ensure the directive "AVAHI_DAEMON_START" is set to 1. Then execute:

<pre>sudo /etc/init.d/avahi-daemon start</pre>

=== Packages from Gutsy ===

Edit your /etc/apt/sources.list to include 'gutsy' repositories (main and universe), then upgrade/install:

<pre>sudo aptitude install python-dbus python-telepathy</pre>

== Using Sugar-jhbuild ==


'''This page has been [http://wiki.sugarlabs.org/go/Community/Distributions/Ubuntu moved] to the Sugar Labs wiki.'''
Use of Sugar-jhbuild is detailed on [[Sugar_with_sugar-jhbuild|building Sugar from sources]].


[[Category:Installing Sugar]]
[[Category:Installing Sugar]]
[[Category:Python]]

Latest revision as of 18:49, 25 September 2010

Developer's Setup
 Fedora
 Ubuntu
 Debian
 Gentoo
 Slackware
Wiki Category
modify 

Page moved to Sugar Labs

This page has been moved to the Sugar Labs wiki.