[LinuxFocus-icon]
Home  |  Plan  |  Index  |  Suchen

Nachrichten | Archiv | Links | Über uns
Dieses Dokument ist verfübar auf: English  Castellano  ChineseGB  Deutsch  Francais  Italiano  Nederlands  Turkce  

convert to palmConvert to GutenPalm
or to PalmDoc

Georges Tarbouriech
von Georges Tarbouriech
<georges.t(at)linuxfocus.org>

Über den Autor:

Georges ist ein langjähriger Unixbenutzer. Als ein NeXTSTEP Liebhaber ist er von diesen drei freien Projekten, die es sich zum Ziel gesetzt haben, das Look and Feel (und vieles mehr) dieses großartigen Systems anzubieten, sehr begeistert.



Übersetzt ins Deutsche von:
Hermann J. Beckers <beckerst(at)lst-oneline.de>

Inhalt:

 

GNUMail.app, der Beweis für Portabilität

mail

Zusammenfassung:

GNUMail.app ist eine Nachbildung der NeXT Mail.app-Anwendung, welche unter GNUstep und MacOS X läuft. Sein Design erlaubt es, den gleichen Quellcode auf sehr unterschiedlichen Plattformen zu benutzen. Entsprechend ist dieses großartige Stück Software der absolute Beweis für Software-Portabilität zwischen GNUstep und MacOS X.



 

Es war einmal...

Gegen Ende der 80er Jahre erschien ein neues Betriebssystem, genannt NeXTSTEP. Dieses Betriebssystem bot etwas, was wir noch nie zuvor gesehen hatten. Unter vielen anderen "Sachen" stellte es den Benutzern den allerersten grafischen Mail-Client zur Verfügung, Mail.app. Es bot nicht nur eine grafische Oberfläche, sondern war auch in der Lage, jeden Datentyp zu verwalten: Bilder, Klänge, usw.
Einige Jahre später entschied NeXT, NeXTSTEP auf andere Plattformen zu portieren: OpenStep wurde geboren.
Von da an begannen einige Leute an freien Software-Projekten zu arbeiten, die die gleiche Philosophie boten. Das größte Projekt ist natürlich GNUstep, da es dessen Ziel ist, uns eine freie Implementation von OpenStep zu liefern. Die Leute bei GNUstep machen einen sehr guten Job, wenn man die Menge an Arbeit berücksichtigt, die ein solches Projekt erfordert.
Ein anderes großartiges Werk ist Window Maker. Dieser Fenster-Manager ist Teil des GNUstep-Projektes. Wenn Sie beide Webseiten aufsuchen, werden Sie alles über diese großen freien Projekte erfahren. Sie können sich auch diese "alten" LinuxFocus Artikel ansehen: Window Maker, the spirit of NeXTStep und GNUstep, the open source OpenStep. (Hey ihr "Fundamentalisten" , dieser Titel war nur ein Wortspiel mit dem Wort "open": wir wissen alle, das GNUstep freie Software ist!).
Um dieses historische Kapitel zu beenden, will ich noch hinzufügen, dass der NeXTSTEP-Gründer niemals vergass, wie fortschrittlich sein "Kind" war. Er verkaufte es an Apple (das er mitbegründet hatte ...), kam zurück und wurde Apples "zeitweiliger" Chef. Dies brachte uns MacOS X, was NeXTSTEP mit Apfel-Geschmack ist. Und hier stehen wir nun: GNUstep und MacOS X haben viele Dinge gemeinsam. Daher kann Kompatibilität zwischen Anwendungen, Sourcecode, erwartet werden. Weil GNUstep auf vielen Plattformen läuft (mehr oder weniger stabil), ermöglicht es Portabilität. Zu Ihrer Information, GNUstep arbeitet auf den meisten BSD-Versionen, auf den meisten Linux-Distributionen, Solaris, Irix ... und sogar auf Windo(w)s.
Einige weitere Projekte sind in Arbeit: die Portierung von Darwin (OS X core) auf die ix86-Architektur. Überprüfen Sie http://gnu-darwin.sourceforge.net/.
Ausserdem können Sie sich http://www.linuxstep.org ansehen. Der Name sagt alles.
Es gibt ausserdem Simply GNUstep von http://simplygnustep.sourceforge.net/ , das ein vollständiges ISO-Abbild ist, welches Sie von CD booten können: In anderen Worten, Sie brauchen das ganze Zeug nicht zu installieren.

