Archive for the 'Linux' Category

Xfce announces alpha release of version 4.6

After about a year and a half of development, the Xfce team has announced the alpha release of Xfce 4.6, codenamed “Pinky” “Pinkie”.

Xfce is the desktop environment and main reason for the existence of Xubuntu. It provides the file manager, panels and much more, keeping your desktop fast yet easy to use. Thus, Xfce is one of the most important parts of Xubuntu, and the 4.4 release has been enjoyed by many users of Xubuntu since it was released.

Obviously, the 4.6 release will be very significant for Xubuntu, and this is an important milestone in the road towards that release. While it was initially hoped that this release would make it into Xubuntu 8.10 (codenamed “Intrepid Ibex”), the Xfce release schedule suggests that, with three beta releases and two release candidated still scheduled, that target won’t be met. However, you can expect to see the new release in Xubuntu 9.04 (codename “Jaunty Jackalope”), and if you’re running 8.10 you can try the alpha release by adding the xubuntu-dev PPA to your software sources. (Note: at the time of writing this the packaged version is not this actual alpha but a version before that, however, this alpha will be packaged soon.)

The new version of Xfce comes with many new features. Xfce now has a new configuration backend called xfconf, similar to gconf, but simpler and easier to work with. This brings more flexibility and better integration between Xfce components. You can now control your desktop settings through the command-line – this is not only handy for people helping on IRC (i.e. there is no more need to guide the user through all kinds of settings dialogs – though, IMHO, that would be less confusing for the user), it also means automated scripts can easily update your settings. One use I see for this is being able to change your keyboard layout using a key combination, an oft-requested feature by programmers.

Speaking of key combinations: the confusing keyboard shortcut-themes have been removed and conflicts between keyboard shortcuts and window manager shortcuts are now easily resolved. All these new settings also come with updated settings dialogs, which can be started standalone as they are now, but also embedded into the settings manager – a feature of which Jannis made a screencast.

Furthermore, Xfce now ships libxfce4menu. This is a software library aiming to implement the menu standard also implemented by GNOME and KDE and partly implemented by Xfce 4.4. While it is currently in use only by the desktop and the Appfinder (the latter of which has been completely rewritten to support libxfce4menu), it paves the way for a proper menu plugin in the panel that you can actually edit.

Apart from the libxfce4menu support, the desktop manager xfdesktop has also received a few small improvements over the previous version. It has a redesigned preferences dialog, includes a few more options for the desktop background (such as colour saturation adjustment), and can now automatically start and stop managing a new desktop when you respectively plug or unplug a monitor.

Finally, the Xfce mixer plugin has been completely rewritten to use gstreamer. One effect this has is that Xubuntu will probably definitely be switching to gstreamer-based applications (Xubuntu used to include a xine version of Totem, the movie player, but recently switched to the gstreamer-based version). The biggest benefit this brings users is that it will automatically ask to search for additional media support when it is not installed yet, which happens e.g. when you try to play an MP3-file on a freshly installed Xubuntu.

All in all, though not as big as 4.4 was, this is shaping up to be another fine release of Xfce that has me looking forward to it.

Advertisements

Getting help with Xubuntu

Even though I’d very much like to say the opposite, most people will probably need help with Xubuntu at some point. Luckily, it is quite easy to find help – you just need to know where to look.

First of all, you need to determine what kind of problem you are having.

Getting started

If you are new to Xubuntu, you will want to read the excellent Xubuntu documentation, that is also shipped with Xubuntu (in version 8.04 it is located under /usr/share/xubuntu-docs/index.html). It should be your first stop when trying to figure out how to connect to the internet, how to install applications, and similar basic tasks. All this thanks to the huge, voluntary efforts of the Xubuntu Documentation Team (you can also help out with the Xubuntu documentation yourself!).

Of course, if you want to perform slightly more advanced tasks, such as setting up periodical backups on Xubuntu, the internet is your friend. There are a lot of great resources on the internet that can help you with anything from installing Xubuntu on the Eee PC to browsing Windows network shares with Thunar. However, be sure to double-check which version of Xubuntu the guide is written for. For example, the post on browsing Windows network shares I just linked to is, at the time of writing, a little outdated and contains unnecessary steps.

It is also safest to look for articles written specifically targeting Xubuntu – tutorials aiming at Ubuntu users will often work as well, articles targeting just “Linux” are less likely to result in success.

When you can’t find the answer

