• Skip to content
  • Skip to link menu
KDE für deutschsprachige Benutzer
  • KDE Deutschland
  • Kontakt
 

Anwendung des Monats - Konsole!

Interview mit dem Autor von Konsole, Lars Doelle

(das Interview wurde vom Englischen ins Deutsche übersetzt):

 

Wann hast Du mit Deiner Arbeit an Konsole angefangen?

Direkt, als das KDE Projekt startete. Etwa ein Jahr zuvor suchte ich nach Informationen über die Programmierung von grafischen Benutzeroberflächen unter Linux. Der aktuelle Stand zu jener Zeit war gelinde gesagt ein Desaster, mit Ausnahme von X11, das definitiv eine gute Grundlage ist. Die vielversprechendste Entwicklung zu jener Zeit stellte Lesstif, ein freier Motif-Klon dar aber dieses Projekt machte nur sehr langsame Fortschritte, wenn sie auch letztendlich Erfolg hatten.

Die früheste Arbeit an Konsole ging in eine etwas andere Richtung. Es war als Terminal-Emulation zur Benutzung von dem, was man zu jener Zeit Mailboxen nannte gedacht also es sollte im Grunde über ein Modem laufen, anstelle über eine Pseudo pty device, so wie es jetzt ist.

Nachdem ich mehr darüber gelernt hatte, um was es bei Terminal-Emulationen ging und nachdem ich erkannt hatte, dass ein X-Terminal, zur Ablösung von kvt - eine Arbeit von Matthias Ettrich, im Grunde eine Portierung von xvt nach QT - benötigt werden würde, begann ich mit der Arbeit in Richtung Konsole.

Zunächst war die Arbeit, nun, sagen wir einmal, eher eine archäologische Grabung in der Vor- und Frühgeschichte der Datenverarbeitung. Technisch basiert die Konsole ganz auf DECs VT100 und ihrer Nachfolger, die alle Erweiterungen der Art darstellen, die wir heute "hack" nennen würden. Es dauerte in etwa zwei Monate, um alle Arten von Escape-Codes zu sammeln und zu sortieren, die gebraucht werden, damit ein X-Terminal so funktioniert, wie es soll.

VT100

DEC VT100

Der Rest war einfach nur direktes Programmieren.

 

Du bist neben dem Betreuer Waldo Bastian als einziger Autor genannt. Stammt Konsole also ganz von Dir? Gibt es noch jemanden, den man erwähnen sollte, wenn man über Konsole spricht?

Waldo Bastian betreut Konsole momentan, neben anderen Programmen, auf eine Art, in der er für das KDE Projekt als Ganzes Verantwortung übernimmt. Er leistet hervorragende Arbeit und ich bin ihm sehr, sehr dankbar, dass er sich im Moment um Konsole kümmert, nachdem ich mich sozusagen aus der aktiven Entwicklung von Konsole zurückgezogen habe. Ich mache immer noch kleinere Wartungsarbeiten und ein bißchen Korrespondenz.

Der "Dank an" Abschnitt in der "Info über..." listet meiner Meinung nach viel zu wenige hilfreiche Leute auf, da Konsole sehr viele Mitarbeiter hatte. Der, den ich persönlich am hilfreichsten fand war Peter Silva, vielleicht, weil er der erste echte Mitarbeiter war. Es war eine dieser Zufälle, die ich jetzt so typisch für die Freeware-Bewegung halte. Genau in dem Moment, als ich mich wirklich erschöpft und verzweifelt in Bezug auf die Fertigstellung von Konsole fühlte, tauchte er auf und tat etwas sehr hilfreiches und wichtiges, und das war die Hinzufügung der Markier-Funktionalität. So schnell wie Peter kam, verschwand er auch wieder, um jemand anderem zu helfen und hinterließ einen glücklichen und komplett erholten Autor. Ich habe diese Erfahrung mit Mitarbeitern in jedem Freeware-Projekt erlebt, das ich gemacht habe und diese Menschen wie er sind es, die Freeware-Projekte so fruchtbar machen und einen so viel Spaß daran haben lassen.

Ein anderes großartiges Beispiel, das ich erwähnen möchte ist die Mitarbeit von David Faure, der Konsole auf eine ganz andere Ebene gebracht hat und ihm dazu verholfen hat, reibungslos mit anderen Anwendung zusammenzuarbeiten, wie z.B. Konqueror oder Kdevelop.