HINWEIS: Sie brauchen GNUstep oder das X Window System auf MacOS X NICHT! Ich weiss, das scheint offensichtlich zu sein, aber da mich einige Leute gefragt haben, ziehe ich es vor, darauf zu bestehen ;-)
Dies ist der wichtige Punkt: Portabilität unter X ist etwas, das Sie jeden Tag schätzen werden, wenn Sie viele verschiedene Unix-Varianten benutzen. Das heisst, Sie können Anwendungen kompilieren und unabhängig davon nutzen, welches Unix Sie benutzen: frei, proprietär, BSD, SystemV ... Sie haben alle etwas gemeinsam: das X Window System. Trotz seines Namens, MacOS X (X steht für 10, nicht für das X Window System) verfügt nicht über das X Window System. Es hat stattdessen eine hübsche grafische Oberfläche namens Aqua (basiert auf Quartz, OpenGL und QuickTime). Entsprechend, was unter X einleuchtend ist, wird viel komplizierter, wenn es Betriebssysteme betrifft, die so unterschiedliche grafische Subsysteme haben.
Bei der Gelegenheit: Wenn Sie das X Window System unter MacOS X haben möchten, es ist verfügbar: Sie können es zum Beispiel von Apples Webseite (http://www.apple.com/downloads/macosx/unix_apps_utilities/ abrufen.
Entsprechend, wenn man sich nur an einen Punkt erinnert, wenn man über GNUstep spricht, sollten wir ihn "Portabilität" nennen. Und, endlich, kommen wir zum Kern des Titels: GNUMail.app. Wenn Sie einen Beweis brauchen, das ist er.

 

Was ist GNUMail.app ?

GNUMail.app ist das Werk von Ludovic Marcotte (und Freunden) und ist under der GPL veröffentlicht. Der künstlerische Teil (Icons) ist die Arbeit von Andrew Lindesay. Auf der GNUstep-Webseite können Sie einen Blick auf die hübschen Icons werfen, die Andrew für GNUstep entworfen hat (in der User Apps-Sektion).
Wie wir bereits erwähnt haben, ist GNUMail.app ein Mail-Client, Abkömmling des NeXT-Mail.app (oder heute der Apple MacOS X Mail.app-Anwendung). Hier ist die ganze Familie: von links nach rechts, der Vater, der Sohn ... und die Neffen.

NeXTmail MacOS X mail GNUstep GNUMail MacOS X GNUMail

GNUMail.app besitzt das Look-and-Feel der NeXT Mail.app-Anwendung. Sicher, es hat andere Mailclients in diesem Gewand gegeben, besonders für die Verwendung unter WindowMaker gedacht. Lassen Sie mich Postilion http://www.postilion.org/ oder Aileron http://ucsu.colorado.edu/~nwanua/Aileron/ erwähnen.
Sie können sie als gestoppte Projekte betrachten: Beide Autoren glauben, dass GNUMail.app der NäXTe Schritt ist.
GNUMail.app ist etwas anders: Es ist in Objective C geschrieben, benutzt Apple-(NeXT)-Entwickler-Werkzeuge wie InterfaceBuilder und ProjectBuilder auf der Mac-Seite, und sollte bald in der Lage sein, Gorm oder ProjectCenter unter GNUstep zu nutzen (beide sind auf der gnustep-Webseite in der Developer-Apps-Sektion zu finden). Das wichtigste ist jedoch, das Sie den gleichen Quelltext zum Kompilieren benutzen können, sowohl unter MacOS X als auch unter GNUstep. Die derzeitige Version z. Zt. des Schreibens dieses Artikels ist 1.0.0. Es wird die Bibliothek Pantomime benötigt, die ein Rahmenwerk zum Umgang mit Mail-Verbindungen (SMTP, POP, IMAP ...) bietet. Die derzeitige Version ist 1.0.2, und erneut ... es ist die gleiche für MacOS X oder GNUstep. Beide Archive können von http://www.collaboration-world.com/gnumail/ abgerufen werden.

Eigenschaften

Da ich das Rad nicht neu erfinden werde, steht hier das, was Sie auch auf der GNUMail.app-Webseite lesen können:
- mehrere POP3-Konten (mit APOP-Unterstützung) mit lokaler Cache-Unterstützung (wenn Nachrichten auf dem Server verbleiben sollen);
- mehrere Zustellungsagenten (SMTP oder lokaler Mailer);
- Mailspool-Datei-Unterstützung für Empfang;
- Gute IMAP-Unterstützung mit lokalem Caching;
- Volle RFC822- und RFC2822-Unterstützung;
- Lesen, Erstellen, Zurückweisen, Beantworten und Weiterleiten von Nachrichten;
- Mailbox-Verwaltung (Erstellen, Löschen, Sperren und Nachrichtenübertragung) mittels des Berkeley-mbox-Formats;
- Verwaltung persönlicher Voreinstellungen;
- MIME-Unterstützung (En-/De-Kodierung);
- Ein vollständiger MIME-Typen-Verwalter;
- Unterstützung für Quoted Printable und BASE64;
- Adress-Buch mit Gruppenunterstützung;
- Such-Feld mit Unterstützung für reguläre Ausdrücke;
- Automatischer oder manueller Abruf Ihrer Emails (Benutzer-Einstellung);
- Mächtige Filter, die reguläre Ausdrücke unterstützen.
Ludovic hofft, sehr bald neue Fähigkeiten hinzuzufügen, wie z. B. ein neues Menü für Einstellungen oder GPG-Unterstützung. Und wenn Sie wissen, wie schnell er arbeitet, dann können Sie ihm das auch glauben!

Sie sollten sich jetzt so fühlen, als ob Sie die GNUMail.app-Webseite aufgesucht hätten ;-)

 

