Aus Linux-Magazin 06/2003

Aktueller Überblick über neue und bewährte Software und ihre Macher

Ähnlich wie Köche arbeiten auch Software-Autoren an immer neuen Kreationen für die Benutzer. Wir picken die Leckerbissen für Sie heraus. Diese Woche: GTetrinet, Arch und Thy. Außerdem berichten wir über Neues vom XFree86-Projekt und über eine Mehlspeise.

What\’s cooking? Wir servieren heute ein Spielchen, ein CVS-System, mit dem Programmierer etwas brutzeln können, einen Webserver und einen Schmarren. Und da die Augen mitessen: Wird der X-Server geforkt?

Abbildung 1: Mit GTetrinet kann man Tetris via Netz zu sechst spielen - und sich gegenseitig das Spiel stören.

Abbildung 1: Mit GTetrinet kann man Tetris via Netz zu sechst spielen – und sich gegenseitig das Spiel stören.

GTetrinet

Wer kennt nicht den Game-Boy-Spieleklassiker Tetris! Genauso legendär ist die Größe der Tetris-Fangemeinde, die immer noch, auch in Zeiten Action-geladener 3D-Shooter, wächst. Heute existieren Dutzende Tetris-Imitationen für Linux, sowohl für die grafische Oberfläche X11 als auch für die Konsole. Viele dieser Klone ähneln dem Original nur wenig – XWelltris[3] etwa setzt auf einen räumlichen Eindruck der Blöcke -, letztlich verbirgt aber keines der Programme seine Herkunft.

Um Tetris auch übers Internet spielen zu können, wurde schon vor einigen Jahren Tetrinet[4] gegründet, im Wesentlichen ging es dabei nur um ein Protokoll fürs Spielen im Netz. Anfangs gab es zur Umsetzung dieses Protokolls auch lediglich einen Windows-Client, doch weil die Spezifikationen offen gelegt sind, dauerte es nicht lange, bis der erste Linux-Client erschien.

Ein solcher Client ist GTetrinet[5], das seit Veröffentlichung 1999 stetig verbessert wird. Wie das G am Anfang des Namens andeutet, handelt es sich um eine Applikation, die ursprünglich für den Gnome-Desktop programmiert wurde. Selbstverständlich lässt es sich aber auch unter KDE starten – die notwendigen Gnome-Bibliotheken vorausgesetzt. Um ein Mindestmaß an Neugier zu wecken, hier kurz die Grundregeln: Bis zu sechs Spieler treten gegeneinander an. Ihre Aufgabe ist es – wie auch beim Originalprogramm – durch geschickte Anordnung der Blöcke möglichst viele Reihen zu komplettieren.

Schafft es ein Spieler, mit einem Schlag zwei oder mehr Reihen von seinem eigenen Spielfeld verschwinden zu lassen, werden diese Reihen den Feldern aller anderen Mitspielen hinzugefügt. Das Ganze wird durch so genannte Specials verschärft, die auf andere Mitspieler – und sich selbst – anwendbar sind. Diese Specials beinhalten Sonderfunktionen, mit denen jeder die Spielfelder seiner Mitspieler durcheinander bringen kann. Ein Spiel dauert so lange, bis nur noch das Feld eines Spielers intakt ist. Alternativ treten auch ganze Spielerteams gegeneinander an.

Hinter einem GUI, das auf den ersten Blick aufgeräumt anmutet, verstecken sich bei GTetrinet alle eben beschrieben Funktionen, die das Tetrinet-Protokoll zur Verfügung stellt. Besondere Beachtung verdient der übersichtliche Dialog für die Darstellung der verschiedenen Spielfelder: Auch während einer hektischen Partie bleibt es einfach, den Überblick zu behalten.

Fazit: Man braucht nicht immer grafisch aufwendige Spiele wie Bzflag und Konsorten, um sich zwischendurch abzulenken. GTetrinet eignet sich hervorragend als Spiel für die Mittagspause und stellt nur minimale Hardware-Anforderungen. Jeder, der GTetrinet nun ausprobieren möchte, sei aber gewarnt: Bei diesem Spiel besteht erhöhte Suchtgefahr!

Thy

Wer große Websites verwaltet, kann auf professionelle, auf großen Datendurchsatz getrimmte Serversoftware wie Apache[6] kaum verzichten. Anders ist das, wenn ein Webserver lediglich das private LAN mit ein paar Seiten statischen Inhalts versorgt. Dort wäre es übertrieben, einen kompletten Apache-Webserver aufzusetzen. Aus diesem Grund arbeiten seit langem verschiedene Projekte an möglichst kleinen Httpd-Servern, die dennoch möglichst viele Features anbieten. Beispiele sind Boa[7], Roxen[8] oder Thttpd[9].

