Linux-Kongreß´97

KDE Desktop Environment

Linux als Desktop Betriebsystem
Screenshot (91kB)


Matthias Ettrich

Die Unzulänglichkeiten von UNIX als Desktop Betriebsystem führten im November 1996 zur Gründung des ``KDE Desktop Environment''-Projektes. Das Projekt heißt bewußt nicht ``Yet Another Filemanager'' oder ``Yet Another Windowmanager'', zwei Anwendungsprogramme, die von Shell-gewöhnten UNIX-Hardlinern gerne mit graphischen Desktops verwechselt werden. Von einem zeitgemäßen, integrierten graphischen Desktop erwartet der Benutzer heutzutage mehr: Eine komfortable Lösung für alltägliche Anwendungen wie Mail, News, Bilderstellung und -bearbeitung, Musik, Spiele, WWW oder auch Textverarbeitung (im Sinne von Wordprocessing, nicht ``\texttt{cat}'', ``\texttt{sed}'' und co.). Ebenso selbstverständlich sollten dokumentenzentriertes Arbeiten und die graphische Konfiguration von Anwendungen aus den Programmen heraus sein. Unter UNIX ist dies leider noch immer nicht gängige Praxis.

Ziel des Projektes ist es, solch eine moderne graphische Benutzeroberfläche (GUI -- Graphical User Interface) für UNIX/X zu schaffen, die mit etablierten Desktop-Plattformen wie OS/2, Macintosh oder Windows(NT) konkurrieren kann. Zur Zeit hat UNIX/X in dieser Hinsicht nicht viel zu bieten: Ein veraltetes und teueres ``Common Desktop Environment'' und zahllose Versuche, andere Plattformen wie NeXT oder Windows95 nachzuahmen. Diese Bemühungen erreichten jedoch allenfalls das Aussehen ihrer Vorbilder, nicht aber annähernd deren \emph{Funktionalität}. Hübsche Fenster und bunte Bildchen sind aber eher schwache Argumente gegen

Alle moderneren Desktop-Betriebsysteme erfüllen diese Kriterien --- bis auf UNIX: Eine klassische X-Arbeitsumgebung aus freier Software verwendet mindestens ein Dutzend verschiedener Widget-Sets, jedes mit eigenem Aussehen und ein bißchen anders in der Bedienung. Statt Online-Hilfe gibt es im besten Fall eine kryptische man-page, ansonsten diverse READMEs im Quellcode. Anpassungen an Benutzerwünsche sind lediglich in inviduell gestalteten dot-Dateien möglich. Ein Zusammenwirken der verschiedenen Anwendungen ist praktisch nicht vorhanden. Neben der sinnlosen Resourcenverschwendung, zehn Bibliotheken für ein und denselben Zweck in den Speicher zu laden, ist der Lernaufwand für jedes einzelne Programm unverhältnismäßig hoch und der Komfort der gesamten Umgebung eher zweifelhaft.

Ein weiterer wichtiger Vorteil eines integrierten Desktops - neben der besseren Akzeptanz bei Endanwendern - betrifft die Entwicklung von freier Software: Quellen und Konzepte werden auf einer weit höheren Ebene geteilt als bisher unter X üblich; so lassen sich in kürzerer Zeit qualitativ hochwertigere Applikationen entwickeln. KDE beinhaltet für Entwickler unter anderem

Die bereits verfügbaren KDE Applikationen machen intensiven Gebrauch von diesen Konzepten. Durch die Attraktivität und Zahl dieser aufeinander abgestimmten Basis-Anwendungen soll so auf längere Sicht ein offener de-fakto Standard für Desktop-Programme etabliert werden.

Als erfreulicher Nebeneffekt - neben der überlegenen Endanwenderfreundlichkeit und kürzeren Entwicklungszeit dieser Anwendungen - werden die Resourcen der Freeware Community besser gebündelt: Ein allgemeiner Desktop wird Programmierer dazu ermutigen, bestehende Anwendungen zu verbessern oder völlig neue zu schaffen, anstatt die FTP Server mit funktionell gleichwertigen Programmen zu überschwemmen, die sich nur im ``Look and Feel'' unterscheiden. Beispielsweise gäbe es unter X jetzt nicht zehn Filemanager, jeder mit seinen spezifischen Vor- und Nachteilen, sondern stattdessen einen einzigen, der allen unseren Anforderungen gerecht werden würde, und mehrere weitere interessante Desktop-Programme dazu.