GNUMail.app kompilieren und installieren

GNUMail.app ist als Quellcode für MacOS X und Linux verfügbar wie auch Pantomime (denken Sie daran, Sie brauchen beide). Nur Linux zu erwähnen ist ziemlich restriktiv: Es gilt für fast alle Betriebssysteme, auf denen GNUstep läuft. Z. B. läuft GNUMail.app unter FreeBSD, NetBSD...
Sie können Binärversionen für MacOS X bekommen, wenn Sie keine Lust auf das Kompilieren haben. Es gibt Pakete für Debian und auch "Ports" für FreeBSD. Darüber werden wir jedoch nicht reden.
Um GNUMail.app kompilieren und nutzen zu können, müssen einige Voraussetzungen erfüllt sein.
Unter MacOS X benötigen Sie offensichtlich die Entwicklerwerkzeuge. Unter GNUstep brauchen Sie ...GNUstep. Wie Sie GNUstep installieren, fällt aus dem Rahmen dieses Artikels, aber Sie finden alles Nötige auf der GNUstep-Webseite. Ich empfehle jedoch GCC Version 3.0 oder höher, um einige Kompilierungs-Probleme zu vermeiden. Sie brauchen auch die "unstabilen" GNUstep-Versionen von make (1.3.0), base (1.3.0), gui (0.7.6) und xgps (0.7.6). Machen Sie sich keine Sorgen, sie werden "unstabil" genannt, funktionieren aber recht gut.

MacOS X