Viele andere haben tolle und oft stille Beiträge geleistet. Ihre Arbeit tauchte oft einfach nur im CVS auf. Das waren viele kleinere und größere Beiträge, die Konsole zu dem gemacht habe, was es heute ist.

So stammt schließlich nur der Rendering-Kern und der Interpreter der Kontroll-Codes, neben ziemlich grundlegendem Matarial ganz aus meiner Feder und wurde erstaunlicherweise seit den Anfängen nicht verändert.

 

Die "klassische" Shell ist auf Linux-Rechnern ja essentiell für ein produktives und vor allem auch schnelles Arbeiten und es gibt hier auch einige X-Terminal Variationen. Was hat Dir an den anderen Programmen gefehlt, was hat Dich dazu motiviert ein weiteres X-Terminal zu programmieren und was zeichnet Deiner Meinung nach Konsole gegenüber den anderen Terminals aus?

Da Du gerade nach der Shell gefragt hast, möchte ich gleich zu Beginn ein typisches Mißverständnis klären, was die Konsole oder ein X-Terminal ist.

Da die wohl bekannteste Anwendung, die in einer Konsole läuft wohl die bash, also eine shell ist, wird ein X-Terminal oft mit der Anwendung, die in ihr läuft verwechselt. Die Konsole ist einfach eine Emulation (oder Simulation, wenn man so will) eines Terminals. Ein Terminal ist ein Konzept, dass sehr tief in der DNA von UNIX&tm; begraben und allem, was dem ähnlich ist, wie z.B. Linux. Wenn man z.B. einmal das ps Kommando aufruft, sieht man dass jeder Anwendung und jedem Prozess, die auf einer Maschine laufen, ein Terminal zugeordnet ist. Ein UNIX&tm; Hauptrechner hatte, sagen wir mal 20 oder sogar 100 Terminals über serielle Leitungen angeschlossene Terminals, an denen überall eifrige Benutzer arbeiteten und darauf warteten, Zugang zur Maschine zu erhalten. Ich vermute mal, dass ein moderner PC locker 1000 oder mehr fleißige Benutzer bedienen könnte aber da die Hardware heutzutage so billig geworden ist, können wir all die kostbaren Ressourcen an einen einzigen Benutzer verschwenden, der seinen Spaß damit hat, Quake bei 200 Bildern pro Sekunde zu spielen.

Mit dem Aufkommen von PC und graphischen Terminals wurde eine Art Simulation nötig, von dem, was die Terminals für die alten Maschinen waren und dieser Ersatz ist es, was die X-Terminals heute sind. Sie kommunizieren immer noch über eine Art serielle Leitung mit dem Hauptrechner, um all die Programme laufen zu lassen, die früher für die Terminals gemacht waren.

Zum Vergleich mit anderen X-Terminals kann ich sagen, dass dies alle gute Programme sind und besonders in der Anfangszeit von Konsole war ich sehr froh, dass sie überhaupt existierten und mir damit eine große Bürde abnahmen, einfach dadurch, dass die Benutzer auf sie zurückgreifen konnten, falls ich mit der Konsole etwas falsch gemacht hätte.

Vielleicht ist Konsole in mancher Hinsicht ein bißchen fortschrittlicher, vor allem, was Schriftarten und Farbschemata angeht, auch wenn dies auf die ein oder andere Weise auch bei anderen X-Terminals konfigurierbar ist. Vielleicht machen die enge Integration in KDE, das Sitzungskonzept oder die vielen mehr oder weniger nützlichen kleinen Features die Konsole zu dem, was sie heute ist.Viele Puristen bemängeln, die Konsole sei zu "aufgebläht" und nennen die Transparenz als Beispiel aber hey, man kann so tolle Screenshots mit einer transparenten Konsole machen, oder? Konsole spiegelt sehr stark meine eigenen Vorstellungen davon wieder, wie eine Linux Konsole aussehen und zu bedienen sein sollte. Ich bin unter Linux mit der Linux-Konsole als primärer Oberfläche aufgewachsen und ich habe versucht, Konsole zu einem würdigen Ersatz zu machen. Dazu hab ich mich um die Linux-Schriftart gekümmert, was etwa einen Monat Arbeit bedeutete, die Farben an das VGA-Farbschema angepasst und das Sitzungskonzept hinzugefügt, das wirklich einmalig und nützlich ist. Konsole hatte sogar einen Vollbildmodus, der bis aufs Pixel der Linux Konsole glich, wenn man eine frame buffer Konsole mit der selben Auflösung betreibt. Es ist schade, dass diese Funktion im Laufe der Zeit kaputt ging. Ich möchte sie in der nächsten Wartungsrunde wieder einbauen.