Da das KDE auf dem X Window System aufbaut, ist es kein Problem, bestehende X11- oder sogar Terminal-Anwendungen in den KDE Desktop zu integrieren. Das erlaubt einen weichen Aufstieg, da man seine Lieblings Motif-, Athena-, Xforms-, Xview-, TclTk-, oder-was-auch-immer-Anwendung selbstverständlich weiterhin benutzen kann, vielleicht sogar ein bißchen bequemer. Das KDE Hilfesystem erlaubt zum Beispiel nicht nur das komfortable Browsen von KDE typischen HTML-Online-Hilfen, sondern beherrscht auch das veraltete texinfo-Format oder die klassischen nroff-manpages. Da die KDE Applikationen im Aussehen weitgehend an Motif angepaßt sind, fügen sich die großen kommerziellen UNIX/X Applikationen auch optisch harmonisch ein.

Auch wenn das KDE Projekt nicht der erste Versuch in dieser Richtung ist, so doch bislang der erfolgreichste. Innerhalb weniger Monate konnte das KDE-Team, bestehend aus fast 200 Programmierern und anderen UNIX-Begeisterten, zahlreiche aufeinander abgestimmte Programme und Bibliotheksfunktionen anbieten, die schon fast die gestellten Anforderungen an einen integrierten Desktop erfüllen.

Ein Grund für diesen überaschenden Start ist die zugrundeliegende Widget-Bibliothek: Das außergewöhnliche Qt-Toolkit von der Firma Troll Tech. Wenngleich ein kommerzielles Produkt, gibt es eine freie Lizenz für freie Software, die auch den vollständigen Quellcode dieser sehr gut dokumentierten und äußerst effizienten C++-Bibliothek einschließt. Die schnelle Weiterentwicklung, die Qualität und der Umfang von Qt, verbunden mit dem guten Support, den die Freeware-Community von Troll Tech bekommt, rechtfertigen den Schritt, einen freien Desktop auf einer Freeware Lizenz eines kommerziellen Produktes aufzubauen. Ich persönlich glaube sogar, daß die Möglichkeit, auch längerfristige kommerzielle Projekte durchführen zu können, ein Vorteil für Qt und damit auch für das KDE ist - und wir es hoffentlich mit dem würdigen Nachfolger von Motif zu tun haben.

Die Wahl von Qt als Basis für das KDE fiel nicht willkürlich, sondern nach gründlicher Prüfung der zahlreichen Alternativen, von denen viele auch unter der GPL vertrieben werden. Nur Qt hat unserer Meinung nach einen aktuellen Implementierungsstand und ein Entwicklungspotential, um den traurigen Wildwuchs zu beenden, der der UNIX-Gemeinde fast jeden Monat einen neuen Widgetset beschert. Trotzdem ist dies sicherlich einer der Hauptkritikpunkte gegen KDE, für dessen Diskussion eigens eine spezielle Mailingliste eingerichtet wurde (Wenn auch nur, um die übrigen Mailinglisten von nicht-programmierenden, dogmatischen Freeware Advokaten freizuhalten ;-).

Ein weiterer Grund für den Erfolg von KDE ist das pragmatische Ansatz des Programmierteams, einerseits Desktop Standards der kommerziellen Konkurrenz zu übernehmen und andererseits bestehende freie Software zu recyclen und gute traditionelle UNIX-Konzepte zu bewahren. Zwischen diesen Grenzen sucht das KDE Projekt seinen eigenen Weg. Es versucht nicht, eine der bestehenden graphischen Umgebungen nachzubauen, sondern stattdessen unter Rücksichtnahme auf gängige Standards dem X-Window-System einen eigenen ``Look and Feel'' zu geben.

Ein erstes Public-Release ist für den 31. März 1997 geplant. Der vollständige Entwickler-Quellcode war und ist aber jederzeit über anonymous FTP verfügbar. Weitere Informationen gibt es unter http://www.kde.org

Screenshot (91kB)