Zuallererst, wenn Sie die FAQ nicht lesen, sollten Sie daran denken, die Archive über die Kommandozeile mit einem Befehl wie tar zxvf archive.tar.gz. zu entpacken. Die Benutzung automatischer Werkzeuge wie Stuff-it ändert einige Dateien aus dem Archiv und Sie müssen sie umbenennen.
Die README-Datei im docs-Verzeichnis zeigt Ihnen, wie Sie Pantomime und GNUMail.app mittels ProjectBuilder kompilieren und installieren (Pantomime muss zuerst kompiliert werden). Das Befolgen der verschiedenen Schritte belohnt Sie mit einem brandneuen GNUMail-Programm.
Wenn Sie die Befehlszeile vorziehen, können Sie pbxbuild und pbxbuild install benutzen. Wenn Sie pbxbuild nicht kennen, erzählt Ihnen die ProjectBuilder Online-Hilfe alles über dieses Werkzeug.
Als kurzer Abstrakt sollte erwähnt werden, dass Sie kein Ziel über ProjectBuilder installieren können, Sie müssen stattdessen pbxbuild install benutzen. Das heisst, das über ProjectBuilder erstellte Programm ist mit dem Verzeichnis verbunden, in dem Sie die Anwendung kompiliert haben. Wenn Sie das Programm verschieben und das Verzeichnis löschen, wird die Anwendung nicht ordentlich arbeiten. Wenn Sie das Quell-Verzeichnis (in dem Sie kompiliert haben) löschen und eine funktionierende Anwendung behalten wollen, ist die Benutzung von pbxbuild install verpflichtend.
Wenn Sie fertig sind, reicht zum Start ein Klick auf das Icon des GNUMail-Programms.

GNUstep

Sobald GNUstep läuft, entkomprimieren Sie die Archive mit dem gleichen Befehl wie oben. Als nächstes geben Sie in einer Shell make und make install ein und das war es schon (natürlich müssen Sie Pantomime vor GNUMail.app kompilieren). Starten Sie den Befehl openapp GNUMail.app und Sie sehen die Magie: ein sehr schöner Mail-Client auf Ihrem Bildschirm.
Wenn Sie die Dinge aktuell halten wollen, können Sie CVS-Versionen von GNUMail.app (und Pantomime) erhalten. Ludovic und seine Freunde arbeiten sehr hart und bieten Ihnen fast jeden Tag neue verbesserte Sachen. Das impliziert natürlich, das Sie den Quelltext nicht löschen, den Sie zur Kompilierung Ihrer ersten Version benutzt haben. Das mag auch eine GNUstep-Aktualisierung erfordern (ebenfalls CVS) oder eine Aktualisierung der Entwickler-Werkzeuge von Apple, falls es dort etwas neues gibt. Für das letztere müssen Sie als Entwickler registriert sein (keine Sorge, es kostet nichts!).
Nun, da Sie jetzt eine hübsche Anwendung haben, möchten Sie diese wohl auch benutzen.

 

GNUMail.app konfigurieren

GNUMail.app bietet Ihnen eine recht hübsche Seite für die Einstellungen, was den Konfigurationsprozess recht einfach gestaltet. Diese Seite ist in verschiedene Sektionen geteilt: Persönliches, Anzeige, Senden, Empfangen, Erstellen, Zeichensätze, MIME und Filter.
Wie der Name sagt, erlaubt Ihnen die Sektion Persönliches die Eingabe Ihrer persönlichen Informationen: Name, Email-Adresse, Signatur.

personal personal

Die Sektion Anzeige dient der Definition, welche Kopfzeilen Sie in den Nachrichten sehen möchten oder ob URLs im Nachrichtentext hervorgehoben werden sollen.

viewing viewing

Die Sektion Versenden betrifft ... die Versandmethoden. Dort definieren Sie die Transportmethode, Ihren Benutzernamen, Password usw.

sending sending

Die Empfangs-Sektion definiert, wie ... Nachrichten empfangen werden. Dort spezifizieren Sie die Mailserver für eingehende Nachrichten.

receiving receiving

Die Erstellen-Seite definiert die Position der Signatur, die Anzahl Zeichen vor einem Zeilenumbruch.

compose compose

Auf der Zeichensatzseite können Sie die Fonts für die Anzeige einer Nachricht auswählen.

fonts fonts

Die MIME-Seite erlaubt es, die Daten zu definieren, die Sie als Anhang sehen möchten (Bilder, Dokumente wie PDF ...).

mime mime

Nicht zuletzt dient die Filterseite zur Definition der Filterregeln.

filters filters

Wie Sie bemerken werden, ist der Konfigurationsprozess recht einfach und benutzerfreundlich. Das Ziel war es natürlich, Ihnen zu zeigen, wie dies unter GNUstep und MacOS X aussieht.

 

Die Benutzung von GNUMail.app