Zur Motivation. Da gab es mehrere Dinge. Zuerst einmal suchte ich nach einem guten Beispiel, um das Programmieren für X11 und QT zu lernen. Zweitens wollte ich wirklich zu der Existenz von etwas beitragen, dass man den Desktop für Linux nennen könnte, den es zu Beginn des KDE-Projekts noch nicht gab. Ein Desktop für Linux ist ohne Zweifel der Verdienst von KDE. Ohne falsche Absichten kann ich sagen, dass das GNOME Projekt nur eine Reaktion darauf war, als es ins Leben gerufen wurde. Ein Desktop für Linux war dringend nötig, man erinnere sich, dass Windows 95 zu der Zeit schon zwei Jahre existierte und das weitaus fortschrittlichere Linux nichts dagegen halten konnte (außer X11 vielleicht, was immer noch die überlegenere Technologie ist, auch wenn es einen großen Schritt nach vorne vertragen könnte). Drittens liebte ich dieses Linux und Freeware Zeug sehr, es gab mir das Gefühl in einem warmen Regen zu stehen und ich wollte etwas Gutes zurückgeben. Viertens aber nicht zuletzt brauchte ich ein besseres X-Terminal, das so gut war, wie die Linux Konsole. Alles in allem war ich also sehr motiviert für dieses Projekt.

 

Wie hast Du Dir das für die Programmierung nötige Wissen angeeignet?

Ich habe Computerwissenschaften in Darmstadt und Hamburg studiert und ich arbeite nun schon etwa 20 Jahre als selbständiger Programmierer. Vor allem in der UNIX-Welt aber ich habe auch schon ein paar Sachen unter Windows gemacht. Gerade genug, um meine schlechten Erfahrungen mit Windows bestätigt zu sehen; Windows ist wirklich schlimmer als sein Ruf. Ich mache nun schon seit einigen Jahren professionell und privat alles unter Linux.

 

Wirst Du für Konsole in irgendeiner Form finanziell unterstützt?

Nein, nicht wirklich. Ich habe allerdings ein paar Anpassungen am Konsolenkern für ein paar Spezialanwendungen vorgenommen. Ich kann sagen, dass sich danach die Arbeit an Konsole zumindest teilweise ausgezahlt hat, was mich etwas überrascht hat. Geld dafür zu erhalten ist für mich eher zweitrangig, es war nie meine Absicht, Geld dafür zu bekommen, sondern ich habe es nur aus Spaß gemacht, um etwas Gutes zu tun und weil ich selbst ein X-Terminal brauchte.

 

Wie intensiv entwickelst Du Konsole weiter? Wie sehen Deine weiteren Pläne für Konsole aus?

Nun, wie ich schon sagte habe ich mich sozusagen aus der aktiven Konsolen-Entwicklungsarbeit zurückgezogen aber ich plane noch eine Wartungsrunde, um ein paar Dinge zu richten.

Ich glaube nicht, dass ich persönlich in der Lage sein werde, aus Konsole noch viel mehr zu machen, als es momentan ist aber da Du gefragt hast, möchte ich ein paar Dinge erwähnen, die ich als noch in der Schwebe sehe.

  1. Vervollständigung der Unicode-Unterstützung. Das ist nicht wirklich ein Thema für Konsole, sondern eher für Kommandozeilen-Programme, vor allem aus den text-utils, wie grep, sed und das ganze Zeug, das etwas mit regulären Ausdrücken zu tun hat. Dieses ganze Zeug arbeitet nicht wirklich gut mit Unicode.
  2. Die Integration von Kommandozeilen-Programmen mit Session Management. Session Management ist unabhängig von der grafischen Benutzeroberfläche, so dass Kommandozeilen-Programme daran teilhaben könnten, was sie aber nicht tun. Man stelle sich eine bash oder ein mutt oder ein mc oder vi vor, die genau an der Stelle zurückkommen, wo man sie beim Abmelden stehen gelassen hat.
  3. Internationalisierung. Ich war besonders auch mit asiatischen Entwicklern in Kontakt aber Unterstützung für asiatische oder bidirektionale Skripts zu leisten verlangt weit mehr Verständnis dafür, wie diese in einer Konsole benutzt werden, als ich in der Lage war zu erlangen.

 