If you’ve spent time roaming the dark alleys of the internet, spit through every last bit of Xubuntu’s official documentation, but still don’t have an answer, there are a number of support options.

One requirement for all these options is that you specify as much information as possible. This includes, but needn’t be limited to, the fact that you’re running/wanting to run Xubuntu, which version of Xubuntu you’re running, what you’re problem is, what the expected result is, and perhaps how proficient you are with Xubuntu. This allows other people to help you in the best possible way.

The xubuntu-users mailinglist is, well, a mailinglist for Xubuntu users. All messages sent to a certain email address (xubuntu-users@lists.ubuntu.com in the case of xubuntu-users) will be delivered to everybody who has subscribed to that mailinglist. Thus, if you need help with Xubuntu, you can subscribe to that mailinglist, send an email to that address explaining your problem, and perhaps the next time you check your email, the answer is waiting for you.

You might not have the patience to wait for people to respond, however. If that is the case, fear no more, as IRC comes to the rescue! IRC is a way of being able to communicate in real time with other people – in other words, a chatbox. First you need an application to talk IRC – Xchat, DarkIRC, whatever, it shouldn’t really matter. Using your IRC client, you need to connect to a network – FreeNode (on irc.freenode.net) in this case. Once you’re connected to the network, you need to join the appropriate chatroom (how old-school is that?) – the Xubuntu support room (or channel in IRC lingo) is #xubuntu. You can join by typing /join #xubuntu.



Once you’re in – ask away! Be sure to be polite, not to spam the channel, and realize that, if nobody answers, probably nobody knows. Don’t ask the same question over and over again.

It is no secret, however, that the Xubuntu community is not quite the size of the Ubuntu community. Luckily, many people in the Ubuntu community can also help you with your Xubuntu problems if nobody in the Xubuntu community can. The place to get help from the Ubuntu community is the Ubuntu forums. With a very large amount of active members, your question is very likely to find an answer here.

Another place to get help is at Launchpad answers, which is part of Launchpad, a project management website where Ubuntu is managed. Here, you’ll be more likely to find developers, who are most likely to be able to help you.

When there is no answer

Even with this vast range of support options, some problems are just errors in the software – so called bugs. These can be reported at bugs.ubuntu.com, where a developer can look at it and, if you’re lucky, provide a fix for you and other users to enjoy.

Conclusion

Of course, there will still be times when no answer can be found. However, after having read this article, you’ll hopefully be able to better find help yourself. And of course, if you cannot find help, feel free to ask me – I may not be able to provide an answer, but I might be able to give you some pointers.

Sharing the love with BitTorrent

Xubuntu 8.04 is out! This release, along with those of Ubuntu, Kubuntu and whatnot, means that the Ubuntu servers are going to have a hard time with everybody and their stork downloading these new releases at the same time. Being the good open source citizen that you are, you are probably more than willing to take some of the load. Look no further, as BitTorrent is here to save the day!

In short, BitTorrent allows you to download files from other people, meanwhile sharing the parts you have already downloaded with other people who, just like you, are eager to try out the latest and greatest the open source community has to offer.

To download files using BitTorrent, you need a BitTorrent client. Since Xubuntu 8.04 includes Transmission, that is what we will be using. If you’re not using 8.04, make sure to install it.

The first thing we need, is a torrent file, a file with a name ending in .torrent that contains all the information Transmission needs to download the appropriate files. The Xubuntu 8.04 torrent can be downloaded from Ubuntu’s torrent website, where you can select the graphical Desktop CD (which is what most people want) or the text-based Alternate Install CD. We want the torrent files for Intel x86 architectures (most computers) or for AMD64 architectures (you’d probably know if you need this, using 64 Bit). A torrent file is not that big, so it should not take too long to download and does not place much of a burden on the servers.

After having downloaded the file to wherever you like, open up Transmission from Applications->Network->Transmission.



When newly installed, Transmission will download all files into the same directory as the torrent file. Instead of adapting to software (by remembering where it downloads files to), I make software adapt to me, so when I open a torrent file with Transmission, I want it to ask me where I want the files to be downloaded to.

Luckily, this is easy: simply open File->Preferences. While the preferences window is filled with cryptic terminology, the option I’m looking for is quickly found: all I need to do, is check the checkbox in front of Always prompt for download directory.



