Clean Debian Lenny KDE Install

(and quite a bit of biography..)

Over the years, I have had a lot of fun with highly customized Linux installs for my desktop and laptop computing, but in the last 3-4 years, I have grown to enjoy the simplicity of sticking as close to the default configuration of ${MY_CAREFULLY_SELECTED_DESKTOP_ENVIRONMENT}, only making a few minor changes in software and configuration choices to a) pull it all together for a relatively uniform user experience, b) have all the toys at my fingertips to sysadmin all the servers I take care of, and c) attempt to muddle my way through code to help out the developers and admins I work with.

I started using Linux in late 1997, I think, and have been through all the major Linux distributions, starting with Debian Bo, if I recall, then trying out all kinds of different distro flavors including all the *BSD’s, fresh installs sometimes monthly or more so I could get a feel for all the possibilities. I have fond memories of hour upon hour of configuration tweaking, various software and kernel compiling to get everything working right, and how quickly a borked X11 configuration could “smoke” a monitor.. At some point I stuck with Red Hat (pre-RHEL) for a good amount of time, while doing some “Lotus Notes for Linux” beta testing while at IBM as a contractor, then dabbling with Linux apps on AIX and some s390 Linux LPAR’s, after someone noticed I was using Linux on my desktop – “Are you using Linux? Would you like to have a little mainframe fun?” A sincere thanks to Greg Icantrememberyourlastname – right then, my path began to follow a new fork.. 🙂

Red Hat was what most people were using, but there was some Caldera and SuSE around the office, but since I settled with Red Hat as my primary desktop distro vendor for a while, I started learning a whole lot more about the internals of Linux systems, branching out from my intimate knowledge of the various installers. I found Smoothwall early on, too – a really slick, custom built distro for a firewall/router – I needed something to route all my thrift store hardware (most of which I still have and use..). I started working through the old “Securing and Optimizing Red Hat Linux” documentation, building everything from source on a crazy small initial install of about 20 packages.. as well as some Linux From Scratch (Gentoo didn’t exist yet, or I probably would have tried it..). Oh, the hours/days of fun!

I tried all the default desktop environments that the various distros provided, installed and played with all the big and little names, but mostly found that because of the lack of up-to-date hardware on most of my machines, that Window Maker, Blackbox, and Fluxbox were always the best performers, and that usually meant lots of tinkering time to get them “just right”. Many of my ancient boxen were purely console machines, so no GUI was necessary. I dumped Red Hat for good after 7.3 – even though I was the guy maintaining all our Red Hat / RHEL kickstart systems at work (as well as all our other Linux, FreeBSD, and Solaris network installers, but Red Hat was/is our primary “supported” OS, so I spent a lot of time in it’s bowels.. and grew to dislike it more and more for personal use..).

Slackware. I am to this day, and probably always will be a huge supporter and advocate Pat’s most excellent OS. Slackware, hands down, won my eternal favor by being the most stable Linux distribution over a long period of use on my servers and workstations through many version upgrades. When Pat became ill a few years ago, I donated a server in one of our data centers for the slacksec.org (now defunct) guys who wanted to help maintain security updates. I spent quite a few years Slack’ing, primarily with Fluxbox for my desktop, but eventually moved into a position of playing with lots of various obscure softwares, and grew tired of continuously maintaining my own tgz packages.

My friend and co-worker, Eric, is a Debian Developer, and convinced me to rediscover my fondness for Debian. I had always had at least one or two Debian servers at the house, dist-upgraded through the years. D-I had come a long way since my last floppy install of Slink, and I booted a Debian install CD for the first time – pretty sure it was Woody. I immediately dist-upgraded to Sid, and about a month later, I remember struggling thru a nasty C++ soname change that severely broke lots of software, including many desktop apps – I think that was my last blind, trusting, “it will just work” ‘apt-get dist-upgrade’ – I still had Slackware with Fluxbox running on my laptop, so at least I could continue to work 😉

The Ubuntu craze hit a while later, and someone at the office ordered literally hundreds of CD’s, passing them out like candy. It was nice – Debian underneath, a decent selection of default software, and non-free software for 3D video support out of the box. My sub-par hardware selection still suffered a bit under Gnome, and I subsequently found XFCE fit my needs very well – XFCE became my desktop environment of choice for the next few years. I didn’t last very long with Ubuntu because of some of their meta-package choices in there somewhere and a completely hosed “stable” (quoted purposefully) version dist-upgrade – wtf? I never had a Debian stable version dist-upgrade need anything more than a little (usually well documented) config file fiddling. At that point, I started to install Debian with XFCE on just about everything – there was no software that I needed to build myself, unless I was just testing something out, most everything I need is in the major apt repos, all the XFCE goodies I like are there, and to top if all off, I discovered many helpful Debian Developers that care, mailing lists that are informative and entertaining, and a great way to get my feet wet with a couple perl packages I could contribute.. I love it. I have a big Debian swirl tattoo to prove it.

Once I had a some relatively current hardware to use for desktops, and a nice new Lenovo T60, I continued to use XFCE, but I wanted to get a little better user experience – things like plugging a USB drive in and it auto-mounting – so I started using a default install of Debian testing with Gnome on my T60 about a year ago and liked it, although it has some annoyances, and about 6 months ago did fresh installs of testing with Gnome on my work and home desktops. After this amount of time, Gnome is ok – better than XFCE or any of the smaller-footprint window managers at integrating all the apps nicely, automating a lot of once manual tasks like auto-mounting just about anything plugged in, network-manager is cool, cut/paste between all applications (I remember this was a headache in Fluxbox), and general consistency of look and feel. Resource-wise, Gnome has been a non-issue with the beefier boxen.

About those Gnome annoyances..

Gnome’s terminal application has no single-line scrolling with the keyboard (shift+up/down). Eric has told me a number of times that this seems trivial, but I use it constantly, so it’s important. There have been numerous requests by other Gnome users upstream to incorporate this rather simple, mundane, but highly useful feature. Every other terminal I have used can do this by default, or with a simple .Xresources one-liner. Gnome terminal ignores the .Xresources file and it simply will not scroll one line at a time with the keyboard – you get full page scroll (shift+pgup/pgdown), or you have to use the mouse wheel or click on the scroll bar – that’s crap. Plain-jane xterm and roxterm for tabbed terminals have gotten lots of use – they work as expected, although roxterm has a couple of weird character renderings while using irssi, but it might be because of running in screen – I never cared that much to look into it fully.

Why in the hell does every single window, except the first one, opened in Gnome get forced to the top left of the desktop? Every one. Neatly piled up on top of one another. No concept of tiling and nowhere to change that behavior. Umm.. fail. This is likely my biggest bitch. Window tiling in most every window manager is sane by default, and many times is quite configurable. Gnome’s window placement is just brain dead and completely unconfigurable. In some window managers like awesome, tiling is the key to it’s appeal. I tried awesome a couple months ago, since it is a newish fad – very cool ideas, but wow.. awesome is like driving a car with your feet – I could probably get good at it, but it would take a long time to learn.

Gnome session management sucks – window size and placement are brain dead (guess where they all go?), firefox/iceweasel thunderbird/icedove are never started up. I tried all kinds of juju to save some relatively simple saved sessions – 4 terminals on desktop1, and one on desktop4 – never worked right.

Gnome is good – don’t get me wrong, here – I might end up going back to Gnome if my affair with KDE doesn’t work out. The default Debian desktop install of Gnome has a lot of the integration I was looking for, has really nicely tied together login manager and screensaver locking with thinkfinger support for my T60, app look and feel consistency, suspend with desktop locked on resume – all kinds of things that just work out of the box.

So this was going to be a KDE install post…

I can’t even remember the last time I tried KDE, but I do recall that whatever box I was running it on did not have half the hardware I needed to run it, and it was far too much software for the poor little thing.. But my friend Brandon loves it 😉 I did a quick ‘apt-get install kde’ on my existing Lenny Gnome laptop, and about ran myself out of disk space on the root partition, but it was a good test. Konsole works the way it should, kmail looks pretty sweet and I might try it out, and sessions! Sessions actually work! The stuff is right where I had it when I logged out, and firefox and thunderbird start! And the windows – they tile all by themselves! OK, enough of that – what the hell, let’s do a fresh install of Lenny with KDE – the menus in both KDE and GNOME were a mess of crap with two huge desktop environments installed, and besides, i have no disk left.. I decided to give KDE a good turn at trying to win me over. Remember, I like to stick with the defaults – change a few hot-key bindings, maybe a stock theme or two, select a screensaver, and that’s about it.

Dang, now I have some KDE annoyances, mainly related to installation.. to start with the Debian installer evidently should support an install of kde-desktop as a task at boot – well, it didn’t.. Using the RC1 Lenny netinst CD, I booted with:

install tasks="kde-desktop,standard"

and I got only a minimal install – not even standard. Something is wrong with netinst and tasks. Umm… ok, I’ll just log in and run tasksel..

tasksel install standard # installed ~90 packages
tasksel install laptop # installed ~30 packages
tasksel install kde-desktop # installed ~1000 packages (?! mkay..)

I walked away for a bit and came back to see evolution, gnome-this, gnome-that being installed – wtf? I let it finish and logged in to find all of Gnome and all of KDE installed.. which was exactly what I did not want.. Arrgg! Something is wrong with tasks!

The base OS of Debian is so fast to install, I just installed again, selected only standard and laptop in tasksel, and in 5 minutes I was done. And without getting into my to-do list of fglrx, fingerprint reader, suspend with desktop locking – here’s my fresh start with KDE:

aptitude install openssh-server sudo vim
update-alternatives --set editor /usr/bin/vim.basic
aptitude install xorg kdm kde desktop-base gtk-qt-engine
aptitude install iceweasel icedove pidgin pidgin-otr openoffice.org openoffice.org-kde x2x
aptitude install openvpn vpnc network-manager network-manager-kde
aptitude install ipython git-core etckeeper ntpdate psmisc rsync screen tcpdump

The fonts in konsole look way better than they did with KDE installed over top of Gnome – this is reason enough to have started from scratch. Besides I keep good backups of my stuff, so a fresh install with a fresh outlook for a good evaluation of a desktop environment that I have not tried in years, nor really ever spent any amount of time using, sounds like fun! We’ll see if it meets my needs after I get over the little bumps of finding things and getting my to-do list complete.

To-do:

fglrx (so I can play Enemy Territory)
fprint (which seems to support KDE well, where thinkfinger causes problems)
package building environment for Debian packages
python goodies for working with Cloud Files code
other things as I think of them – offlineimap, gimp, try out kflickr maybe