Auch Thy[10] gehört in diese Programmsparte. Gergely Nagy hat ihn nach dem Unix-Grundsatz “Mach nur eines, aber mach das gut” entwickelt. Thy ist nicht der schnellste oder der kleinste Webserver, bietet aber trotzdem einiges, was ihn von den Mitbewerbern unterscheidet. So unterstützt er schon jetzt weitgehend den HTTP-1.1-Standard, das heißt unter anderem: abgebrochene Downloads wieder aufnehmen, Support für andere als die Standardsprache sowie ».gz«-Dateien bereits auf dem Server, also on the fly entpacken.

Ein weiteres Feature ist der Support für so genannte Handler. Thy kann so konfiguriert werden, dass es eine Datei anhand ihrer Endung identifiziert und sie mit einer bestimmten Software – dem Handler – öffnet. Dadurch ist das Programm nahezu unbegrenzt zu erweitern. Ein Beispiel aus der Praxis: Weist man Thy an, Dateien, die auf »php« und »php4« enden, mit »/usr/bin/php4« auszuführen, erweitert man es um den Support für PHP-Skripte. Auf die gleiche Art werden auch Perl- oder einfache Shell-Skripte ausgeführt.

Daneben unterstützt Thy auch noch die Möglichkeit der HTTP-Authentifizierung, es kann also bestimmte Bereiche auf dem Webserver abriegeln und nur autorisierten Zugriff gestatten. Selbst an Computer mit mehreren IP-Adressen hat Gergely Nagy gedacht: Thy unterstützt auch den Virtual-Host-Mechanismus nach dem El-Cheapo-Prinzip. Als Sahnehäubchen bietet das Programm seit der letzten Entwicklerversion sogar Support für das neue IPv6-Protokoll.

Thy ist ein Webserver, der sich vor allem bei Websites mit statischem Inhalt keineswegs hinter dem großen Bruder Apache verstecken muss. In Sachen Geschwindigkeit liegt er sogar vorn. Die vielfältigen Erweiterungsmöglichkeiten sowie der HTTP-1.1-Support runden das Angebot ab. Wer einen HTTP-Server für sein lokales Netzwerk benötigt, sollte Thy ausprobieren.

Arch

Wenn mehrere Entwickler an einem gemeinsamen Softwareprojekt arbeiten, ist früher oder später eine Versionsverwaltung unvermeidbar. Um ein solches Programm zu entwickeln, entstand bereits im Jahr 1989 das Projekt CVS[1], das es Programmierergruppen erstmals möglich machte, den bereits erstellten Code an einer Stelle zentral zu speichern. Somit konnte sich jeder im Team zu jeder Zeit über den aktuellen Stand der Entwicklung informieren.

Weil CVS das erste Programm dieser Art war, weist es aber noch einige Designfehler auf, die manchen Interessenten davon abhalten, es zu benutzen. So ist es mit CVS bis heute nicht möglich, eine Datei einfach umzubenennen. Stattdessen muss man die alte Datei mit ihrer gesamten Revisionsgeschichte löschen und eine neue Datei einchecken.

Ein weiteres Problem: CVS bietet keine Möglichkeit, ein Quellverzeichnis “distributed” zu verwalten. Das heißt, dass das zentrale Repository nur auf einem Computer gespeichert wird und dass man zwingend Schreibrechte benötigt, um in dieses Repository eigene Dateien einchecken zu können.

Mit diesen Kinderkrankheiten hatte auch Tom Lord zu kämpfen, als er Ende des Jahres 2001 beschloss, ein eigenes Programm zu schreiben, um Quellcode-Verzeichnisse zu verwalten. Er nannte sein Programm Arch[2]. Tatsächlich ist Arch im Laufe der Zeit zu einem komplexen Tool herangewachsen, das keinesfalls nur die Funktionen von CVS imitiert und dabei die Designfehler irgendwie kaschiert, es hat viele interessante Funktionen, die CVS fehlen.

Bereits die Methode, mit der Arch Änderungen am Sourcecode protokolliert, unterscheidet sich deutlich von der, die CVS benutzt. Während dies die Änderungen an einer Datei in ihr selbst abspeichert und ein Revisionssystem für Sprünge zwischen verschiedenen Versionen benutzt, speichert Arch Änderungen in einfachen Patch-Dateien. Das erleichtert es, Änderungen zu einem späteren Zeitpunkt nachzuvollziehen.

Arch unterstützt außerdem die bei CVS so schmerzlich vermisste Methode zur verteilten Verwaltung eines Sourcetrees. Damit kann jeder Entwickler ein eigenes Repository auf seinem lokalen Rechner pflegen und seine Änderungen auch dort einchecken. Soll eine neue Version des Programms veröffentlicht werden, muss der Archiv-Maintainer lediglich die Inhalte der einzelnen Arch-Verzeichnisse pullen und in ein neues Arch-Repository einchecken. Arch, das dafür eine spezielle Funktion bietet, benötigt dafür kaum Zeit.

Alles in allem ist Arch ein interessantes System, um Quellenbäume zu verwalten. Das Programm kann von der Arch-Website heruntergeladen werden.

Abbildung 2: Die Versionsverwaltung von Projekten mit Arch läuft übersichtlich auf der Kommandozeile ab.

Abbildung 2: Die Versionsverwaltung von Projekten mit Arch läuft übersichtlich auf der Kommandozeile ab.