You can configure a whole host of additional options in the prefences window, such as the maximum download and upload speed. Be aware, though, that if you lower the maximum upload speed (i.e. the speed with which you are sharing the files with other people), the download speed will also decrease, so as to encourage everybody to share as much as they can.

When you’re done configuring Transmission, click Close in the Prefences window – it’s time to start downloading! Click File->Add and locate the torrent file you downloaded earlier. After you’ve opened the file and selected a target folder, Transmission will start downloading. While it will still be a long wait (the Xubuntu ISO image is a whopping 544 MB), if a lot of people are sharing the love then it’ll be faster than a direct download, and you’re helping other users at the same time.



Once you’re done downloading, you’ll want to verify that the file you downloaded is the correct one. After you’ve done that, the big moment is there: you can install Xubuntu!

Don’t close Transmission though! If you leave the window open after your download has completed, Transmission will continue sharing the downloaded file with other users – this is called seeding and is a good habit if you want to be a Nice Guy. You can also resume seeding after you’ve closed a torrent – simply re-open the torrent file and select the same download location.

All in all, while often associated with illegal downloading, there are plently of legit situations in which BitTorrent saves the day. Now spread the love!

Access to the proprietary world

Who doesn’t like the idea of open source, of sharing, and that every one who is able to can change software to his/her likings and share the changes with the rest of the free software world? Unfortunately, it takes a big deal of self-restraint to only use completely liberated software. Who can resist the attraction of shiny animations on websites (Flash), or those of playing music on your iPod (which does not support any of the free formats that are superior in so many ways)?

Unfortunately, due to a lot of legal restrictions, Xubuntu is unable to add support for these restricted formats to a default installation. Luckily, since Xubuntu Feisty (7.04) it is easier than ever to enable, using Applications->System->Add/Remove.... With just a few clicks, you can install the package “Ubuntu Restricted Extras”. So, I open up Add/Remove… and search for “Restricted Extras”…

Searching for "Restricted Extras" - where is it?

Not found?! Oh, wait…

To broaden your search, choose ‘Show all Open Source applications’ or ‘Show all available’ applications.

So, in the top right-hand corner, I select “All available applications” and, what a surprise, there it is!

Searching for "Restricted Extras" - there it is!

Cliking the checkbox in front of “Ubuntu restricted extras” I get the following pop-up:

This should be "Enable additional repositories?"

Hmm… If you are a person (as in: not a company) then it should be legal for you to install these packages. I am a person, so I click “Install”.
However, the purpose of this window isn’t entirely clear. Indeed, the button said “Install”, but it actually meant “Enable”, as in “enable extra repositories” (i.e. locations to download software from). So, if you were thinking the package would now be installed: you’re wrong. In fact, the checkbox in front of “Ubuntu restricted extras” is still unchecked. Check it now, then click OK. You will be asked if you are sure, click “Apply”. The packages will then finally be installed.

There you have it! You can now play your music and watch YouTube (and yes, you can use Gnash for that, but more likely than not situations will occur where you need a version of Flash later than seven). You can use Java (which will be open sourced and thus can be included in future releases of Xubuntu) and websites will now be displayed in the fonts their authors wanted them to be displayed in! Enjoy!

Note: the next version of Xubuntu, Gutsy Gibbon, will introduce Xubuntu Restricted Extras, which will install packages more appropriate for Xubuntu.

Setting languages

I always have to laugh a bit when I see advertisements for computers loaded with Windows that can dual-boot (!) both English and Dutch versions of Windows. One of the greatest advantage of using Xubuntu (or Ubuntu, or whatever) is that it is easy and, no less important, free of charge to use it in different languages. In fact, you can use different languages on a per-account basis!

To set it up, you just have to open Applications->System->Language Support.

Language support

From there, you can browse through a list of supported languages. I personally prefer British English (which I also set as the default language in the drop-down menu at the bottom), but my sister does not speak English and therefore would like to use my system in Dutch. No problem, I just scroll through the list, select “Dutch” and check the checkbox under “Support”. Now I can click “OK”, upon which it will download the selected language and set it up. And if you later install other applications that have been translated to the other language, that other language will be automatically installed with it.

To set Dutch as the default language for my sister, at the login screen, she can just choose “Dutch” as the language, then when she logs in she will be prompted whether she wants to use it as the default language or just for that session. (Note: depending on the version of Xubuntu, or Ubuntu, you use, a “Languages” button might not be available. To access it, you first have to select Options and then Languages.)

