KDE Software Compilation 4
KDE 4 ist die vierte Generation der frei verfügbaren Arbeitsumgebung K Desktop Environment. Diese ist vorrangig für Computer gedacht, auf denen ein Unix-ähnliches Betriebssystem läuft. Seit Version 4.1 kann KDE-Software auch nativ unter Windows und Mac OS X genutzt werden.
KDE Software Compilation 4
| |
---|---|
KDE 4.3 | |
Basisdaten
| |
Entwickler | Das KDE-Team |
Aktuelle Version | 4.3.2 („Caizen“)[1] (6. Oktober 2009) |
Betriebssystem | Unix-ähnlich (u. a. BSD, Linux, Mac OS X), Windows |
Programmiersprache | C++ (Qt) |
Kategorie | Desktop-Environment |
Lizenz | GPL, LGPL und weitere[2] |
deutschsprachig | ja |
http://kde.org |
Versionsgeschichte
KDE 4.0
Am 18. August 2006 veröffentlichte das KDE-Team die erste Vorabversion von KDE 4 mit dem Namen Krash unter der Versionsnummer 3.80.1, der zwei weitere Schnappschüsse folgten. Diese drei Versionen richteten sich in erster Linie an Entwickler, die ihre Anwendungen auf KDE 4 portieren oder neue Anwendungen für KDE 4 schreiben wollen. Für Anwender sichtbare Änderungen gegenüber KDE 3.5 gab es in diesen Versionen noch kaum.
Am 11. Mai 2007 wurde KDE 4 in einer ersten Alpha-Version veröffentlicht. Erstmals zeigte KDE 4 auch optisch deutliche Unterschiede zu KDE 3, da beispielsweise der Oxygen-Iconsatz eingebunden wurde. Die erste von vier Beta-Versionen erschien am 2. August 2007.[3] Am 20. November 2007 erfolgte die Freigabe des ersten von zwei Release Candidates (RC). Am 11. Januar 2008 wurde schließlich das finale KDE 4.0 veröffentlicht.[4]
KDE 4.0 basiert auf Qt 4.3.[5] Da es auch weitere grundlegende Änderungen mit sich bringt, ist es binär inkompatibel zu KDE 3.x.
Die an der Oberfläche sichtbaren Änderungen wurden hauptsächlich im Rahmen der Projekte Oxygen und Plasma entwickelt. Ersteres kümmert sich insbesondere um die Schaffung des Artworks von KDE 4, also um ein neues Icon- sowie Widget-Thema und ähnliches. Plasma ersetzt Programme wie kicker (Taskleiste) und kdesktop (Desktop) und gestaltet dadurch die Oberfläche einheitlicher.
Weiterhin wurde die Multimedia-API Phonon entwickelt, welche den alten Soundserver aRts ablöst. Phonon stellt vergleichbar mit DirectShow unter Windows und CoreAudio unter Mac OS X eine einheitliche API zur Entwicklung von Audio- und Video-Anwendungen bereit. Es selbst ist jedoch kein Soundserver wie aRts, sondern nur ein Wrapper, der die Benutzung von verschiedenen Back-Ends ermöglicht.
Das Projekt Solid dient dazu, den Benutzern den Umgang mit der Computer-Hardware zu erleichtern, insbesondere mit solcher, die während des Betriebs ein- und ausgesteckt werden kann. Eine weitere Intention von Solid ist es, KDE plattformunabhängiger zu gestalten: Um auch native Versionen von KDE für andere Betriebssysteme, wie beispielsweise Windows, zu veröffentlichen, ist eine Abstraktionsschicht nötig, die es Anwendungen ermöglicht, die Hardware unter allen Betriebssystemen gleich anzusteuern. Ohne diese Schicht müsste jede Anwendung für verschiedene Betriebssysteme angepasst werden, was ein sehr großer Aufwand wäre und deshalb nur einmal – für alle anderen Applikationen benutzbar – in Solid implementiert wurde.
Außerdem verwendet KDE 4 zur Kommunikation zwischen den Anwendungen nicht mehr DCOP (Desktop Communication Protocol), sondern das vom freedesktop.org-Projekt entwickelte D-Bus. Weitere Neuerungen sind der Dateibrowser Dolphin und der universale Dokumentenbetrachter Okular, der die bisherigen Einzelprogramme KPDF, KGhostview, KView, KFax und KDVI ersetzt.
Ebenfalls wurde die Rechtschreibprüfung KSpell2 durch die Neuentwicklung Sonnet ersetzt. Sonnet verfügt neben der Rechtschreibprüfung auch über eine Grammatikprüfung, Übersetzungsfunktionen und die Erkennung der Sprache eines geschriebenen Textes. Das Team um Sonnet arbeitete dabei eng mit dem AbiWord-Team zusammen und nutzt unter anderem deren Schnittstelle zum Zugriff auf verschiedene Rechtschreibprüfungs-Systeme.[6]
Der Fenstermanager von KDE 4 stellt nun auch sogenannte Compositing-Funktionen auf der Basis von OpenGL oder XRender zur Verfügung. Effekte wie Fensterschatten und Fenstertransparenzen sind in vorhergehenden Versionen in erster Linie durch externe Projekte wie Compiz realisiert worden.
KDE 4.1
KDE 4.1 wurde am 29. Juli 2008 veröffentlicht.[7] Seit KDE 4.1 steht auch die integrierte PIM-Suite Kontact und ein neues Videoabspielprogramm, Dragon Player, zur Verfügung.
KDE 4.2
KDE 4.2 wurde am 27. Januar 2009 veröffentlicht. Diese Veröffentlichung war die erste der aktuellen KDE-Generation, die für normale Nutzer ausgelegt war.[8]
Speziell die Plasma-Oberfläche erfuhr in dieser Version weitreichende Änderungen: Der Desktop konnte auf eine traditionelle Ansicht umgestellt werden, Seitenleisten konnten versteckt werden usw.
Eine ganze Reihe weiterer neuer Funktionen wurden mitgeliefert, u. a.: PowerDevil (stellt Funktionen zur Energieeinsparung bereit), andere neue Hilfsprogramme, neue Spiele und Feinschliff an den bekannten Anwendungen wie z. B. Dolphin.
KDE 4.3
KDE 4.3 ist die aktuelle Version und wurde am 4. August 2009 veröffentlicht. Feinschliff der vorhandenen Komponenten stand bei dieser Version im Vordergrund und weniger das Einführen neuer Funktionen.[9][10]
Die wenigen neuen Funktionen sind u. a. die Integration von PolicyKit, NetworkManager und Geolocation, sowie eine Plasma-Komponente zur Einbindung eines sozialen Netzwerks.
KDE 4.4
KDE 4.4 befindet sich zur Zeit in Entwicklung und soll im Februar 2010 veröffentlicht werden. Einige der neuen Funktionen sind bereits im Entwicklungszweig implementiert.
KDE 4.4 wird Version 4.6 von Qt nutzen, welches Ende 2009 veröffentlicht wird.[11]
KAddressBook wird durch eine neu entwickelte Anwendung selben Namens ersetzt werden – früher provisorisch KContactManager genannt.[12]
Eingesetzte Technologien
Plasma
Plasma ist eine Anwendung, die einen kompletten Desktop inklusive Widget-Engine bereitstellt und in KDE 4 aufgenommen wurde.
Geschichte
In KDE 1 wurde der Desktop-Hintergrund, ähnlich wie unter Windows, vom Dateimanager dargestellt. Ab KDE 2 wurden die Funktionen auf separate Programme ausgelagert: Während Dateiverwaltungsfunktionen seitdem von Konqueror bereitgestellt werden, wurden Desktop und Taskleiste von KDesktop und Kicker verwaltet.
Insbesondere ab 2005 erlangten Widget-Engines zunehmende Verbreitung, die Miniprogramme auf der Desktop-Oberfläche darstellen. So verfügte auch das KDE-Projekt mit SuperKaramba über eine Widget-Engine. Gleichzeitig erlaubte Kicker es, Miniprogramme in die Taskleiste zu integrieren, die aber technisch inkompatibel zu den Widgets von SuperKaramba waren. Während der Entwicklung von KDE 4.0 entschieden sich einige KDE-Entwickler unter Führung des Kicker-Chefentwicklers Aaron J. Seigo dazu, die Desktop-Komponenten KDesktop, Kicker und SuperKaramba wieder in einer Anwendung zu vereinigen.[15]
Technische Grundlagen
Plasma wurde mit dem Ziel entworfen, nicht eine weitere Implementation einer Desktopoberfläche darzustellen, sondern ein allgemeines Framework zur Erstellung von Benutzerschnittstellen.[16] Die tatsächliche Desktopoberfläche stellt aus diesem Blickwinkel lediglich eine Beispielimplementation dar. Tatsächlich wird Plasma auch in nicht mit dem Desktop zusammenhängenden Programmen verwendet, insb. für die Kontextansicht des KDE-Medienspielers Amarok (ab Version 2.0).
Die Oberfläche in Plasma besteht aus Applets (engl. Miniprogramm), die in sich geschlossene Anwendungsfälle grafisch repräsentieren. (Synonym wird der Begriff Widget, vereinzelt auch Plasmoid, verwendet.) Auf einem Desktop ist zum Beispiel eine Uhr ein Applet, das zur Anzeige der aktuellen Uhrzeit dient.
Die Anordnung der Applets auf der Oberfläche wird durch spezielle übergeordnete Applets, sogenannte Containments (engl. Behältnis) bestimmt, die den Applets bestimmte geometrische Vorgaben (Formfaktor) aufzwingen können. Während Applets zum Beispiel auf dem Desktophintergrund frei schweben und eine (fast) beliebige Größe haben können, sind sie in der Taskleiste in der Höhe stark beschränkt. Fast alle Applets in Plasma passen ihre Form entsprechend des äußeren Formfaktors an: Während zum Beispiel das Startmenü-Applet auf dem Desktop immer das komplette Startmenü zeigt, wird es in der Taskleiste zu einem Knopf, der das Startmenü beim Anklicken einblendet.
Ein zentraler Punkt bei Plasma ist die Trennung von Daten und Darstellung: Während sich im Idealfall ein Applet nur um die Darstellung von Daten kümmert, wird die Beschaffung und Aufbereitung von Daten von einer Data-Engine (engl. Datenmaschine) übernommen. Eine ähnliche Struktur ermöglicht die aktive Interaktion von Applets mit webbasierten Diensten.
Kritik
Obwohl die Arbeit an Plasma im Juni 2005 begann, war die Software zur Veröffentlichung von KDE 4.0 im Januar 2008 noch nicht so ausgereift wie erhofft. Über den ganzen Jahresverlauf bemängelten viele Benutzer häufige Abstürze von Plasma, Geschwindgkeitseinbußen insb. in Verbindung mit Nvidia-Grafikkarten, sowie das Fehlen vieler von KDesktop und Kicker aus KDE-3-Zeiten bekannten Funktionen.
Eine besonders intensive Kontroverse entbrannte über Dateisymbole auf dem Desktop: Die traditionelle Aufgabe des Desktops ist die Darstellung der Dateien, die in einem speziellen Desktop-Ordner auf der Festplatte gespeichert sind, durch frei platzierbare Desktop-Symbole. Diese Funktionalität stand in KDE 4.0 nur sehr beschränkt zur Verfügung. Für KDE 4.1 wurde die Übergangslösung komplett entfernt und durch Ordner-Ansicht ersetzt, die allerdings erst mit KDE 4.2 vollständig implementiert wurde.[17]
Phonon
Phonon (früher provisorisch auch KDEMM) ist die Multimedia-API von KDE 4. Darüber hinaus verwendet die Firma Qt Software Phonon als Multimediaschnittstelle für Qt 4.4.[18]
Eigenschaften
Phonon bietet Entwicklern von KDE-/Qt-Software eine einheitliche Schnittstelle (API) zur Entwicklung von Audio- und Video-Anwendungen. In der Hinsicht ist es vergleichbar mit den Schnittstellen von DirectShow unter Windows und QuickTime unter Mac OS X. Dabei wird, unter Beibehaltung der Binärkompatibilität, auf unterschiedliche Back-Ends zurückgegriffen.
Hintergrund dieser Lösung ist, dass KDE-Programme seit KDE 4.0 und Qt-Programme im Allgemeinen auch unter Windows oder Mac OS X lauffähig sind, und dort andere Multimedia-Lösungen als unter Linux verwendet werden. Zusätzlich dazu stehen unter Linux selbst mehrere konkurrierende Multimedia-Lösungen zur Verfügung (Gstreamer, xine, etc.). Phonon abstrahiert diese Probleme und macht sie für Entwickler von KDE-Software unerheblich.
Phonon selbst ist dabei kein Soundserver wie aRts, das noch unter KDE 3 zum Einsatz kommt.
Geschichte
Hintergrund der Entwicklung von Phonon waren vor allen Dingen technische und personelle Probleme bei aRts. aRts war in der Anfangszeit eine vielversprechende Lösung für viele damals existierende Audio-Probleme unter Linux, wurde aber über die Zeit nicht ausreichend weiterentwickelt, um mit der Entwicklung der Computer hin zu immer mehr Multimedia-Anwendungen Schritt zu halten. Als Resultat fehlten nach einigen Jahren diverse Funktionen und Möglichkeiten in aRts im Bereich der Audio-Unterstützung, Video-Unterstützung fehlte vollständig. aRts konnte aber in KDE 3 nicht ersetzt werden, da dies die Binärkompatibilität verletzt hätte.
Die Entwickler von KDE kamen nach den Erfahrungen mit aRts zu dem Schluss, dass es nicht sinnvoll ist, sich auf ein einziges Projekt zu verlassen. Daher wurde Phonon als Hüllenklasse entwickelt, um auch innerhalb der Entwicklungslinie von KDE 4 das Back-End wechseln zu können, wenn dies nötig erscheinen sollte, ohne dass vorhandene KDE-Anwendungen angepasst werden müssen. Hinzu kam das Problem, dass zum Zeitpunkt des Beginns der Entwicklung von KDE 4 auch keine einheitliche Lösung unter Linux verfügbar war: zwar wurde von vielen das Projekt GStreamer favorisiert, aber auch xine oder MPlayer boten sich als umfangreiche Lösung an.
Da andere Lösungen wie der direkte Einsatz eines bestimmten Back-Ends (wie z. B. GStreamer) ebenfalls einen Wrapper erfordert hätten, um sie an die Programmiergegebenheiten von KDE anzupassen, brachte die Phonon-Lösung nur einen vergleichsweise geringen Mehraufwand gegenüber einer Direktintegration mit sich.
Unterstützte Back-Ends
Haupt-Back-Ends
Anfänglich wurde Phonon vor allen Dingen mit Hilfe eines Xine-Back-Ends entwickelt[18]. Im Dezember 2007 steuerte Trolltech (jetzt Qt Software) die Unterstützung für die drei Back-Ends GStreamer, QuickTime und DirectShow bei[19].
Weitere Back-Ends
- NMM: Dieses Back-End nutzt die Network-Integrated Multimedia Middleware und ist besonders auf Medienausgabe über Computer-Netzwerke ausgerichtet. KDE 4.0 enthält dieses Back-End nicht[20] und es wird aktuell (Januar 2008) auch nicht weiter entwickelt.[21]
- avKode: Im Rahmen des Google Summer of Code 2006 wurde mit avKode ein Back-End entwickelt, das auf FFmpeg aufsetzt. Es wird aktuell (Januar 2008) nicht weiter entwickelt.
- Phonon-aRts: Phonon-aRts nutzt den aus KDE 3 bekannten Soundserver aRts. Es war geplant, dass dieser zumindest in der Anfangszeit von KDE 4 unterstützt werden sollte, um Kompatibilität mit KDE-3-Anwendungen zu gewährleisten. Er wird jedoch nicht weiter entwickelt.
- Phonon-Fake: In der Anfangsphase lediglich dazu gedacht, Phonon zu entwickeln, stellt dieses Back-End keine Audio-Ausgabe zur Verfügung.
- Phonon-VLC: Dieses Back-End nutzt die Bibliotheken des VideoLAN-Projekts. Es wurde von Tanguy Krotoff entwickelt.
- Phonon-mplayer: Ebenfalls von Tanguy Krotoff entwickelt, nutzt dieses Back-End im Hintergrund MPlayer.
Solid
Solid ist die einheitliche Schnittstelle und Framework zum Einbinden von Hardware bei der K Desktop Environment.
Aufgabe
Solid wurde mit KDE 4 eingeführt, um den Umgang mit Hardware zu erleichtern, insbesondere mit im Betrieb wechselnden Geräten (Hotplug), wo es die bisherigen Behelfslösungen für die Verwaltung ablösen soll. Des Weiteren macht diese Abstraktionsschicht Anwendungen, die sie nutzen, extrem flexibel und portabel und vereinfacht ihre Entwicklung; so kann die Hardware auch unter verschiedenen Betriebssystemen einheitlich angesteuert werden, was wesentlich zur Plattformunabhängigkeit von KDE beiträgt.
Funktion
Ähnlich der Multimedia-Schnittstelle Phonon verwaltet sie die Hardware nicht direkt selber, sondern macht bestehende Lösungen durch eine einheitliche Schnittstelle zugänglich. Dabei können alle zugrundeliegenden Teile ausgetauscht werden, ohne eine Anwendung zu stören.
Solid teilt sich in verschiedene Hardware-Bereiche, wie Bluetooth oder Energieverwaltung, die unabhängig voneinander arbeiten und zu denen nach Bedarf weitere hinzugefügt werden können.
Die momentane Lösung benutzt die Hardwareabstraktionsschicht des freedesktop.org-Projektes, den NetworkManager und BlueZ (Linux' offiziellen Bluetooth-Protokollstapel). Es wird auch an einem Back-End für die Windows-Portierung von KDE gearbeitet, die auf der Windows Management Instrumentation (WMI) aufbaut[22].
Über libkdehw stellt Solid Informationen über wechselnde Verbindungen und Geräte und zur Energieverwaltung bereit.
Weblinks
- Offizielle Website der Anwendung (englisch)
- Wiki der Plasma-Entwickler (englisch)
- Artikel über Plasma auf Linux.com (englisch)
- Solid-Homepage
- KDE-dot-Artikel über Solid
Quellen
- ↑ KDE 4.3.2 Release Announcement. 6. Oktober 2009, abgerufen am 6. Oktober 2009.
- ↑ Licensing information for KDE packages
- ↑ Heise online: KDE 4.0: Erstes Beta-Release erschienen, abgerufen am 2. August 2007
- ↑ Sebastian Kügler: „The Start of Something Amazing with KDE 4.0 Release“ auf dot.kde.org, 9. März 2009] (englisch)
- ↑ KDE Release Team: KDE 4.0 Release Roadmap, abgerufen am 15. Juli 2007
- ↑ Jacob Rideout: How Is Sonnet Stacking Up? in seinem Blog, 31. Dezember 2006
- ↑ KDE 4.1 Release Announcement.
- ↑ KDE 4.2 Released; Short Interview: Aaron Seigo.
- ↑ Bruce Byfield: The KDE 4.3 beta: KDE Returns to Incremental Releases.
- ↑ Steven J. Vaughan-Nichols: A first look at KDE 4.3.
- ↑ http://kdenews.org/2009/09/08/third-plasma-summit-lifts-kde-desktop-higher-grounds
- ↑ http://commit-digest.org/issues/2009-01-25/
- ↑ http://www.notmart.org/index.php/BlaBla/Looking_back_at_Tokamak_3
- ↑ http://lists.kde.org/?l=kopete-devel&m=125226558215165&w=2
- ↑ Öffentliche Ankündigung des Projektes im Blog von Aaron J. Seigo, englisch)
- ↑ Plasma on Netbooks (Erklärung zum Sinn eines "interface frameworks", englisch)
- ↑ Aaron Seigo: educating expectations (englisch)
- ↑ a b Matthias Kretz: Phonon-Trolltech (30. August 2007)
- ↑ Trolltech and KDE Cooperate on Cross-Platform Multimedia Programming Framework, Pressemitteilung von Trolltech, 13. Dezember 2007
- ↑ http://www.nabble.com/FYI:-Phonon-NMM-backend-dropped-from-kdemultimedia-4.0-t4223965.html
- ↑ http://phonon.kde.org/cms/1034
- ↑ KDE Commit Digest issue 107