Hast Du (außer Konsole ;-) ) irgendwelche Lieblingswerkzeuge unter KDE?

Sicher. Ganz klar Konqueror und KMail. Schwerer zu bemerken aber immer präsent sind KWin und Kicker. Und natürlich die ganz wichtige Werkzeugsammlung, die man im Spielemenü findet.

 

Konsole wurde auch unter der GPL veröffentlicht. Was denkst Du über "Open Source"? Hast Du noch nie darüber nachgedacht, Deine Software kommerziell zu verbreiten?

Was ich über "Open Source" denke, hängt stark davon ab, in welcher Hinsicht ich darüber nachdenke. Wenn dies "Closed Source" bedeutet, kann ich aus meiner eigenen praktischen Erfahrung sagen, dass die Arbeit mit "Closed Source" die Hölle auf Erden ist. Wenn es Freeware bedeutet, ziehe ich eindeutig letzteres vor. Ja, ich glaube, dass Freeware etwas mit Freiheit zu tun hat und "Open Source" ist in dieser Hinsicht nichts anderes als Wasser, das in herrlichen Wein gemischt wurde, vielleicht mit der guten Absicht, dass es sonst für einige Leute zu stark sein könnte.

Die "kommerzielle" Frage, die Du zum zweiten Mal stellst, ist schwer zu beantworten, besonders, da sie nur einen engen Raum für Interpretationen zuläßt. Hast Du schon einmal daran gedacht, dass das Veröffentlichen von Software unter der GPL eine bewußte kommerzielle Entscheidung sein kann? Und dass es vielleicht schon in vielen Fällen eine solche Entscheidung ist?

Ein Beispiel. Wieviele Buchhaltungsprogramme würdest Du schätzen, wurden allein in Deutschland für einzelne Firmen geschrieben? 10.000? 100.000? Wie oft denkst Du, wurden solche Programme von ihren Herstellern verkauft? Was kostet die Produktion und die Wartung für die Kunden? Wieviele verschiedene Buchhaltungen braucht eine Gesellschaft? Wenn Du als Firma ein solches Programm bestellst, wäre es "kommerziell" die Quellen unter der GPL zu veröffentlichen und damit die Produktionskosten sogar mit dem größten Konkurrenten zu teilen?

Ein weiteres Beispiel, wie auch das erste. Was glaubst Du, wieviele Programme wurden schon für nur einen Kunden geschrieben, die nur von ihm benutzt werden und die in ähnlicher Art und Weise noch für viele andere geschrieben wurden? Die Quellcodes solcher Programme verschwinden dann einfach in einem Schrank und werden älter. Wieviele hunderte von Millionen Dollar glaubst Du, werden auf diese Art und Weise verschwendet? Wäre es nicht "kommerziell" diese Programme unter der GPL zu veröffentlichen und einen großen Markt für sie zu öffnen, mit Service und Wiederverwendung?

Beide Beispiele zeigen, dass ein großes kommerzielles Potential im geschickten Aufbau einer Quellcode-Lizenzierung und der Wiederverwendung von Quellcode steckt. Vielleicht ist die GPL das raffinierteste Lizenzierungsmodell, das je entwickelt wurde, da es half, das ganze GNU/Linux Ding entstehen zu lassen und noch viel mehr.

Ich sehe Freeware oder Freiheit nicht als Gegensatz zu kommerziellen Aktivitäten. Im Gegenteil. Ich glaube sehr fest daran, dass die Freeware-Gemeinschaft von sehr starken wirtschaftlichen Kräften angetrieben wird, einfach deshalb, weil das Herstellen von Freeware oder "Open Source" aus ganz offensichtlichen Gründen wirtschaftlicher ist, als "Closed Source". Sicher, den Gebrauch so zu organisieren, dass etwas vom Gewinn am Ende beim Autor landet erscheint vielleicht schwierig, aber vielleicht nur auf den ersten Blick.

 

Wie stellst Du Dir den "Desktop der Zukunft" vor? Wie weit sind wir noch davon entfernt?

Im Ernst? Ich bin kein guter Wahrsager aber es gibt ein paar interessante Richtungen, die ich dennoch erkenne. Ich halte die Arbeit an ksvg für sehr wichtig, besonders, wenn es Scripting voll unterstützt. So manches Knacken im Gebälk der XFree86 in letzter Zeit klingt auch sehr vielversprechend für mich. Eine weitere Hoffnung, die ich habe ist, dass wir (die Freeware Bewegung) es letztendlich schaffen Künstler, Grafikdesigner und Musiker anzulocken, die eine Arbeit auf einem ebenso hohen Niveau abliefern, wie es wir, als Software Autoren schon tun.