Unfortunately, translating every single piece of software is a huge job, mostly done by volunteers, so not everything will be translated. But the most important software has mostly been translated, and using a partially-translated operating system is already way easier than using one in another language.

Xubuntu Feisty – now from USB drive!

IMPORTANT NOTE: Unless for some specific reason you want to run Xubuntu version 7.04 specifically from your USB Drive, this tutorial is deprecated. I’ve written an updated and much easier tutorial on how to run the latest version of Xubuntu from your USB flash drive.

In my previous post I showed you how you can run Ubuntu Feisty Fawn from your USB drive, and have it preserve any changes you make. In this post, I’ll show you how to do it with Xubuntu. And of course, as usual, you can also view the screenshots as a slideshow.

Using Xubuntu has a few advantages. The first one is that it is more appropriate for this blog (hence the name Xubuntu blog 😉 ), and that I like it better. The second one is that it is faster than Ubuntu, which is quite handy seeing that running it from a USB drive (or flashdrive, pendrive, memory stick, or whatever you’d like to call it) does bring about a speed decrease. The third advantage is that it takes up considerably less space on your USB drive. About 70 MB matters quite a lot, especially if you’re using a 1GB drive (which is the minimum).

But I hear you thinking: didn’t Ubuntu 6.06 “Dapper Drake” already introduce the possibility of such a “persistent liveUSB session”? Why do we need a specific tutorial for Feisty?
OK, perhaps you didn’t think that. But you would be correct if you were: it is already possible since Dapper. However, some packages in Feisty introduced this bug which prevented this feature from working. To work around this bug, we will use some packages from the previous version, 6.10 “Edgy Eft”, which do not suffer from this bug and which most likely won’t cause you additional problems.

Before we start, I’d first like to thank everyone who has worked and is still working on fixing this bug (more details on the bug page and the forum thread) and especially Mike (mjpca) for providing this teporary workaround. His writeup of the steps he took allowed me to do the same for Xubuntu, also using this great guide from “bibe’s” site. And last but not least, this guide would not have been possible without the detailed How-to from Debuntu on how to install Ubuntu on a USB pendrive.

First off, be sure to realize that this will wipe all existing data on your USB drive. Furthermore, these instructions are geared towards Xubuntu, but they’ll also work on other Linux distributions if you change the instructions a bit (e.g. perhaps you use another program for partitioning). It might also work on Windows (I know “syslinux” is available for Windows) but then the instructions will probably differ a lot so it’s your own responsibility.
You need a USB drive of at least 1GB but as that only leaves about 240MB for any additional programs you’d want to install or documents you want to save, I recommend you to use a USB drive of 2GB or more.

The process of putting Xubuntu on your USB drive is not that difficult. Basically we need to divide your USB drive in several regions (partitioning), one of which will hold the modified Xubuntu and one which will hold all your documents and settings. However, because this will take a while, I suggest you already start downloading the modified Xubuntu image generously hosted by pepeio (I have also created a XubuntUSB torrent, hosted on LinuxTracker. If you know how to, please use that torrent.).

As your partitions need to stay unmounted, I recommend you to turn of “Volume Management” (you can turn it on again after you have finished this tutorial). To do so, open Thunar, click Edit->Preferences, then switch to the “Advanced” tab and make sure “Enable Volume Management” is unchecked.

Then, fire up Gparted (Applications->System->GNOME Partition Editor) and, from the drop-down menu in the top right corner, select your USB drive. Be sure to select the correct one, because if you select your hard drive we will remove all data on that and I suppose you won’t like that. Note down the drive (e.g. mine was /dev/sda) because you will need it later. Delete all partitions on your USB drive if there are any, then click the checkmark to apply. After that, the screen should look like this, without any partitions:
Setting up XubuntUSB - no partitions on my USB drive

Right click the “unallocated” space and select “New” to create a new partition, the one that will hold the modified Xubuntu. Set it to be 760 MB (Gparted calls it MiB) and set the filesystem to “FAT16”.
Setting up XubuntUSB - setting the first partition

Then create the second partition, which can take up all the remaining space. Set the filesystem of this one to “ext2”.

Setting up XubuntUSB - setting the second partition

Now, click the checkmark or select Edit->Apply to apply your changes.

Then, open a terminal window (Applications->Accessories->Terminal). In the following command, replace the “/dev/sdx” with your drive (ine was “/dev/sda”, so that would become “/dev/sda1”). If you want, you can change “xubuntusb”, which will be the label for this partition. Enter this command and press enter:
sudo mkfs.vfat -F 16 -n xubuntusb /dev/sdx1
Again, in the following command, change “/dev/sdx” with your drive. This time, however, you may not change the label “casper-rw”, as it will be used to determine where to save changes to. Enter this command and press enter:
sudo mkfs.ext2 -b 4096 -L casper-rw /dev/sdx2

Setting up XubuntUSB - creating the filesystem of the second partition

Now, make sure you have unmounted both partitions (in Thunar, right click them and select “unmount”), then unplug your USB drive. You can then plug it back in and you should see that it will appear with the new labels in Thunar. If the modified Xubuntu has finished downloading, extract it and copy all the files to the “Xubuntusb” drive. You might get complaints about symbolic links that could not be created, but that is no problem, just select “Yes to all”:
Setting up XubuntUSB - sfailed to create symbolic links, no problem

Copying of the files should take a while (especially the file “filesystem.squashfs”), but when it’s done, there is just one final step you have to do: make sure your computer can boot from the device. In order to do this, you need “syslinux” and “mtools”, so fire up Synaptic (Applications->System->Synaptic Package Manager), mark those for installation and click apply. When they are installed, first unmount both your partitions, then open a terminal window (Applications->Accessories->Terminal) and execute
sudo syslinux -f /dev/sdx1

Setting up XubuntUSB - now allow it to be booted, and we're done!

If everything went allright, you should now be able to run XubuntUSB, congratulations! If it didn’t work for you, see “Troubleshooting” below, if it did, please leave a notice in the comments. Thanks!

Note: If you want to create a new user, be sure to grant administrator rights, otherwise it may cause errors.

Another note: For those who don’t like the amount of files on their USB drive, Fisslefink posted a great how-to which guides you to using GRUB instead of Syslinux, so that only two folders will be used. It didn’t work for me, but since he also includes instructions on how to revert back to Syslinux, there is no harm in trying.

Troubleshooting

If you experience any troubles, please first check if your problem is in the following list, and if not, please ask for help in the forum thread.

  • If, upon boot, you get the message no partition active, you have to set it active for boot. Open up a Terminal (Applications->Accessories->Terminal) and type sudo fdisk /dev/sdx (you know, replace sdx with your drive). Press “a” and then “1”. Press “w” to save and then it should work!
  • You might think it is weird that your casper-rw drive shows up on your desktop, and actually, it shouldn’t, but everything still worked as it should with me, so it should not be a problem. Note that you cannot browse it, though.
  • Toad mentions that he could not boot from his USB drive with this tutorial for Ubuntu, but he fixed it:

    I finally got the computer to boot from the USB stick. I had to set the fat16 partition to bootable. ‘cfdisk /dev/sdx’ should do the trick, just press enter on the set bootable option.

  • If this worked, but after a while it doesn’t anymore, you can remove any edits you did to restore it to the point where it worked (all your settings will be lost though):
    sudo mkfs.ext2 -b 4096 -L casper-rw /dev/sdx2
    (Thank zenobiaflex for this one)
  • If your drive won’t boot correctly, your Master Boot Record may be corrupted. You can repair it with Lilo (so open up Synaptic from Applications->System->Synaptic Package Manager and install the package lilo) using the following command from the terminal:
    sudo lilo -M /dev/sdx
    (From PiterP)
  • If, during shutdown, the screen switches from the shutdown screen with the Xubuntu logo with the progress bar to a black screen, possibly with error messages, then you computer is probably just shutting down the normal way without notifying you of its status. At a certain moment (not too long after the screen turned black) it will have reached the point where it would have normally said something like “remove the disk, close the tray (if any) and press enter”. So when the screen turns black, you just have to try to press enter a little while after it has turned black.

Ubuntu Feisty on your USB drive – finally!

IMPORTANT NOTE: Unless for some specific reason you want to run Ubuntu version 7.04 specifically from your USB Drive, this tutorial is deprecated. I’ve written an updated and much easier tutorial on how to run the latest version of Ubuntu from your USB flash drive.

Important: As SurJector mentions, he has found another workaround that is much less work. After you have followed his instructions, you can skip on to the partitioning part (i.e. that part that is very similar to almost my whole post about putting Xubuntu on your USB drive).

Update: I now also have a guide on putting Xubuntu Feisty on your USB drive.

Note: All screenshots are also available as a slideshow.

