Getting Involved

Knowledge Base



TBD (details)

Meeting Logs

Collaborative Editing: Working with the Ubuntu Desktop Course Files

This is a step-by-step guide for creating a branch of the Ubuntu Desktop Course and working on it. The Ubuntu Desktop course is hosted on Launchpad in a bazaar repository ( If you want to READ the Ubuntu Desktop Course files, you do not need to get the source files from Launchpad. This is for people who would like to update the files and submit their changes back to the project. You may download a PDF version of the Ubuntu Desktop Course, ready for printing or reading, from the main page for this project.

Step 1. Download and install Bazaar

To keep track of the changes in the Ubuntu Desktop Course, we are using Launchpad and Bazaar. If you prefer, you may contribute your requested changes through the Wiki tasks page. Bazaar is a "version control system." You can think of it as a big UNDO button for your own work, but also a relationship counselor for files. In other words: it is a tool that allows you to integrate changes made between many different authors, and also one that allows you to UNDO mistakes. The command line utility for Bazaar appears to be the most stable at this time; however, you may wish to try one of the other programs listed on

$ sudo apt-get install bzr

This step is also documented as a screen cast.

Step 2. Download the source files for the course from Launchpad

In this step you will download the source material for the course. This command will download approximately 500 MB of data. It will store the course in a new directory called, "ubuntu-desktop-course."

$ bzr branch

That was easy, yes? If you wish to use a different name, simply add the new directory name at the end of the line, like this:

$ bzr branch my-desktop-course

This step is also documented as a screen cast.

Step 3. Edit and change the source files

Use any editor you like that supports editing of DocBook XML.

  • v3 supports DocBook XML. If you have never edited an XML file this is your best option. Unfortunately OOo v3 is not yet available in Ubuntu. There are installation instructions available if you need them. These instructions are also available as a screen cast.

  • bluefish offers easy use of xmllint to check the XML validity
  • gnome-edit offers syntax highlighting

For more options see

At this stage you might also update or replace screen shots. As long as the file name stays the same, it will automatically be included in your updates. If you need to add new screen shots, please consult the team before proceeding.

Step 4. Save your changes

First you must "commit" your changes to your local history for the project. Committing a change does not upload the changes to the main project. Commit after every logical change (for example: after the update of a paragraph or list). Use sensible commit messages. If you ever want to "undo" a change you will use these commit messages. The person who is integrating your changes will also use the commit message to determine if your change should be accepted.

$ bzr commit -m "Example commit, corrected error on bzr usage."

This step is also documented as a screen cast.

Step 5. Tell Launchpad who you are

For the next step you will need tell Launchpad who you are. There is a detailed tutorial on You only need to do this step once, but it will take a few minutes to complete. ... Now that you have connected your Launchpad account to your computer, you must also tell Bazaar about your Launchpad account:

$ bzr launchpad-login <LAUNCHPADUSERNAME>

Step 6. Publish your branch

In this step you will upload your changes to the project. You will not overwrite anything! Don't panic! After this step you will make a request to have your changes merged into the main project. Someone will review your work before accepting the changes into the main project. From your branch directory use the following command:

$ bzr push lp:~YOURLAUNCHPADNAME/ubuntu-desktop-course/CODENAME

Of course you don't really need to use a "codename." This is the name of the branch that will be created for the Training Team to merge in your changes. You can be descriptive here (but using only letters and hyphens). For example, your CODENAME might be: revised-ch1. Please note that a CODENAME is really a "branch name."

Step 7. Notify the training team of your new branch

Navigate to your page of code contributions. It will follow the URL format of Select the branch you just uploaded and follow the on-screen instructions to "Propose for merging into another branch."

Converting XML to PDF

If you are not using to make your changes, and you would like to create a PDF to proof read the course, you will need to install more tools. The following packages are required to convert XML to: docbook-xsl, xsltproc, dblatex, and make. You must also download the source files for the course from the Launchpad repository. Instructions are included in the previous section.

Installing packages with Synaptic

  1. Navigate to System, Administration, Synaptic Package Manager
  2. Using the search function find the packages to install (docbook-xsl, xsltproc, dblatex, and make).
  3. Enable the necessary packages by placing a check mark next to each.
  4. Apply the changes.

Installing packages from the command line

If you prefer, you can install the necessary packages from the command line. These steps are an alternative to using Synaptic. You do not need to use both methods.

$ sudo apt-get install docbook-xsl xsltproc dblatex make

Making the PDFs

Once you have the necessary packages you may use the "Makefile" to create PDFs. The following steps must be run from the command line.

  1. Navigate to Applications, Accessories, Terminal
  2. Change directory to the Ubuntu Desktop Course working directory.
  3. To create a student guide, type: make booksg

  4. To create an instructor guide, type: make book

  5. To create a question and answer set, type: make questions

HOWTO translate the Ubuntu Desktop Course

into another language (in collaboration with others).


The Ubuntu Desktop Course supports now Launchpad Translations and can be translated easily with help of the Launchpad UI.

To get a translated course

Note: translations are automatically committed once a day to the branch, and are then manually merged to trunk every few weeks. You might want to consider checking out the translations branch to use the most recent translations when creating the PDF documents.

HOWTO add the Ubuntu Desktop Course on an Ubuntu 7.10 Live CD

with a little help from the UCK (Ubuntu Customization Kit).


  • a computer with Ubuntu 7.10 running and access to the Internet
  • 5 GByte free disk space in $HOME/tmp
  • an Ubuntu 7.10 ISO-Image file (700 MByte)
  • the Ubuntu Desktop Course file (73 MByte, $HOME/student.pdf for example)

Download uck_2.0.1_all.deb from and install it.

Open a Terminal window (Applications -> Accessories -> Terminal) and type in the command uck-gui. Answer all the questions the uck-gui asks you...

When the uck-gui asks you "Do you want to customize CD manually during build" then answer "yes"...

When the "Please choose customization action" window appears then let it untouched.

Instead open another Terminal window (Applications -> Accessories -> Terminal) and type in the following commands:

  • sudo mkdir $HOME/tmp/remaster-iso/docs
  • sudo cp $HOME/student.pdf $HOME/tmp/remaster-iso/docs/
  • sudo mkdir $HOME/tmp/remaster-root/etc/skel/Desktop
  • sudo ln -s /cdrom/docs/student.pdf $HOME/tmp/remaster-root/etc/skel/Desktop/Ubuntu_Desktop_Course.pdf

Close the Terminal window.

Get back to the "Please choose customization action" window, select "Continue building" and klick on <OK>...

After a while you will find the remastered ISO-Image file as $HOME/tmp/remaster-new-files/livecd.iso (780 MByte).

Burn livecd.iso on a DVD(*) and then boot from this DVD...

You will see an "Ubuntu_Desktop_Course.pdf" icon on the desktop. Klick on the icon to open the Ubuntu Desktop Course. Smile :-)