Die Benutzung von GNUMail.app ist so einleuchtend, dass es dazu eigentlich keines eigenen Kapitels bedarf. Unter MacOS X klicken Sie einfach auf das GNUMail.app-Icon im FInder und das wars. Natürlich bekommen Sie ein neues Icon im Dock, wo Sie es belassen können, wenn Sie das wünschen. Wenn die Anwendung läuft, genügt es, auf die Icons im Kopf der geöffneten Mailbox (Standard: Inbox) zu klicken, um Nachrichten zu löschen, zu senden oder zu empfangen, verschiedene Mailboxen zu öffnen, eine neue Nachricht zu erstellen, eine Nachricht zu beantworten oder weiterzuleiten, das Adressbuch zu öffnen oder eine Suche in Ihren Mailboxen durchzuführen.
Das Hauptmenü bietet Ihnen die gleichen Möglichkeiten und einige zusätzliche Funktionen. Die wichtigsten Optionen verfügen über Tastaturkürzel. Dieses Menü funktioniert auch als Popup-Menü.
Unter GNUstep kommt der einzige Unterschied daher, wie die Anwendung beim ersten Mal gestartet wird. Wenn Sie sich mit GNUstep auskennen, wissen Sie, dass Sie openapp und den Pfad der Anwendung eingeben müssen. Wenn Sie WindowMaker als Ihren bevorzugten Fenstermanager benutzen (sehr zu empfehlen!), erhalten Sie ein App-Icon; es reicht, dieses in das Dock zu ziehen ... und Sie brauchen niemals mehr etwas in der Shell eingeben, um GNUMail.app zu starten.
Das Wichtigste scheint mir, das GNUMail.app recht stabil geworden ist. Im Vergleich zu früheren Versionen gibt es beträchtliche Fortschritte, besonders unter GNUstep. Nach einigen Wochen der Benutzung hatte ich noch keinen "Crash". GNUMail.app ist nun perfekt zu gebrauchen als Ihr alltäglicher Mail-User-Agent.
Unter MacOS X war es schon vor der Version 1.0 recht stabil.

 

Was kommt als NäXTes?