When, in June 2006, Ubuntu Dapper Drake was released, it introduced a very exciting new feature: the ability to run it from a USB drive (also pendrive, USB bar or memory stick). This would work just like a LiveCD, with the big improvement that all your data could be saved onto the USB drive! This means not just your documents, but also e.g. network settings or your desktop background. You were practically carrying around a fully-functional operating system on your USB drive!

However, as Ubuntu 7.04 “Feisty Fawn” contained some new packages, it also introduced a bug due to which your data would no longer be saved. When it was released, this bug still wasn’t fixed. It is expected to be fixed in the next release, 7.10 “Gutsy Gibbon”, to be released in October of this year. Up until then, we’re out of luck.

You’d think. However, thanks to the hard work of Mike (mjpca on the Ubuntu Forums) and some others (see the bug report on Launchpad and the thread on the Ubuntu Forums) there is now a way to work around this bug, which I’m going to show you in this post.

The basic idea is that the files that prevent persistence (the ability to save your data to the USB drive) from working can be replaced by their previous versions as present in Ubuntu 6.10 “Edgy Eft”. However, because files on the LiveCD are compressed so they can fit on one CD, replacing these files requires quite some effors. Luckily, Mike has done all the hard work for you and has created a new hybrid Edgy/Feisty image. To use it, your computer needs to be of the type Intel x86. Don’t worry, if you don’t know what this is, you probably use it. Furthermore, I recommend you use a USB drive of at least 2 GB, because the image is quite large.
For those with 1GB USB drives or who prefer Xubuntu (which would be me ;)) I plan on creating a Xubuntu image, but I’m not quite sure if I’m able to. If it works out, of course I’ll post on this blog.

Note: This tutorial is adapted from this How-to from Debuntu.org.

To start, fire up Gparted from Applications->System->GNOME Partition Editor (note: for those that do not use Xubuntu, you’ll have to find the applications yourself). On the top, right-hand side, you can select which drive you want to partition — select your USB drive. Be careful not to select any other drive, because you will be erasing all data that is available on that drive! You first have to delete all existing partitions, which will erase all existing data. Note down or remember the name of your drive, because you’ll need it later. Mine is /dev/sda

Preparing my USB drive for persistence - clear partitions

We then create the first partition, which will contain Ubuntu. Set its size to 840 MB (which is the same as MiB), its filesystem to FAT16 and leave the rest as is.

Preparing my USB drive for persistence - creating main partition

We will then create the second partition, which will hold all of our data. Just let it take all of the remaining space and set the filesystem to ext2.

Preparing my USB drive for persistence - creating casper-rw partition

Make sure that every partition is unmounted. If a partition is not, right-click it and select unmount.

Preparing my USB drive for persistence - make sure they are unmounted

You then see an overview of how the drive will be partitioned — click the checkmark or select Edit->Apply to apply your actions.

Preparing my USB drive for persistence

It will ask you if you are sure, because it will erase all your data. If you’re fine with that, select Apply.

Preparing my USB drive for persistence - continue?

You’ll then have to wait a little while Gparted applies the operations. When it’s finished, you can close Gparted.

Preparing my USB drive for persistence - creating partitions...

Now you need to format each partition and give it a label. The name of the first partition, which holds Ubuntu, does not matter that much, however, the partition that needs to hold your data needs to be named casper-rw.

To partition and label the first partition, run the following command, in which you replace /dev/sdx with the name of your drive (Remember? Mine was /dev/sda). Note that I named it UbuntUSB (how original) but if you want, you can just use another name:
$ sudo mkfs.vfat -F 16 -n UbuntUSB /dev/sdx1
This won’t take long. For the second partition, you run this command, again, replacing /dev/sdx with the name of your drive (but keep the name casper-rw!):
$ sudo mkfs.ext2 -b 4096 -L casper-rw /dev/sdx2
This will take a bit longer, and will also output more.

Preparing my USB drive for persistence - setting labels

And here comes the fun part. You need to download the image that Mike created (generously hosted by pepeio. Use the second ISO he created). After it has finished downloading (can take quite a while) you need to extract the .iso file using Xarchiver. I recommend you to save it to a folder in /tmp so that it will be deleted on shutdown, because you don’t need it after you’re finished. I saved it to /tmp/ubuntu-livecd. Make sure you check “Extract files with full path”.

Extracting the .iso

