Archive for June 29th, 2009
Kubuntu is my preferred Linux distro. I’ve pretty much stuck with KDE since my varsity days in 1997 and I’m still a happy KDE camper right now. There’s been ups and downs, not least during the “transition period” when KDE 4.0 first came out, but I’m still firmly in the KDE camp. In contrast, I’ve used several different distros over the years. RedHat, Fedora, OpenSuSE, Mepis, Gentoo… and for the past 3 years I’ve settled on Kubuntu. Not that the rest suck, but at this point of time, I find that Kubuntu saves me the most time in terms of setup, configuration and maintenance. Not that it doesn’t come with its own set of trials and tribulations, but on the whole it still sucks less than any of the other distros I’ve used.
I get plenty of practice doing Linux installation work when I set up machines for my staff. I’ve pretty much got my routine down to a science by now. What follows here is some documentation of how I setup a standard developer’s machine running Kubuntu Jaunty. It’s not a stock install; I pull in several PPAs to get to a reasonably stable and performant desktop configuration. And it’s still far from ideal; even if I’m a daily user of Linux, I’d be the first to bitch about its current state and how I wish things could be better.
To begin, we’ll obviously need the installation CD (duh). By default, I’ll use the 64-bit version ‘cos most of the developer machines in my office are 64-bit capable already. Note that I do have a couple of 32-bit machines still being used and for most part, the instructions here still apply. I pretty much stick to the default install, with the exception of the partition layout, which looks like this:
- /boot – 150MB
- / – 15GB
- swap – 4GB
- /home – whatever’s left
Yeah, I know what most people are thinking: “you don’t need that much swap on a modern Linux install”. Disk space isn’t really a luxury for me anymore, fortunately. And the automatic partitioning provides a measly 1GB for swap space and I run into errors installing Oracle XE which needs more than 1GB. So, 4GB just to be safe.
After the initial install, reboot the machine and view your shiny new Kubuntu install. ‘cept that it ain’t shiny enough. Let’s spruce it up by giving it an update:
sudo aptitude update sudo aptitude safe-upgrade
Now, your Kubuntu installation is pretty much usable, but not terribly interesting or entertaining. You can’t play a whole lot of media stuff on it, for one thing. Let’s give the installation a whole lot more bling by adding the Medibuntu repo to it. Just run this simple one liner:
sudo wget http://www.medibuntu.org/sources.list.d/`lsb_release -cs`.list --output-document=/etc/apt/sources.list.d/medibuntu.list; sudo apt-get -q update; sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring; sudo apt-get -q update
Credit to Medibuntu for this.
With this, it’s time to add more applications to our default install:
sudo aptitude install firefox subversion cvs vim ssh umbrello kdesvn msttcorefonts libmp3lame0 libtunepimp5-mp3 libdvdread4 libavcodec-unstripped-52 flashplugin-installer libxine1-ffmpeg soprano-backend-sesame digikam semantik skrooge basket gimp dia libdvdcss2 w64codecs skype kgpg sun-java6-jdk zsh
That one-liner basically helped us install a host of useful applications such as Skype, most proprietary media support, Firefox, Subversion, Java and then some. Do scrutinize the list to see what applies to you and what doesn’t.
Currently, the stock Kubuntu 9.04 desktop suffers from a serious performance issue. Unusable, basically. To get it up to acceptable levels, you’ll need to following the instructions in the Jaunty Intel Graphics Performance Guide.
The default installation of KDE 4.2 works just fine, I guess, but I like trying out the latest from Seigo and company, so I add on a PPA repo to update to the latest beta release of KDE 4.3 (currently at . I’ve also been using the daily builds of Chromium, the opensource project on which Google Chrome is based on. And on top of that, one more browser won’t hurt (I am a web developer, after all).beta 2 release candidate 2)
Edit /etc/apt/source.list and add the following lines:
# KDE backports PPA - for KDE 4.3 beta 2release candidate 2
deb http://ppa.launchpad.net/kubuntu-ppa/backports/ubuntu jaunty main
# Chromum daily builds
deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main
# Opera
deb http://deb.opera.com/opera/ stable non-free
After that, do another update and additional install:
sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install opera chromium-browser
Note that you’d probably get a warning about unsigned repo keys. It’s safe to answer yes and proceed. You might also want to google around for how to get rid of the warnings (I forgot to record that down so can’t recall it for this particular article).
Note that above, I’d already install a package called msttcorefonts, which basically gives me most of the stock Microsoft fonts that comes with pre-Vista versions of Windows. There’s one more Microsoft font that I like to use: Tahoma. The following instructions were copied from Howto Forge. First, I copy the TTF files (tahomabd.ttf and tahoma.ttf) out from any existing Windows installation and place it in the /tmp folder. Then, to install the fonts, I do the following:
sudo mkdir /usr/share/fonts/truetype/custom
sudo cp /tmp/tahoma*ttf /usr/share/fonts/truetype/custom
sudo touch /etc/defoma/hints/custom.hints
Now, edit /etc/defoma/hints/custom.hints and add in the following lines:
category truetype
begin /usr/share/fonts/truetype/custom/tahoma.ttf
Family = Tahoma
FontName = Tahoma-Regular
Encoding = Unicode
Location = Magyar Dutch Spanish Czech Russian English Catalan Slovak Italian Turkish Danish Slovenian Basque Portuguese German Polish Swedish Norwegian French Finnish Greek
Charset = ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 ISO8859-7 ISO8859-9 ISO8859-10 ISO8859-13 ISO8859-14 ISO8859-15 KOI8-R KOI8-U CP1251 VISCII1.1-1 TCVN-5712 ISO10646-1
UniCharset = ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 ISO8859-7 ISO8859-9 ISO8859-10 ISO8859-13 ISO8859-14 ISO8859-15 KOI8-R KOI8-U CP1251 VISCII1.1-1 TCVN-5712
GeneralFamily = SansSerif
Weight = Medium
Width = Variable
Shape = NoSerif Upright
Foundry = Microsoft
Priority = 20
end
begin /usr/share/fonts/truetype/custom/tahomabd.ttf
Family = Tahoma
FontName = Tahoma-Bold
Encoding = Unicode
Location = Magyar Dutch Spanish Czech Russian English Catalan Slovak Italian Turkish Danish Slovenian Basque Portuguese German Polish Swedish Norwegian French Finnish Greek
Charset = ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 ISO8859-7 ISO8859-9 ISO8859-10 ISO8859-13 ISO8859-14 ISO8859-15 KOI8-R KOI8-U CP1251 VISCII1.1-1 TCVN-5712 ISO10646-1
UniCharset = ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 ISO8859-7 ISO8859-9 ISO8859-10 ISO8859-13 ISO8859-14 ISO8859-15 KOI8-R KOI8-U CP1251 VISCII1.1-1 TCVN-5712
GeneralFamily = SansSerif
Weight = Bold
Width = Variable
Shape = NoSerif Upright
Foundry = Microsoft
Priority = 20
end
Finally, run the following commands to register the fonts:
sudo /usr/bin/defoma-font -v register-all /etc/defoma/hints/custom.hints
sudo dpkg-reconfigure fontconfig