Den "Desktop der Zukunft", so es ihn denn gibt glaube ich, kann man sich nicht vorstellen und er könnte eine ganz große Überraschung für all diejenigen werden, die lächerliche Voraussagen gemacht haben, in der Art, wie ich es auch versucht habe.

 

Wie sieht die Hard- und Software aus, mit der Du arbeitest?

Die Hardware ist immer zwei Generationen hintendran, die Software ist seit drei oder vier Jahren immer die neueste unstable Debian.

 

Erzähl' doch ein bißchen über Dich - was machst Du beruflich? Wie verbringst Du Deine Freizeit?

Vor drei Jahren wurde ich 42. Beruflich arbeite ich als selbständiger Berater und Entwickler. Hauptsächlich mache ich seit etwa zehn Jahren Produktentwicklung. Ich hoffe, dass ich in den nächsten Jahren selbst ein paar Produkte entwickeln und verkaufen werde, vielleicht als Freeware aber das wird sich zeigen. Ich habe ein paar Jahre in Übersee gearbeitet und bin beruflich sehr viel gereist aber momentan genieße ich es in Hamburg zu bleiben.

Ich bin ein fanatischer Programmierer und daher verbringe ich viel meiner freien Zeit vor dem Bildschirm. Ich interessiere mich ein bißchen für Kultur, gehe in Opern und Ausstellung, ich lerne Klavierspielen, ich liebe es zu lesen, lange Spaziergänge und gutes Essen. Zudem interessiere ich mich noch für politische und gesellschaftliche Themen. Oh und ich liebe viele und lange Ferien auf warmen, sonnigen Inseln aber davon bekomme ich eindeutig zu wenig.


Lars Doelle ist per E-Mail unter der Adresse lars.doelle@on-line.de zu erreichen. Das Interview zur Anwendung des Monats Konsole führte Andreas C. Diekmann.

Eine Kurzbeschreibung zu Konsole finden Sie an dieser Stelle.

[ Edit ]

Aktuell: kdirstat

Skip menu "Aktuell: kdirstat"
  • Einleitung
  • Interview
  • Beschreibung

Archiv 2008

Skip menu "Archiv 2008"
  • April: kdirstat

Archiv 2007

Skip menu "Archiv 2007"
  • April: kdesvn

Archiv 2006

Skip menu "Archiv 2006"
  • Mai: KRename

Archiv 2005

Skip menu "Archiv 2005"
  • Januar: aKregator
  • Februar: KBear
  • März: KSpread
  • April: KPDF
  • Mai: Amarok
  • Oktober: KDissert

Archiv 2004

Skip menu "Archiv 2004"
  • Januar: KuickShow
  • Februar: Konsole
  • März: KSirtet
  • April: JuK
  • Mai: KMplayer
  • Juli: Konserve
  • August: Konversation
  • September: Kig
  • November: KAddressbook
  • Dezember: KPilot

Archiv 2003

Skip menu "Archiv 2003"
  • Januar: Quanta
  • Februar: K3b
  • März: Kover
  • April: KSirc
  • Mai: KsCD
  • Juni: KMail
  • Juli: Karamba
  • September: Kile
  • Oktober: Kolf
  • November: Digikam
  • Dezember: Kickpim

Archiv 2002

Skip menu "Archiv 2002"
  • Januar: KNotes
  • Februar: KOrganizer
  • März: Kate
  • April: KView
  • Mai: KTouch
  • Juni: KSteak
  • Juli: Ark
  • August: KShisen
  • September: KNewsticker
  • Oktober: KCron
  • November: KWord
  • Dezember: KSnapshot

Archiv 2001

Skip menu "Archiv 2001"
  • Oktober: Noatun
  • November: Karm
  • Dezember: Kppp

Archiv 2000

Skip menu "Archiv 2000"
  • Oktober: KJukebox

Global navigation links

  • Startseite
  • KDE Accessibility Startseite
  • Beschreibung der Navigationstasten
  • Back to content
  • Back to menu

Suche:


Betreut von kde.de Webmaster
KDE® und K Desktop Environment®-Logo sind eingetragene Warenzeichen von KDE e.V. | Impressum