Now you need to copy some files (which contain Ubuntu) to your USB drive, onto the first partition (which I named UbuntUSB). First copy the folders casper, disctree, dists, install, pics, pool, preseed and .disk (to see this one, select View->Show Hidden Files). Then we need the files md5sum.txt, README.diskdefines and ubuntu.ico. Then move to the folder “isolinux” in the extracted folder (so for me, that would be /tmp/ubuntu-livecd/isolinux), but do not change your location in the USB drive. Copy all the files that are present in the isolinux folder to your USB drive. Then, move into the “casper” folder in the extracted folder (/tmp/ubuntu-livecd/casper) and copy vmlinuz and initrd.gz to your USB drive. Finally, move into the “install” folder in the extracted folder (/tmp/ubuntu-liveusb/install) and copy mt86plus to your USB drive.

Preparing my USB drive for persistence - copying required files

Now, on your USB drive, rename the file isolinux.cfg to
syslinux.cfg.

Preparing my USB drive for persistence - rename isolinux.cfg to syslinux.cfg

Replace all its contents with the following:

DEFAULT persistent
GFXBOOT bootlogo
GFXBOOT-BACKGROUND 0xB6875A
APPEND file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL persistent
menu label ^Start Ubuntu in persistent mode
kernel vmlinuz
append file=preseed/ubuntu.seed boot=casper persistent initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL live
menu label ^Start or install Ubuntu
kernel vmlinuz
append file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL xforcevesa
menu label Start Ubuntu in safe ^graphics mode
kernel vmlinuz
append file=preseed/ubuntu.seed boot=casper xforcevesa initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL check
menu label ^Check CD for defects
kernel vmlinuz
append boot=casper integrity-check initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL memtest
menu label ^Memory test
kernel mt86plus
append -
LABEL hd
menu label ^Boot from first hard disk
localboot 0x80
append -
DISPLAY isolinux.txt
TIMEOUT 50
PROMPT 1
F1 f1.txt
F2 f2.txt
F3 f3.txt
F4 f4.txt
F5 f5.txt
F6 f6.txt
F7 f7.txt
F8 f8.txt
F9 f9.txt
F0 f10.txt

Save that and close. For our last step, we need the packages syslinux and mtools, so fire up Synaptic (Applications->System->Synaptic Package Manager) and install them. Make sure that your USB drive is unmounted, then go into a terminal (Applications->Accessories->Terminal) and enter the following command, replacing /dev/sdx with the name of your drive:
$ sudo syslinux -f /dev/sdx1

Preparing my USB drive for persistence - making my USB drive bootable

Well, all that is left now is to test it, so boot from your USB drive, and then you’ll (if everything went right) be greeted with a screen like the one I was greeted with:

My Ubuntu Feisty Desktop from my USB drive

If this tutorial worked for you, please leave a reply in the comments here. If it didn’t work, you can also leave a comment, or rather (if you have an account) post a message in the Ubuntu forums thread, so we can find a way to fix it.

Note: If you want to create a new user, be sure to grant administrator rights, otherwise it may cause errors.

Troubleshooting

  • Toad mentions that he could not boot from his USB drive, but he fixed it:

    I finally got the computer to boot from the USB stick. I had to set the fat16 partition to bootable. ‘cfdisk /dev/sdx’ should do the trick, just press enter on the set bootable option.

  • If this worked, but after a while it doesn’t anymore, you can remove any edits you did to restore it to the point where it worked (all your settings will be lost though):
    $ sudo mkfs.ext2 -b 4096 -L casper-rw /dev/sdx2
    (Thank zenobiaflex for this one)
  • If you want more than the two partitions described here on your disk, be sure that the first partition needs to be the FAT16 partition, as that’s where the bootloader gets loaded which needs to be on the first partition. Thanks Matt.
  • If your drive won’t boot correctly, your Master Boot Record may be corrupted. You can repair it with Lilo (so open up Synaptic from Applications->System->Synaptic Package Manager and install the package lilo) using the following command from the terminal:
    $ sudo lilo -M /dev/sdx
    (From PiterP)
  • If, during shutdown, the screen switches from the shutdown screen with the Xubuntu logo with the progress bar to a black screen, possibly with error messages, then you computer is probably just shutting down the normal way without notifying you of its status. At a certain moment (not too long after the screen turned black) it will have reached the point where it would have normally said something like “remove the disk, close the tray (if any) and press enter”. So when the screen turns black, you just have to try to press enter a little while after it has turned black.

a