Wir könnten GNUMail.app als ein Experiment in Portabilität betrachten. Aber es ist ein funktionierendes Experiment! Sicher, viele andere Mail-Clients haben mehr Fähigkeiten. GNUMail.app ist jedoch die erste wirkliche Anwendung, die in der Lage ist, unter so verschiedenen Umgebungen wie MacOS X und GNUstep mit absolut dem gleichen Quellcode zu arbeiten. Ludovic arbeitet an einem anderen Projekt, und auch wenn es nicht so fortschrittlich ist wie GNUMail.app, so ist es doch von Interesse.
Es heisst Affiche, und es ist eine "post-it"-Implementation, auch wieder für MacOS X und GNUstep. Auf der Webseite findet sich auch EasyDiff, ein grafisches Diff von Pierre-Yves Rivaille, das z. Z. nur unter GNUstep läuft.
Viele Leute waren skeptisch hinsichtlich der Portabilität zwischen MacOS X und GNUstep, Ludovic bringt jedoch den Beweis. Natürlich ist es noch ein langer Weg, bevor GNUstep vollständig ist, nichtsdestoweniger gibt es konstante Verbesserungen. Man muss allen Leuten danken, die an GNUstep beteiligt sind. Der wichtigste Grund ist die enorme Menge an Arbeit, die solch ein Projekt erfordert und der zweite die wenigen Leute, die beteiligt sind. Vielen Dank an Adam Fedor und Freunde für dieses großartige Stück Software.
Wieder ist es offensichtlich, das jede Entwicklung von GNUstep-Fortschritten abhängt. Z. Z. gibt es eine Menge funktionierender Anwendungen, obwohl viele von ihnen erst am Anfang stehen. Der andere Weg mag den Prozeß beschleunigen: d. h. die meiste Arbeit wird unter GNUstep getan, aber wir können auf weitere Entwicklungen unter MacOS X mit Portabilität im Sinn hoffen. Und dies wäre ein guter Startpunkt für echte Multi-Plattform-Anwendungen.
In einer Zeit, wenn das Windo(w)s-"Clo(w)nen" die Regel zu sein scheint, ist es ein Glück, über eine solche Alternative zu verfügen. Wenn die aktuelle "Mode" sich mit dem Wort offen verbindet, dann ist GNUstep das Modell.
Ein Teil der Linux-Gemeinschaft wartet darauf, dass das System sich auf den Desktops verbreitet oder die "Weltherrschaft" erlangt!!! Beruhigt Euch: Ein Monopol, einerlei ob es frei ist oder nicht, bleibt ein Monopol ... und neben anderen Sachen, ein Monopol killt Kreativität. Die Verschiedenheit ist viel wichtiger, weil sie Emulation anregt, was nicht bedeutet, einen Pseudo-Standard (und seine Anwendungen) zu "clonen", als ob dessen Editor die alleinige Wahrheit hält und als absolute Referenz zu betrachten sei.
Vor ungefähr 15 Jahren initiierte NeXTSTEP eine Revolution in der Unix-Welt: es erlaubte Menschen die Benutzung von Unix, ohne etwas darüber zu wissen! Das passiert mit MacOS X heute. Und Linux ist tatsächlich noch weit von diesem Punkt entfernt, selbst wenn es die "falsche" Referenz nachbildet. Sie werden vielleicht bemerkt haben, das GNUstep KEIN Windo(w)s-Nachbau ist (zumindest behaupte ich das!). Es ist eine freie Implementation des "Sohnes" (OpenStep) eines der innovativsten Betriebssysteme (NeXTSTEP), die es bisher gab.
Um Verwirrung zu vermeiden, GNUstep ist ein Rahmenwerk und es wird zu einer (leichtgewichtigen) Desktop-Umgebung, sobald Sie Anwendungen hinzufügen ... wie z. B. GNUMail.app.
Was noch wichtiger ist, GNUstep ist nicht auf Linux beschränkt.
In der Mitte der 80er Jahre gabt es eine Menge verschiedener Betriebssysteme. Heute ist die Alternative Unix oder Windo(w)s. Das ist schade. Nichtsdestoweniger, ich würde eine Welt vorziehen, in der wir aus einer Menge von Systemen wählen könnten: je mehr, desto besser.
Zumindest haben wir Glück: wir haben eine Menge verschiedener Unix-Varianten, und die meisten sind fähig, GNUstep auszuführen!
Dies war die übliche Off-Topic-Sektion, und sie gibt nur meine Meinung wieder.
Zurück zu GNUMail.app, wir können nur hoffen, das es vielen Entwicklern Anregungen geben wird. MacOS X-Benutzer haben eine große Chance namens InterfaceBuilder (und ProjectBuilder). Die Entdeckung dieser Werkzeuge wird ihr Leben verändern. In der allerNäXTen Zukunft können wir damit rechnen, das Gorm und ProjectCenter die gleiche Entwicklung nehmen wie ihre Modelle, dann wird GNUstep ein Muß sein.
Vielen Dank an Ludovic dafür, das er uns den Weg zeigt.
Habe ich Euch schon gesagt, das wir in einer großartigen Zeit leben!

 

Links

Die Heimat von GNUMail.app: http://www.collaboration-world.com/gnumail/
Alles über GNUstep: http://www.gnustep.org
Noch etwas mehr über GNUstep: http://www.gnustep.net
Anwendungen, Tutorien, HOWTOs von Nicola Pero und Pierre-Yves Rivaille: http://www.gnustep.it
Apple MacOS X Entwickler-Werkzeuge: http://developer.apple.com/tools/macosxtools.html

 

Talkback für diesen Artikel

Jeder Artikel hat seine eigene Seite für Kommentare und Rückmeldungen. Auf dieser Seite kann jeder eigene Kommentare abgeben und die Kommentare anderer Leser sehen:
 Talkback Seite 

Der LinuxFocus Redaktion schreiben
© Georges Tarbouriech, FDL
LinuxFocus.org

Einen Fehler melden oder einen Kommentar an LinuxFocus schicken
Autoren und Übersetzer:
en --> -- : Georges Tarbouriech <georges.t(at)linuxfocus.org>
en --> de: Hermann J. Beckers <beckerst(at)lst-oneline.de>

2002-04-21, generated by lfparser version 2.28