(*)BE AWARE: If you want to burn livecd.iso on a CD the size of the file has to be less than 700 MByte. To achieve this select "Run package manager" in the "Please choose customization action" window of the uck-gui and remove some software packages you don't need.

HOWTO Add Drop-Shadow to Screen Shots

The current documentation recommends using GIMP for adding drop-shadow to screenshots manually. The script below adds drop-shadow to multiple files in batch, very quickly.


  • The script seems to barf if there are spaces in the filename.
  • You may need to logout and back in again after creating the bin folder, in order for it to be added to your PATH.
  • It appends the word 'shadow' in front of the filenames, which means you'll then need to rename them after. I'll work on changing that.

Installing the script

  • Install pngnq (a pre-requisite this script can use).

sudo apt-get install pngnq
  • Make a folder in your home directory called 'bin' to put the script in

Note: This folder has special significance in that if it exists it will be pre-pended onto the search path. This means if scripts/commands exist in this folder it will be possible to execute them from anywhere.

  • Download the script attached to this page and save it to ~/bin.

  • Make sure it's executable.
    • Navigate to ~/bin in the file browser, right click, select Permissions tab and choose 'Allow executing file as program'.

Using the script

  • Open a terminal (Applications --> Accessories --> Terminal)

  • Navigate to the folder containing the screenshots to have drop-shadow added (  cd ~/foldername  )

  • Execute the shade script *.png
  • You should end up with new images prefixed with "shadow", which have the drop-shadow applied.






Training/KnowledgeBase (last edited 2009-08-31 10:21:51 by 88-134-43-96-dynip)