Posts Tagged ‘KDE’
I’ve been using Kubuntu Jaunty since its release, and quite a bit before that as well (during the beta phase). Generally speaking, I can’t do without it. I use it as my primary operating system for both work and leisure, and I’ve upgraded virtually all of my staff’s laptops to use it as well. For our intents and purposes, it does its job. But that doesn’t mean it’s not a failure, especially when benchmarked against its own lofty goals it set for itself.
Kubuntu is the KDE version of the famed Ubuntu distro. Having been absorbed under the same umbrella body watching over all Ubuntu derivatives, one would assume that the same values pitched for Ubuntu would apply for Kubuntu as well. “Just works” has always been a key target of Ubuntu and its lot. Sadly, in my opinion, it falls far short of achieving that. And no, this has got very little to do with KDE (version 4 or whatever) or the fact that we need to install proprietary codecs ourselves.
Some background on the hardware we run on: The majority of installations here in my company are on Compaq Presario V-series and Dell Inspiron laptops. They’re all running some variant of either Intel Core 2 Duo or Dual Core CPUs. All of them have at least 2GB of 667MHz RAM. Graphics are provided by either Intel 945 or 965 chipsets. Pretty standard stuff with no esoteric hardware. We only use the 64-bit releases in all our installations.
Detailed steps on the steps we take to setup Kubuntu Jaunty is documented here.
Installation from the Kubuntu Jaunty CD is pretty much stock. We have moved to ext4 for all our file system needs. We do not use Kubuntu’s default filesystem layout and instead do a static multi-partition setup (read the detailed steps for more information).
The first impression I got post-installation was that it was slow when desktop effects are turned on. After some trivial googling, we find that Jaunty’s issues with Intel graphics chipsets are well-documented. The Jaunty Intel Graphics Performance Guide Howto documents how to get over this, albeit in a pretty non-standard way. The recommended 2.6.30 kernel to be installed isn’t available from any ready Jaunty backport PPA repo, so that was downloaded separately and installed using dpkg -i. An additional experimental PPA has to be added to take advantage of recent X improvements. The default acceleration method enabled EXA is practically useless for us if we want to turn on desktop efects. This necessitates a switch to the newer (and less stable) UXA. Fortunately, this switch has worked well for us, for the most part.
Even then, some niggling issues persists. KDE’s Plasma would crash every now and then. And when it doesn’t crash, some other weird issues would crop up, such as all text on my panels disappearing after about 12 hours of uptime. Fortunately, restarting plasma-desktop is trivial so this is just a minor irritant. Still, one wonders how would a user who does not know how to restart Plasma would take this.
After our initial install, I encountered several power management issues. Shutting down was a 50-50 affair. Half the time, it would just hang at a text prompt without actually shutting down. Logging out of KDE also often resulted in the KDM prompt failing to show up. This happened almost all the time. Suspending the laptop was another 50-50 gamble. Sometimes, I’d get my running session back, others I’d be booted out back into the KDM prompt (ironically, KDM didn’t fail in those moments). All these were fixed after we upgraded to kernel 2.6.30 and switched to the experimental X PPA repo.
Switching to the Kubuntu backports repo and upgrading to the 4.3 release candidates brought further improvements. The mystery of disappearing text on the panels resolved itself. The 4.3 betas were a tad too unstable so I was the only one subjecting myself to the guinea pig experience. After 4.3 hit RC status, however, I immediately upgraded my staff’s laptops as it brought real improvements to the overall experience. KDE’s performance in general improved as well. My desktop cube switching was noticeably faster, for example. However, Strigi failed to work since upgrading to 4.3 and I haven’t been able to get it working since. For us, it’s not that important as KDE still lacks a Strigi client friendly enough for general use. KRunner does a much better job of showing search results as of 4.3, but I still find it cumbersome to scan through when search results are large.
Right now, I’m happy enough with the state of my laptop, with the exception of one irritating (perceived) memory leak where my X process would eventually take up to 3GB of virtual memory after a day or so of uptime. I have just 3GB of RAM on my machine and 2GB of swap space, so when this happens and I have other applications such as NetBeans (500-600MB of virtual memory) running, my laptop is reduced to a thrashing brick pretty quickly. This doesn’t happen to all our laptops though so I’m not sure what’s wrong just yet.
At the end of the day though, I wouldn’t call Kubuntu Jaunty a particularly successfully release. It took a pretty significant effort to fine-tune the setup to its current state and I don’t find that to be particularly associated to “just works”. I’m going to try out Karmic as soon as it hits beta. Hopefully, we can avoid jumping through hoops to get it setup properly this time.
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