Abbildung 3: Die Arch-Homepage: Download möglich, Spenden willkommen.

Abbildung 3: Die Arch-Homepage: Download möglich, Spenden willkommen.

Neues vom XFree86-Projekt

Das XFree86-Projekt[11] zeigt auf beeindruckende Weise, welch großen Erfolg ein Open-Source-Projekt haben kann. Bei allen Linux-Distributionen ist der vom XFree86-Team produzierte X11-Server unangefochten die Nummer eins und seit der bahnbrechenden Version 4.0, die beschleunigte Treiber bei akzeptablem Aufwand realisiert, setzen alle große Hoffnungen in das Projekt.

Fast zeitgleich mit der Veröffentlichung von XFree86 4.3 gibt es nun aber Reibereien in der Programmierergemeinschaft, die hinter dem Projekt steht: Mitglieder des Board of Directors (BOD) haben erfahren, dass Keith Packard, Mitglied des Core-Teams, an einem XFree86-Fork arbeitet, den er später angeblich unabhängig weiterentwickeln will. Weil Packard auch auf wiederholte Nachfragen der übrigen Mitglieder des BOD nicht Stellung bezog, haben sie ihn aus dem Core-Team ausgeschlossen. Viel Unmut in der Open-Source-Gemeinde war die Folge.

In dem XFree86- eigenen Bugzilla-System wurde sogar umgehend ein Bugreport geöffnet, der Packards Rehabilitation und Wiederaufnahme ins Core-Team forderte. Einerseits wurde der Ausschluss Packards kritisiert, weil er in 16 Jahren viel für das geleistet habe, was heute allgemein als XFree86 bezeichnet wird, zuletzt arbeitete er an einem neuen Layout für das Rendern von Schriftarten. Andererseits, so einige Stimmen, müsse es doch gerade bei einem Open-Source-Projekt auch einzelnen Mitgliedern möglich sein, mit dem Quellcode eigene Projekte zu realisieren, ohne es gleich die gesamte Welt wissen zu lassen.

Inzwischen ist etwas Ruhe in die Angelegenheit eingekehrt. So ist beispielsweise der News-Eintrag von der XFree86-Website gelöscht, der über Packards Ausschluss berichtete. Die Mail[12], in der das BOD die Maßnahme bekannt gab, enthält aber noch eine weitere interessante Meldung: Es wird offiziell gemeldet, dass ein Forum für die XFree86-Benutzer eingerichtet ist. Hier kann jeder über Vorgänge im Projekt diskutieren oder Vorschläge für die technische Entwicklung des X-Servers machen. Wer mitmachen will, findet unter[13] die nötigen Informationen.

Kaiserschmarren

Zutaten: 100 g Weizenmehl, vier Eier, etwas Salz, zwei Tropfen Backöl (Zitrone), 250 ml Sahne, 75 g Rosinen, 75 g abgezogene und gemahlene Mandeln, vier Esslöffel Speiseöl.

Das Weizenmehl in eine Schüssel sieben, in der Mitte eine Vertiefung eindrücken. Die Eier mit etwas Salz, dem Backöl sowie der Sahne verschlagen, etwas davon in die Vertiefung geben. Dann von der Mitte aus die Eiersahne und das Mehl verrühren, nach und nach die übrige Flüssigkeit dazugeben. Dabei immer darauf achten, dass keine Klümpchen entstehen.

Die verlesenen Rosinen und die gemahlenen Mandeln zuletzt unter den Teig heben. Eine kleine Menge des Speiseöls in einer Pfanne erhitzen, den Teig jeweils einen Zentimeter dick hineingeben, die Pfanne mit einem Deckel schließen.

 

Auf der Unterseite hell-gelb backen, den Eierkuchen mit zwei Gabeln in kleine Stücke zerreißen, unter häufigem Wenden gut bräunen. Den restlichen Teig auf die gleiche Weise zubereiten. Dick mit Puderzucker bestreuen und mit Pflaumenkompott servieren. Wir wünschen guten Appetit! (fan)

Infos

[1] [http://www.cvshome.org/]

[2] [http://arch.fifthvision.net/]

[3] [http://www.xnc.dubna.su/xwelltris/]

[4] [http://tetrinet.org/]

[5] [http://gtetrinet.sourceforge.net/]

[6] [http://www.apache.org/]

[7] [http://www.boa.org]

[8] [http://www.roxen.com/]

[9] [http://www.acme.com/software/thttpd/]

[10] [http://bonehunter.rulez.org/Thy.html]

[11] [http://xfree86.org/]

[12] E-Mail des XFree86-BODs: [http://www.xfree86.org/pipermail/forum/2003-March/000001.html]

[13] Informationen zum XFree86-Forum: [http://www.xfree86.org/mailman/listinfo/forum/]

Der
Autor

Martin Loschwitz ist Schüler aus Niederkrüchten und hilft in seiner Freizeit dabei, die Debian- GNU/Linux-Distribution weiterzuentwickeln.

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben