Magnum's KDE 1 Seite

Diese Seite ist nicht mehr aktuell und bezieht sich auf die Situation im Jahr 2003.

KDE ist ein Desktop für Unix-Betriebssysteme. Und zwar der Bekannteste. Fast alle Linux Distributionen installieren inzwischen KDE als Standarddesktop, nur RedHat setzt dagegen auf GNOME. Es ist auch davon auszugehen, dass z.B. auf den Linux Desktops, die in Behörden und anderen Einrichtungen eingesetzt werden sollen, in Zukunft meistens KDE laufen wird.

Jetzt, als ich dies hier schreibe ist gerade KDE 3.1.1 die neuste stabile Version. Aber ist sie auch die Beste?

Das besondere bei KDE ist, dass der Schritt von der Version 1 zur Version 2 keine Weiterentwicklung war, sondern ein fast kompletter Neuanfang. KDE 2 wurde von Grund auf neu geschrieben und ausser dem Namen und ein paar Kleinigkeiten erinnert nicht mehr viel an KDE 1. KDE 3 dagegen ist wirklich nur eine Weiterentwicklung von KDE 2, deshalb schreibe ich im Weiteren auch von KDE 2/3.

Der große Schritt zwischen KDE 1 und KDE 2 hat wie zu erwarten auch einige Nachteile mit sich gebracht:

Zusammenfassend kann ich nur sagen, dass KDE 2/3 für mich unbenutzbar ist. Also bleibt mir nur, entweder bei KDE 1 zu bleiben, oder mir einen anderen Desktop/Windowmanager zu suchen. Einen annähernd so guten Desktop wie KDE 1 habe ich aber bisher nicht gefunden, also benutze ich nach wie vor KDE 1. Vor allem der Filemanager kfm ist bisher unereicht.

Die letzte Version von KDE 1, KDE 1.1.2 wurde 1999 fertiggestellt und wird seit spätestens 2000 überhaupt nicht mehr gepflegt: Es gibt keine Bugfixes, keine Unterstützung für neuere Betriebssysteme, sogar der Download von KDE 1.1.2 ist nicht mehr so ohne weiteres möglich. Um diese Lücke etwas notdürftig zu flicken und um andere Leute zu unterstützen, denen es genauso geht wie mir, habe ich diese Seite gemacht.

Hier ein Bericht von meiner neusten Installation von KDE 1.1.2 (auf SuSE 8.2):

Download

Zuletzt gab es KDE 1.1.2 nurnoch hier: http://ftp.kde.com/mirrors/ftp.kde.org/pub/kde/Attic/kde-fulltree-1.1.2.tar.bz2. In diesem File befinden sich die Sourcen für so ziemlich alles, was für KDE 1.1.2 geschrieben wurde. Mir ist zur Zeit leider keine URL bekannt, wo es noch erhältlich ist. Wer das File haben will, kann es gerne von meinem Server runterladen, ist aber wohl etwas langsam und das File ist 200MB gross: https://cmr.ath.cx/pub/kde1/kde-fulltree-1.1.2.tar.bz2

Installation

Zunächst muss QT installiert werden. KDE 1.1.2 läuft mit QT 1.44 (welches auch in dem dicken Downloadpaket oben dabei ist) oder mit QT 1.45. Beide gibt's z.B. auch hier: http://ftp.kde.com/Core/Qt/.

gcc

Falls man nun ein System mit einer gcc-Version bis 2.95.3 hat, ist alles ok. Bei Systemen mit gcc 3 (z.B. SuSE 8.2) lässt sich QT nur installieren, wenn man vorher einen Patch einspielt, der eine Inkompatibilität behebt. Allerdings kann man sich das gleich sparen, weil KDE 1.1.2 sich mit dem gcc 3 nicht kompilieren lässt und aber darauf besteht, dass QT mit dem selben Kompiler kompiliert wurde wie KDE. Für Systeme mit gcc 3 bleibt einem also nichts anderes übrig, als erst noch einen anderen Kompiler zu installieren. Man installiert dann gcc-2.95.3, den man mit dem bereits installierten gcc kompiliert.

Bei meiner SuSE 8.2 gab es da dann auch noch das Problem, dass der installierte gcc-3.3 den gcc-2.95.3 nicht fehlerfrei komplilieren konnte. Vielleicht lässt sich das ja damit erklären, dass der gcc-3.3 noch garnicht freigegeben wurde und SuSE sich hier offensichtlich eine noch unfertige Entwicklerversion geschnappt hat. Ich habe dann mit dem gcc-3.3 erst einen gcc-3.2.2 kompiliert, mit welchem ich dann den gcc-2.95.3 kompiliert habe.

Den neuen gcc habe ich nach /usr/local installiert. Wenn man wiedermal auch den anderen Kompiler braucht, muss man entweder die PATH Umgebungsvariable ändern oder den neuen Kompiler wieder entfernen.

QT

KDE basiert nach wie vor auf der GUI-Library QT der Norwegischen Softwarefirma Trolltech. KDE 1 benutzte die Version 1 von QT, KDE 2 benutzte QT 2 und KDE 3 benutzt nun QT 3.

Bevor man anfängt QT zu kompilieren, sollte man bereits alle Umgebungsvariablen richtig setzen, die QT und KDE brauchen. Dazu legt man sich am besten ein Shellskript wie dieses an:

#!/bin/bash
# /usr/local/bin/ckde1
# Umgebungsvariablen für KDE 1 und QT 1 setzen

export KDEDIR=/opt/kde
export QTDIR=/usr/local/qt
export PATH=` echo $PATH | sed sX/opt/kde3/binX/opt/kde/binX `
export KDEHOME=$HOME/.kde
export LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib
export MANPATH=$QTDIR/man:$MANPATH

Dann trägt man in seine ~/.bashrc am Schluss folgende Zeile ein:

source /usr/local/bin/ckde1

Jetzt sollte jede neue Shell die Variablen richtig gesetzt haben. Man sollte das übrigends nicht machen, während KDE 3 läuft, weil das die selben Umgebungsvariablen benutzt.

Nun installieren wir QT. Da wir QT hier als root kompilieren (so ist das von Trolltech vorgesehen), müssen wir die Umgebungsvariablen für die root-Shell hier per Hand noch setzen, indem wir das Skript von vorhin aufrufen.

magnum@linux:~> cd /usr/local
magnum@linux:/usr/local> su
root@linux:/usr/local # tar xvzf qt-1.45.tar.gz
root@linux:/usr/local # mv qt-1.45/ qt/
root@linux:/usr/local # chown -R root.root qt/
root@linux:/usr/local # cd qt/
root@linux:/usr/local/qt # source /usr/local/bin/ckde1
root@linux:/usr/local/qt # make

KDE kompilieren

KDE kompilieren wir wie auch sonst üblich als normaler User. Wir packen zunächst das dicke Paket aus:

magnum@linux:~/src/kde> tar xvjf kde-fulltree-1.1.2.tar.bz2

Das richtige Verzeichnis ist dann ziemlich tief versteckt:

magnum@linux:~/src/kde> cd 1.1.2/distribution/tar/generic/source/bz2/
magnum@linux:~/src/kde/1.1.2/distribution/tar/generic/source/bz2> ls
INSTALL.qt
README.qt
kdeadmin-1.1.2.lsm
kdeadmin-1.1.2.tar.bz2
kdebase-1.1.2.lsm
kdebase-1.1.2.tar.bz2
kdegames-1.1.2.lsm
kdegames-1.1.2.tar.bz2
kdegraphics-1.1.2.lsm
kdegraphics-1.1.2.tar.bz2
kdelibs-1.1.2.lsm
kdelibs-1.1.2.tar.bz2
kdemultimedia-1.1.2.lsm
kdemultimedia-1.1.2.tar.bz2
kdenetwork-1.1.2.lsm
kdenetwork-1.1.2.tar.bz2
kdesupport-1.1.2.lsm
kdesupport-1.1.2.tar.bz2
kdetoys-1.1.2.lsm
kdetoys-1.1.2.tar.bz2
kdeutils-1.1.2.lsm
kdeutils-1.1.2.tar.bz2
korganizer-1.1.2.lsm
korganizer-1.1.2.tar.bz2
qt-1.44.tar.bz2

Zuerst kompilieren wir kdelibs:

> tar xjf kdelibs-1.1.2.tar.bz2
> cd kdelibs-1.1.2
> ./configure
> make
> su
# make install

Als nächstes kompilieren wir kdesupport. Hier müssen wir allerdings etwas aufpassen, dass die JPEG-Libraries nicht durcheinanderkommen. Auf allen etwas neueren Systemen wird wohl libjpeg.so.62 installiert sein, so dass wir die bei KDE mitgelieferte libjpeg nicht brauchen. Falls wir dann beide JPEG-Libraries installiert haben, kommt KDE durcheinander und meldet "Wrong JPEG library version: library is 61, caller expects 62" jedesmal, wenn ein JPEG-Bild angezeigt werden soll. Um zu verhindern, dass die mit KDE mitgelieferte libjpeg installiert wird, habe ich nach dem ./configure das Makefile editiert und dort in der Zeile

TOPSUBDIRS = jpeglib6a gdbm giflib30 mimelib uulib QwSpriteField js

das jpeglib6a entfernt. Danach habe ich wie üblich make und make install gemacht.

Als drittes brauchen wir noch kdebase. kdebase habe ich auch wie oben kompiliert, nur hat der Kompiler bei mir einen Fehler im Verzeichnis kdehelp gemeldet. Nachdem kdehelp ja nicht so wichtig ist, habe ich es auch wieder wie kdesupport aus dem Makefile rausgeschmissen.

KDE starten

Nun müssen wir noch einen Weg finden, wie wir das KDE starten können. Ich habe dazu folgendes in ~/.xinitrc eingetragen:

source /usr/local/bin/ckde1
export WINDOWMANAGER=/opt/kde/bin/startkde

Am besten trägt man diese Zeilen eher am Anfang des Skripts ein, weiter unten wird die Variable WINDOWMANAGER ja dann ausgewertet.

Wenn wir jetzt den X-Server neu starten, sollte das neue KDE starten.

Anschließen kann man noch die restlichen KDE-Pakete installieren, je nachdem, was man benötigt. Es waren immer wieder einige Pakete dabei, die sich nicht kompilieren ließen, dort habe ich immer wie oben einzelne Verzeichnisse aus dem Makefile entfernt.

Manche Programme beschweren sich merkwürdigerweise über ein fehlendes /usr/bin/moc, das natürlich völlig korrekt unter /usr/local/qt/bin/moc liegt. Hier hat ein entsprechender Symlink geholfen.

Aussichten

Über Lob, Kritik und Anregungen freue ich mich immer. Vielleicht kommen wir ja tatsächlich so weit, dass wir ein paar nervige Bugs in KDE 1.1.2 fixen können oder dass KDE 1.1.2 auch auf neueren Systemen einfacher installierbar ist. Ich habe auch noch vor, eine aktualisierte und erweiterte Iconsammlung zusammenzustellen. Wenn jemand sein KDE 1.1.2 nicht zum laufen bekommt, kann ich auch gerne per Mail helfen, besonders viele Leute werden das ja nicht sein ;-)