UPDATE: this page is for Edgy and is therefore now out of date.

Ubuntu is a great operating system but, before it can be really useful, you need to install a few software components that legally can't be shipped with the base OS. This page details how to turn Dapper or Edgy into a good, usable box.

Install Ubuntu

First, of course, you must have a clean installation.

Don't use EasyUbuntu or Automatix. Ubuntu is updated very rapidly and these automated scripts tend to fall behind and cause problems.

Enable other repositories

UPDATE: All you need to do is go into System -> Administration -> Package Manager, choose Settings -> Repositories, and ensure every repository is checked. You're done! Ignore the rest of this section.

Ubuntu by default ships with a very conservative list of available software packages. Edit /etc/apt/sources.list as root and enable the Universe, Multiverse, and Backports repositories. You should have something like this (replace Edgy with Dapper as appropriate):

deb http://us.archive.ubuntu.com/ubuntu/ edgy main restricted
  deb-src http://us.archive.ubuntu.com/ubuntu/ edgy main restricted
  deb http://us.archive.ubuntu.com/ubuntu/ edgy universe multiverse
  deb-src http://us.archive.ubuntu.com/ubuntu/ edgy universe multiverse
  deb http://us.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse
  deb-src http://us.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse
  deb http://security.ubuntu.com/ubuntu edgy-security main restricted
  deb-src http://security.ubuntu.com/ubuntu edgy-security main restricted
  deb http://security.ubuntu.com/ubuntu edgy-security universe
  deb-src http://security.ubuntu.com/ubuntu edgy-security universe

(yes, this has gotten a little silly...)

Set the root password

By default Ubuntu ships without a usable root account. Some people find this strange and would rather just shell into the root account once in a while instead of scattering "sudo" everywhere. If you're one of those people:

$ sudo passwd root

Enter your user's password, then the root user's password twice. Now you can shell into root using the su command.

Install Important Packages

I wish Ubuntu shipped with these by default. They are definitely worth having installed.

# apt-get install gsfonts gsfonts-x11 msttcorefonts

Multimedia

This is where proprietary software hits the hardest. If you follow these instructions from top to bottom you should have a machine that can handle all but the most obscure formats.

I recommend turning off "Software Mixing (ESD)" in the System -> Preferences -> Sound control panel. The advantage is that audio and video should remain in sync a lot more. The downside is that some archaic applications may complain of "sound device already open." I can't believe that we're in 2006 and this still hasn't been fixed...

QuickTime / WMV

NOTE: 64 bit users don't get to use win32 codecs.

We'll need to get a few packages from Christian Marillat's Debian Multimedia repository. First, add his key (we need to use curl because apparently his site rejects wget).

$ apt-get install curl
  $ curl http://www.debian-multimedia.org/gpgkey.pub | sudo apt-key add - 
  

add the following line to /etc/apt/sources.list

UPDATE: you can just go to System -> Administration -> Package Manager, choose Settings -> Repositories, click on the Third Party tab, then add the following line. Then hit Reload, then search for w32codecs and install them directly. Finally, to disable this repo, go back to Repositories, Third Party and uncheck this repo.

deb http://www.debian-multimedia.org testing main

Fetch the w32 codecs

# sudo apt-get install w32codecs libdvdcss2

Finally, comment out the debian-multimedia line in /etc/apt/sources.list. You don't want packages from this repository to override your Ubuntu packages.

# deb http://www.debian-multimedia.org testing main

libdvdcss

This is required to play DVDs.

# apt-get install libdvdread3

GStreamer

NOTE: amd64 users don't get to use pitfdll (for the same reason as w32codecs above).

Many movie and video playing applications use GStreamer. GStreamer gained a reputation for being slow and unstable during the 0.8 series but those problems have mostly been fixed in 0.10.

# apt-get install gstreamer0.10-x gstreamer0.10-alsa gstreamer0.10-esd gstreamer0.10-gnomevfs gstreamer0.10-plugins-base gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-gnonlin gstreamer0.10-gl gstreamer0.10-fluendo-mp3 gstreamer0.10-ffmpeg gstreamer0.10-tools  gstreamer0.10-plugins-base gstreamer0.10-plugins-base-apps gstreamer0.10-plugins-good gstreamer0.10-pitfdll

(why doesn't someone make a meta-package so I can apt-get install gstreamer0.10-all and get everything?)

Now GStreamer-enabled applications like Totem and Rhythmbox can play MP3, AAC, DVDs, etc.

XMMS is tha oldschool bomb

A better general-purpose music player still hasn't been written.

# apt-get install xmms libvorbisfile3

It should just work. If not, right-click on the play/pause buttons, choose Options -> Preferences, and select the Alsa output plugin.

Playing DVDs

Each of these movie players has its quirks and benefits. Try them all and select the one you like the best. If one is having trouble playing a stream, chances are that another one will play it just fine.

Totem (Movie Player)

Gnome's default movie player. Works well, good interface, but tends to be cranky about the media it accepts. Installed by default, and previous steps should have enabled MP3 and DVD playback.

Xine

This is probably the most polished DVD player.

# apt-get install xine-ui libxine-extracodecs

xine: Click the blue DVD button. You should get full DVD menu support. Type "G" if the GUI window isn't showing. Type "F" for fullscreen.

You can also install gxine, which is like Xine but should be a little friendlier to use.

MPlayer

NOTE: these instructions don't appear to work anymore? Feel free to ignore mplayer; Totem and Xine should do everything you need.

The most user-hostile movie player, but also the most flexible. Plays almost everything well but doesn't support dvd menus.

# apt-get install mplayer mplayer-fonts

To play the first movie on a DVD from the command line:

# mplayer -vo xv -ao alsa dvd://1

If that didn't work, run mplayer -vo help or mplayer -ao help and try different outputs. Once you find settings that you like, you can store them in ~/.mplayer/config so you don't have to specify them on the command line every time.

in ~/.mplayer/config:

fs=1
  vo=xv
  ao=alsa

Now mplayer file.mpg will play the given file fullscreen and quit when it's done. So convenient.

Flash

UPDATE: Follow the instructions here to install Flash9. The following instructions only install Flash7.

# apt-get install flashplugin-nonfree

That should work. If not, you can just install the Adobe plugin. Audio doesn't work as well but it should install everywhere.

It's pitiful that Linux has version 7 and Mac and Win are up to version 9. On the other hand, version 7 still plays the vast majority of flash sites so I don't really notice.

Make sure to also install Flashblock!