Ubuntu Setup Guide
The Ubuntu installer is pretty decent and sets you up with a mostly functional system, but there are things that we need to do to make Ubuntu rock harder. This guide details that.
Last updated for Ubuntu 6.06 LTS (Dapper Drake), although much of this probably pertains to many versions.
You should enable all the repositories - restricted, universe,
multiverse, everything and the kitchen sink. The Ubuntu package names
will be in this font; you can just do
sudo apt-get install mypackage to install them.
First Things First - Give Me The Kitchen Sink
Your life will be made vastly easier if you enable all the
repositories. I will mention an awful lot of package names, all of
which are installable automatically if you have access to all the
repositories. Most programs that you are likely to need are already
available somewhere and can be automatically installed via
apt The easiest way to enable everything via the GUI is
to start Synaptic, go to Settings/Repositories, click on add, and add
the Universe and Multiverse repositories.
If you absolutely insist on doing things the hard way, then you
already know how to edit /etc/apt/sources.list and I
don't have to tell you how to do that.
Bootup and System
If your /boot is not the same partition as the root
partition, update-grub might get confused. The normal fix
to this is to create a symlink in /boot named
bootand pointing to . (dot). This does
create a loop in the filesystem, which can result in much
entertainment if you try to recursively copy /boot, but
we don't ordinarily muck with that directory anyway.
For managing bootup, you should install the Boot Up Manager
bum for graphical configuration of
services. To deal with things at an even lower level (as in
rc-scripts), you can use the textmode sysv-rc-conf, which is a bit easier than
manually playing with the symlinks in /etc/rc?.d.
You definitely want the build-essential package; it brings in the development tools required to compile your own software. You can bring in the other development packages as you need them.
In this day and age I wonder why any of us put up with sound servers and other such nonsense, especially if the sound card supports hardware mixing. Disable the sound server (ESD) in Gnome and install alsa-oss to handle the legacy OSS apps.
You might want the alien package for installing the occasional RPM.
The cups-pdf package is so useful I'm
puzzled by why it isn't in the base system. This lets you add CUPS
printers that dump to PDFs. Note that due to some screwup, you need
to mark /usr/lib/cups/backend/cups-pdf as setuid to get it to
detect right in the Gnome Add Printer dialogs.
Oh yeah, Ubuntu defaults to A4 paper size when it sets up printers, so be sure to change that to US Letter if you live in the USA.
Serious Unix users probably need OpenSSH (openssh-server) for various purposes. You'll also want samba if you want to allow Windows computers to access your shares.
For a graphical way to get at the system alternatives (as opposed
to update-alternatives) we have galternatives
Laptop Utilities
I'm terribly confused with configuration for HAL, powernowd, or any of these newfangled things, so I stick with the tried and true cpufreqd and cpufrequtils to do my processor throttling.
For switching between networks, I like the elegant and simple netapplet Gnome applet. It seems to work better for me than the Gnome Network Manager.
For switching resolutions, resapplet is good.
Specific to the IBM/Lenovo Thinkpad is the gaim-thinklight package, which blinks the light when you receive a message. Very useful if you are in an office environment with the sound off.
Also specific to IBM/Lenovo Thinkpad is the tpb package, which enables the use of some Thinkpad-specific buttons and features.
gnome-pppInternet Essentials
Browser
Right, so there's a whole bunch of browser plugns and suchlike that we
need. They aren't included by default because of various silly legal
obstructions. We want Flash Player (flashplugin-nonfree), RealPlayer (realplayer), Acrobat Reader (acroread), and Java (sun-java5-jre, sun-java5-plugin). You might want the rest of
the Java stuff as well (sun-java5-jdk,
sun-java5-fonts). Don't forget to do
sudo update-alternatives --config java to make the system
use Sun Java.
To play movies inside the browser, you want totem-xine-firefox-plugin. You can also get PDFs to display in the browser with mozilla-acroread, but I actually prefer that they spawn in a separate viewer so I don't install this.
Other Basic Applications
If you want to use Mozilla Thunderbird (mozilla-thunderbird) instead of Evolution, you should install it.
I like the Pan Newsreader (pan), so obviously this should be installed.
If you want a prettier Bittorrent, install bittorrent-gui
Although proprietary, Skype (skype) is
the most widely used Internet-phone application. You can add their
repository by adding a line to /etc/apt/sources.list that
reads:
deb http://download.skype.com/linux/repos/debian/ stable non-free
Apt-get or Synaptic can find and install Skype for you once you refresh the list.
Network Tools
Firestarter (firestarter) is an awesome front end to all the mysterious Linux kernel firewall stuff.
You want a network analyzer and scanner? There's ethereal
Multimedia Stuff
There's other useful information about Restricted Formats from the Ubuntu wiki.
DVD Playback
Ubuntu does not provide DVD support out of the box because of some
very stupid legal issues. Because of these very stupid legal issues,
it may or may not be legal to have free DVD decoding software in your
jurisdiction. If it is legal, you may proceed to download the
libdvdread3 package and then install
libdvdcss2 with sudo
/usr/share/doc/libdvdread3/examples/install-css.sh.
If your drive's region is not set and you need to do this to get it to work, install the regionset utility.
Totem should now be able to play DVDs. If you use the Gnome Disk Mounter applet, it will helpfully offer a "Play DVD" option when you have a normal video DVD mounted.
If you have VCDs, libvcdinfo0 is useful.
Codecs and Support for Other Formats
We need to install a whole raft of packages to handle various media formats. Ubuntu does not ship with them by default because of some incredibly inane legal issues surrounding these codecs. If it is legal in your jurisdiction, you want to install:
gstreamer0.10-ffmpeg
gstreamer0.10-fluendo-mp3
gstreamer0.10-gl
gstreamer0.10-plugins-bad
gstreamer0.10-plugins-bad-multiverse
gstreamer0.10-plugins-ugly
gstreamer0.10-plugins-ugly-multiverse
gstreamer0.8-lame
gstreamer0.8-mad
gstreamer0.8-misc
You want nice MIDI playback? Install timidity. On the other hand, if you aren't a musician, hardly anyone uses MIDI anymore except for irritating music on web pages, and being unable to play them is arguably a feature.
Other Media Players
Let's also ditch the gstreamer framework in favor of
Xine, as that seems to be better in practice for most of my videos.
We want to install totem-xine, xine-ui, libxine-extracodecs, and w32codecs. Now Totem should use the Xine
backend instead. Xine itself (as opposed to Totem) seems to be better
for DVDs; in particular, I've noticed that it doesn't barf if you
don't mount the DVD before playing.
Other alternative media players to consider are mplayer and vlc. For audio, there's beep-media-player and the ancient xmms, both WinAmp clones.
banshee banshee-daap avahi-discover avahi-utils service-discovery-appletMedia Creation
The Nautilus CD burner is a bit simplistic. For a more traditional CD
mastering program, we can use gnomebaker
or the widely used KDE burner, k3b. To
enable them to create audio CDs from MP3s, you need the
gstreamer codecs from above for GnomeBaker or the libk3b2-mp3 package for K3B.
Audacity (audacity) is a decent audio editor.
If you want to make or rip VCDs, the vcdimager tools may be useful.
You want to be able to encode things, right? For MP3s, install lame, and for video, install mencoder.
As far as CD ripping tools go, I like grip as it has lots of options to tweak. It is significantly less user-friendly than the default (SoundJuicer), however.
Support for Toys
You have an iPod and want it to work? Rhythmbox is part of the default installation and can play songs off your iPod. If you want more tools, install gnupod-tools and gtkpod to be able to synchronize.
gThumb is part of the default install and is capable of importing photos from digital cameras. However, I like to use gtkam for this purpose.
Other
The ALSA Mixer (gnome-alsamixer) is considerably more powerful (and complicated) than the default Gnome mixer. You might want to play around with it.
You might want the imagemagick tools at some point; many programs use it.
mpg123 mpg321 gooboxEye Candy
We like eye candy, and you can install a lot of it via apt.
Themes
firefox-themes-ubuntu gaim-themes gnome-art gnome-backgrounds gnome-themes-extras gtk-engines-geramik-data gtk-engines-thingeramik-data gtk2-engines-cleanice gtk2-engines-geramik gtk2-engines-magicchicken gtk2-engines-metal gtk2-engines-qtpixmap gtk2-engines-thingeramik gtk2-engines-wonderland gtk-clearlooks-gperfection2-theme gtk-engines-mist kde-style-polyester metacity-themes xmms-skinsIcons
gnome-extra-icons gnome-humility-icon-theme gnome-icon-theme-gartoon gnome-icon-theme-gperfection2 gnome-icon-theme-suede kdeartwork-theme-icon kde-icons-crystal kde-icons-nola kde-icons-nuovext kde-icons-nuvola openclipart-openoffice.org tango-icon-theme-extrasFonts
msttcorefonts t1-xfree86-nonfree ttf-ubuntu-title ttf-xfree86-nonfree ttf-isabella ttf-junicode ttf-larabie-deco ttf-larabie-straight ttf-larabie-uncommonExperimental Compositing Stuff
All of these are highly experimental and definitely not for the faint of heart. However, if you get them to work, you can enjoy desktop eye candy that will make Mac OS X users jealous. Personally I do not use it as my hardware isn't quite up to the task (although I can get X Composite working), but those with very recent computers may try it out.
If you just want to see what the Compositing fuss is all about, I highly recommend trying the Kororaa XGL LiveCD, which will allow you to try XGL before hacking your system to do the same.
Anyhow, related packages are:
compiz
compiz-gnome
spiftacity
xcompmgr
xserver-xgl
Plus whatever you need to get hardware accelerated OpenGL working on your graphics card. I'm also told there are more updated packages available from community sources; consult Google for XGL/AIGLX on Ubuntu for this.
Other Shininess
xscreensaver-data-extra xscreensaver-gl-extra gaim-guifications gdesklets komposeForeign Language Stuff
I install support for some extra languages. I have
language-support-ja language-support-zh xfonts-intl-arabic xfonts-intl-asian xfonts-intl-chinese xfonts-intl-chinese-big xfonts-intl-european xfonts-intl-japanese xfonts-intl-japanese-big xfonts-intl-phonetic
Obviously, if you speak different languages, you should install your language-appropriate packages.
Hanzi Master (hanzim) is a fun little Chinese educational program. It sort of doubles as a Chinese dictionary, which is why I have it.
LaTeX and other document creation
If you're in grad school in anything computer or math related, you
know what these are. You want at least the LaTeX stuff
(tetex-base, tetex-bin,
tetex-extra) and xfig (xfig,
transfig)
Dia (dia-gnome) is pretty decent for diagrams and the
like if xfig is a bit too old-fashioned for you.
Editors
No system would be complete without Emacs (emacs,
emacs21). I also use html-helper-mode to
create this very page.
If you need a hex editor, there's ghex
Games
gnome-games-extra-data gsnes9x nethack-gnome planetpenguin-racer3ddesktop css-mode curl drip gnome-ppp gnome-randr-applet gnomesword gparted grpn kismet libggi-target-aa lynx minicom mtools mplayer-fonts network-manager network-manager-gnome openclipart-svg qt3-qtconfig sitecopy skippy swat tpctl traceroute