© Linux-Magazin 1997


Lynx - mit ASCII Power ins Web

von Peter J. Weyers


Lynx ist ein Text-Mode WWW Browser - er läuft mit fast allen Terminals mit Termcap/Terminfo Einträgen und kann keine Bilder darstellen. Deshalb stellen ihn viele auf eine Stufe mit 'vi' und 'mail' und betrachten ihn damit als Anachronismus. Scheinbar wird der Begriff "Text Browser" mit dem allerersten Web-Client vom CERN 'www' assoziiert, der in der Tat nicht mal versucht, die Möglichkeiten eines Text-Termials auszunutzen. Dieser Text soll die Möglichkeiten von Lynx aufzeigen und versucht damit, häufige Mißverständnisse im Zusammenhang mit diesem modernen Textbrowser aufzuklären.

WWW Nutzern -der Begriff 'Surfer' sei hier bewußt vermieden, da mit Nutzung nicht das unsystematsiche Betrachten bildlastiger WWW Seiten gemeint ist- die Lynx nur vom Hörensagen kennen, ist oft nicht bekannt, daß Lynx noch aktiv weiterentwickelt wird und damit einer der modernsten Browser ist, betrachtet man nicht die durch den Textmodus eingeschränkten Darstellungmöglichkeiten, sondern die Erkennung von modernen HTML Tags. Ein Beispiel für die Darstellung einer WWW Seite mit Lynx zeigt Abbildung 1.


                                  The Linux HOWTO Index: HOWTO Index (p1 of 16)

   Previous Next Contents
     _________________________________________________________________

3. HOWTO Index

   The following Linux HOWTOs are currently available: (The JE HOWTO, and
   SCSI HOWTO are only available in plain text format. This is because
   they have not been converted to the SGML source format.)

     * Linux AX25 HOWTO, by Terry Dawson
       <terry@perf.no.itg.telecom.com.au>. How to configure AX25
       networking for Linux . Updated 25 Apr 1996.
     * Linux Access HOWTO, by Michael De La Rue <access-howto@ed.ac.uk>.
       How to use adaptive technology with Linux. Updated .
     * Linux BootPrompt HOWTO, by Paul Gortmaker
       <Paul.Gortmaker@anu.edu.au>. List of boot time arguments and
       overview of booting software. Updated 18 August 1995.
     * Linux Bootdisk HOWTO, by Graham Chapman <grahamc@zeta.org.au>. How
       to create a boot/root maintenance disk for Linux. Updated 25 June
       1995.
-- press space for next page --
  Arrow keys: Up and Down to move. Right to follow a link; Left to go back.
 H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

Abb 1: Die Linux HOWTO Index Seite dargestellt von Lynx in einem Xterm.

Die Autoren von Lynx scheinen selbst HTML Puristen zu sein, meistern aber die Gratwanderung zwischen dem Einhalten der oft nur akademischen Standards und der Benutzbarkeit des Browsers für in Unkenntnis oder in Ignoranz derselben geschriebenen WWW Seiten: Es gibt einige "Schalter", sowohl als Komandozeilen Option wie als Tastaturkommando, mit denen man die Interpretation des HTML Source-Codes verändern kann. Ein häufiges Problem sind z.B. nicht standardkonforme Kommentare, die in Lynxs SGML konformer Interpretation zu scheinbar fast leeren Seiten führen. (laut SGML beginnen Kommentare mit "--" und enden mit "--". Eine Kommentarzeile, die nur aus "-" besteht, wie sie zur optischen Trennung des HTML Source Textes eingesetzt wird, und zufällig eine ungerade Anzahl von "-" Paaren enthält, gilt also streng genommen als Begin eines Kommentars - der restliche Text wird in Lynx standardgemäß nicht dargestellt.) Mit den Optionen -historical und -minimal kann dieses Verhalten von Lynx geändert werden. Ähnlich kann die Behandlung von HTML-Tags, in denen das Schließen eines Strings mit Anführungszeichen vergessen wurde, verändert werden. Diese werden allerdings auch von anderen Browsern neueren Datums korrekt interpretiert und sind daher nicht mehr häufig zu finden.

Das HTML "Feature", an dem sich das Alter eines Browsers am deutlichsten bemerkbar macht, da es weit verbreitet ist, aber auf inkompatiblen Browsern zu keiner nutzbaren Darstellung führt, sind die FRAMES. Lynx erkennt seit Version 2.5 (aktuelle Version ist 2.7.1) Frames und bietet dem Benutzer neben dem <NOFRAMES> Text ein Menu mit Links zu den einzelnen Frames, die somit als ganzseitige Dokumente aufgerufen werden können. Wie eine typische Frame Seite mit Lynx ausieht zeigt Abb. 2.


                                                                   Frame Sample

   FRAME: left
   FRAME: index
   FRAME: main

   Wenn die Webautoren so vernünftig waren, einen <NOFRAMES> Text
   bereitzustellen, erscheint der hier. Aber oft lautet auch der nur

     Your Browers does not handle frames. Please download the newest
     Version of Netscape here.

   oder ähnlich.









Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.
  Arrow keys: Up and Down to move. Right to follow a link; Left to go back.
 H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

Abb. 2: So stellt Lynx eine Seite mit Frames da. Die Frames lassen sich als einzelne Seite anwählen und laden.

Auch der Refresh Header Eintrag wird erkannt: In der Lynx Darstellung erscheint eine Seite mit Refresh Anweisung mit einer Kopfzeile der Form

REFRESH(10 sec): http://host.name.de/URL/des/documents.html
wobei die URL anwählbar ist. Ein automatisches Laden wird nicht durchgeführt - der Benutzer kann also selbst entscheiden, ob und wann er die angezeigte URL laden moechte.

Der dritte und letzte auf einem Textbrowser umsetzbare HTML Tag, der einen einigermaßen Zeitgemäßen WWW Browser ausmacht, sind die Tabellen. Hier bietet Lynx derzeit keine echte Unterstützung, aber die Tags werden erkannt und der Text meist so dargestellt (s.u.), daß der Inhalt der Tabelle zu verstehen ist. Neuere Versionen von Lynx werden hier wohl auch noch Verbesserung bringen.

In den neuesten Lynx Versionen ist ein weiteres, wenn auch selteneres Problem gelöst: Bei <INPUT TYPE="IMAGE" ...> Feldern in HTML Formularen werden Werte für die x und y Koordinaten zurückgegeben, die allerdings stets den Wert 0 haben. Dies ist in den Fällen ausreichend, in denen diese <INPUT ...> Felder mit Typ "Image" lediglich mißbraucht werden, um Submit Buttons ein individuelles Aussehen zu geben, das Fehlen der Koordinaten, obwohl sie nicht ausgewertet werden, aber dennoch Fehlermeldung erzeugt. (Hier keimt dann doch der Verdacht auf, daß diese Fehlfunktion vom Server-Betreiber durchaus gewollt ist, um den Betrachter der WWW Seiten zum Laden der Grafiken bzw. der Benutzung eines grafischen Browsers zu zwingen.)

Obwohl selbstversändlich, sollte vielleicht nochmal explizit erwähnt werden, daß sich die Darstellungsmöglichkeiten von Lynx nicht auf den ASCII Zeichensatz beschränkt, sondern unter anderem den in Westeuropa gebräuchlichen ISO-LATIN-1 Zeichensatz beherrscht.

Doch allein der Fakt, daß sich Lynx auch heutzutage noch zum Browsen im WWW verwenden läßt, beantwortet nicht die im Raum hängende Frage, warum im Zeitalter von X11 und grafischen Applikationen ein rein textbasiertes Programm so intensiv weiterentwickelt wird oder anders ausgedrückt, welche Vorteile es bietet. Zum einen ist die Verwendung von Text statt Grafik basierten Programmen Geschmackssache, zum anderen gibt es auch heute noch einige Situationen, in denen die Verwendung graphischer Browser unmöglich oder unbequem ist:

Außer den Argumenten, die gegen die Anwendung eines grafischen WWW Browsers allgemein sprechen, gibt es auch Gründe, die konkret für Lynx sprechen: Lynx wird unter dem Credo entwickelt, daß der Benutzer besser weiß, was er will, als der Server oder der Browser. Dies zeigt sich zm einen darin, daß Lynx in Bereichen konfigurierbar ist, die Klick-Bunti Browser dem Anwender völlig verbergen, zum anderen in den Abfragen, mit denen er dem Benutzer Entscheidungen überläßt. Außer den schon erwähnten nicht automatisch durchgeführten Refreshs, wird der Benutzer z.B. bei Magic-Cookie Anfragen des Servers um Genehmigung gefragt. Für den reinen Anwender vielleicht etwas irritierend, bietet Lynx bei den oft problematischen Redirect Anweisungen für POST-Requests neben der Möglichkeit den gesammten Request zu canceln die Auswahl zwischen der standardgemäßen Durchführung und der vom Server meist Erwarteten Umwandlung in ein GET Request. Aber da hier, wie bei Computern so oft, das Ausprobieren zum Erfolg führt, ist das kaum als mangelnde Benutzerfreundlichkeit zu betrachten: Führt es doch weiter, wo Browser ohne Auswahlmöglichkeit scheitern müssen.

Neben diesen außergewöhnlichen Funktionen für den WWW Zugriff bietet Lynx auch einiges für den lokalen Betrieb. Neben der Möglichkeit des direkten Aufruf von Programmen über Links (s.u.) bietet es in der Darstellung von lokalen Directories teilweise die Funktionalität eines Filemanagers und beim Betrachten lokaler Seite wird auf Knopfdruck (e) ein Text Editor nach Wahl gestartet.

Bedienung

Der Aufruf von Lynx erfolgt in klassischer Unix-Manier mit
lynx [<options>] [<URL>]
Bei Fehlen des optionalen Komando-Zeilen Arguments <URL> wird der Wert der Evironment Variable WWW_HOME benutzt, fehlt dieser ebenfalls, ein im Konfigurationfile festgelegter Default. Wie übliche enthält das uneditierte Konfigurationsfile der Lynx-Distribution die Homepage des Lynx Projektes als Startseite.
Die Optionen sind zu zahlreich, um sie hier alle aufzuzählen. Mit ihnen lassen sich z.B. die Ausgabe eines HTML Dokuments -gerendert oder als Quellcode- auf die Standardausgabe erreichen (s.u.). Schon beschrieben wurden manche Möglichkeiten, die Interpretation des HTML und die Darstellung der Dokumente verändern, wozu z.B. auch das Einfügen für Links für alle (natürlich nicht dargestellten) Inline-Bilder oder das Numerieren der Links gehört. Des Weiteren läßt sich die an den Server gesandte Information beeinflussen oder die Verfügbarkeit einiger Funktionen von Lynx wie z.B. den lokalen Filebrowser oder den Zugang zur E-Mail in der Kommandozeile steuern. Eines der Feature, die Lynx anderen WWW Browsern voraus hat, ist die Möglichkeit mittels der Option -head lediglich die HEADER Information eines Dokuments zu laden

All diese Optionen bekommt man mit eine einzeiligen Erklärung aufgelistet, wenn man Lynx mit der Option -help aufruft.

Als Browser für Text-Terminals wird Lynx natürlich komplett über die Tastatur gesteuert, die meist benutzten Tasten sind die Cursortasten: "Hoch"/"Runter" läßt den Cursor über die Links wandern, "Rechts" (oder "Return") läßt Lynx einen Link folgen. "Links" führt wieder auf die vorherige Seite, entsprechend dem "Back"-Button grafischer Browser. Ein Äuqivalent zum "Forward"-Button, daß heißt, die Möglichkeit nach einem "Back" wieder die zuvor gewählten Seiten anzuschauen, ohne sie nochmal explizit anzuwählen, gibt es nicht. Die Taste "k" (wie Keylist) ruft eine Liste aller Tastaturkommandos aus. Die wichtigsten sind:

h
"Help", wählt die im Konfigurationsfile angegebene Hilfe-Seite an
g
"Goto", ermöglicht die Eingabe einer beliebigen URL oder eines lokalen Dateipfades.
p
"print", ruft ein konfigurierbares Menu auf, das auch das Abspeichern des aktuell betrachteten Dokuments in der dargestellten Form beinhaltet
d
Ebenfalls konfigurierbares Download-Menu.
r
Neuladen der betrachteten Seite ("Reload")
x
Folgen des angewählten Links ohne Benutzung des internen Cache
a
"Add to Bookmarkfile", ermöglichst sowohl das Merken des betrachteten Dokuments wie das des angewählten Links und die Eingabe eines Textes für das Bookmarkfile.
v
"View Bookmarkfile"
o
Wählt die "Options" Seite an
q
Quit (sofern die Shell daraus kein KILL macht, funktioniert auch ctrl-c)
Ebenfalls interessant ist
/
schaltet zwischen der formatierten Darstellung und der des HTML Quellcodes um
Da Lynx eigenartigerweise nur eine geparste Version der Dokumente im Speicher behällt -einen Disk Cache gibt es nicht- erfordert letzteres jedesmal ein Neuladen des Dokumentes. (Ähnliche Effekte sind allerdings auch manchmal beim Verändern der Fenstergröße von grafischen Browsern zu beobachten)

Die über o angewählte Options Seite ermöglicht die für Webbrowser üblichen Einstellungen z.B. der eigenen E-Mail Adresse, des zu verwenden Zeichensatzes oder der Startseite. Darüber hinaus gibt es auch noch so nützliche Einstellungen wie der Editor mit dem man auch lokale Seiten editieren kann oder etwas Außergewöhnliches wie die Zeichenkette, die als Browser Kennung an den Server gesandt werden soll. In einem Detail zeigt sich hier wieder die Tranzparenz, die Lynx seinem Benutzer bietet: Es ist der einzig dem Autor bekannte Browser, der die Angabe der bevorzugten Sprache zuläßt.

Über das interaktive Browsen hinaus läßt sich Lynx auch in Shell Skripten einsetzen. Hier sind die Optionen -source oder -dump interessant, die entweder das in der Kommandozeile angegebene Dokument unverändert (auch im Falle von Bildern oder sonstigen binären Dateien) oder entsprechend dem MIME Typ in Plain Text gewandelt auf der Standardausgabe ausgeben. Hier gibt es die Erweiterungen -mime_type die statt dem reinen Dokument noch den MIME Typ Header mit abspeichert und die Kombination von -crawl -traversal um nicht nur das angegebene HTML Dokument sondern auch die, auf die es verweist zu konvertieren und abzuspeichern. Es lassen sich sogar mit der Option -auth <Username>:<Paßwort> Seiten auf geschützten Bereichen eines Servers per Skript runterladen. Bei dem Aufruf mit -get_data oder -post_data liest Lynx die Daten für ein GET bzw POST Request von der Standardeingabe bevor es den Request an den Server sendet.

Will man Lynx beenden, wir einem die Sicherheitsfrage "Are you sure you want to quit? [N]" gestellt. Beantwortet man diese mit 'n' für "no", so antwortet Lynx mit einem begeisterten "Exellent!!". Lynxs Reaktion auf die Antwort 'y' für "yes" ist nicht bekannt, da sich das Programm vorher beendet ;-).

Es ist kaum zu erwarten, daß Lynx jemals in der Lage sein wird, Javascript zu verstehen, aber dem Autor ist auch keine Seite bekannt, auf der dies in irgendeiner Sinnvollen Art und Weise eingesetzt worden wäre. Hier geht natürlich ein, was der Benutzer als sinnvoll erachtet, aber durch die prinzipielle unfähigkeit eines Textbrowsers, Bilder darzustellen, wird der normale Lynx Benutzer den Browser mehr für das Erlangen von textbasierter Information einsetzen, als für das Bad in multimedialen Reizen. Die meisten Webseiten, die den Zweck haben, Information bereit zu stellen, sind mit Lynx problemlos zu betrachten. Dies hängt sicher auch damit zusammen, daß in diesen Fällen die ursprüngliche Idee von HTML, einen Kontext und nicht ein Layout zu beschreiben, stärker umgesetzt wird.

Relevantes für Web-Seiten Autoren

Manche Web-Seiten Autoren, die von Lynx gehört haben und berücksichtgen wollen, glauben, sie müßten für Lynx einen separate Text Version Ihrer Seiten zur Verfügung stellen. Bei der Benutzung von Tabellen ist dies leider wahr, da Lynx bis heute Tabellen zwar erkennt, diese aber nicht in einer Form darstellt, die man als Tabelle bezeichnen kann. Je nach Platzbedarf werden die Einträge einer Tabellenzeile unformatiert nebeneinander oder untereinander plaziert. Abgesehen davon, erfordert die "Anpassung" von HTML an Lynx nichts, was die Darstellung von sauber geschriebenen Web-Seiten in anderen Browsern verändern würde. So ist die konsequente Verwendung von ALT="..." Texten ein Muß, wenn man auf Text-Browsern ansehnliche Ergebnisse erzielen will. Der hier gewählte Text sollte nicht eine Erklärung der nicht sichtbaren Grafik, sondern einen sinnvollen Ersatz bieten. So bereichern Alternativ-Texte wie ALT="Horizontale Linie" oder ALT="Icon Pfeil Rechts" die Lynx Darstellung weit weniger als ALT=" -------------- " bzw ALT="Nächste Seite". Unter diesem Gesichstpunkt ist es stellenweise durchaus sinnvoll einen ansonsten absurd anmutenden leeren Text ALT="" anzubieten, um in Textbrowsern den Hinweise "[Image]" zu unterdrücken, wenn diese Grafik keinerlei Bedeutung für das Verständnis des Textes hat, z.B. wenn es sich um ein Icon handelt, dem sowieso ein erklärender Text zur Seite gestellt wurde. Auch hier ist wieder der Realismus der Lynx Autoren erkennbar: Vermutlich in der Erkenntnis, daß nur eine geringe Zahl von Web-Autoren die ALT-Texte überhaupt und in diesem Sinne einsetzt, lassen sich durch die Option -pseudo_inlines oder die Taste '[' bei laufendem Lynx die nicht vorhandene ALT Texte durch leere ersetzen und somit die Anzeige des [Image] verhindern.

Selbst die Verwendung von Imagemaps erzwingt keine alternativ-Seite, wenn man Lynx-kompatibel bleiben will. Man muß sich lediglich auf Client-Side Imagemaps beschränken und auch hier sinnvolle Alternativ-Texte anbieten, die der Standard hier sowieso als obligatorisch ansieht.

URLs

Jedes Program, das als WWW Browser gelten will, muß zumindest URLs der Protokolle http:, ftp: und news: verstehen. Darüber hinaus bietet Lynx noch einige Sonderheiten, die zum Teil auch bei anderen Browsern anzutreffen sind, zum Teil aber nur lokal sinnvoll einzusetzen sind. Zu der ersten Kategorie gehört wohl die Möglichkeit, bei FTP Zugriffen einen perönlicher Account auf dem FTP Server nutzen zu können, indem man den Nutzernamen in der Syntax ftp://user@host.de/absoluter/pfad/file angibt. Dabei ist / nicht das Homeverzeichnis auf dem FTP Server, sondern dessen /. Bei mailto: URLs werden sowohl die oft diskutierte -aber bisher in keinem Standard erwähnte- Syntax, das Subject in einem TITLE Attribut des Anchor/Form Tags anzugeben unterstützt, wie auch die von Netscape eingeführte und ansonsten nur dort benutzte Methode, das Subject in einer GET-Request ähnlichen Notation mit ?subject= an die Mailadresse anzuhängen. Mit seiner Benutzerschnittstelle für E-Mails kann Lynx nicht gerade glänzen, aber als Editor für die Erstellung des Textes wird in aktuellen Lynx Versionen der auf der Options Seite einstellbare benutzt.

Ebenso kann man Lynx nicht als komfortablen Newsreader bezeichnen, wird doch in keiner Weise zwischen gelesenen und neuen News unterschieden und keinerlei Threading dargestellt. Der einzelne Artikel wird dann jedoch angenehm dargestellt, mit anwählbaren Links für das Posten eines Followups, dem Reply zum Autor des Artikels und allen im Text erkannten URLs. Die verschiedenen Syntaxen, die für news: URLs verstanden werden ist genau wie die des finger: Protokolls zu groß um hier aufgezählt zu werden, sind aber auf den Lynx Hilfe Seiten gut beschrieben.

Neben einigen Protokollen, die nur in und für von Lynx selbst erzeugten Dokumenten wie z.B. der Tastenbelegungstabelle LYNXKEYMAP: sinnvoll verwendet werden können, versteht Lynx noch URLs der Form lynxexec:, lynxprog: und lynxcgi:, die dazu dienen, mittels eines Links von einem betrachteten HTML Dokuments lokal Programme zu starten. Sie unterscheiden sich darin, wie das Programm mit dem Benutzer interagiert: lynxprog: und lynxexec: lassen ein Program interaktiv laufen, wobei ersteres noch auf einen Tastendruck wartet, bevor der Program-Output wieder von Lynx überschrieben wird, während lynxcgi: die Möglichkeit bietet, CGI Scripte laufen zu lassen, denen Variablen übergeben werden können und deren Ausgabe als anzuzeigendes Dokument inklusive HTTP Kopf interpretiert wird. Damit lassen sich einerseits komfortable Frontends für mit einem System nicht vertraute Benutzer erzeugen und andererseits CGI Skripte ohne Inanspruchnahme eines Servers testen. Da dies sicherheitstechnisch relevant ist, müssen diese Möglichkeiten im Konfigurationsfile definiert und teilweise bei der Compilierung explizit erlaubt werden.

Compilieren

Sofern man nich sowieso für die eigene Distribution ein Binärpacket der gewünschten Lynx Version findet, ist das Erstellen des Lynx Executables unter Linux einfach. Ggf. sollte man im Makefile und in userdefs.h einige Pfade und Optionen setzen. Dies ist aber in dem jeweiligen File gut kommentiert. Falls Lynx befähigt werden soll, Dokumente mit MIME-Typen wie application/x-sh als Skripte durchzuführen (Was natürlich sicherheitstechnisch nicht unbedenklich ist), müssen eventuell Shells/Interpreter in src/HTInit.c hinzugefügt werden (default sind sh, csh und ksh). Danach sollte ein Aufruf von make <target> ausreichen, um das ausführbare Program zu erzeugen. Ein make install führt die Installation durch. Die Auswahl der Rechner Architektur geschieht über die Angabe des make Targets <target>. make alleine zeigt eine Liste aller verfügbaren Targets an, für Linux hat man die Auswahl zwischen den Targets linux, linux_ncurses und linux_slang, die die jeweilig zu verwendenden Bibliothek für die Terminalansteuerung festlegt. Wählt man die Slang Bibliothek, so bekommt man auf enstprechenden Terminals (z.B. linux und xterm) den Text der HTML Seiten je nach Kontext in verschiedenen Farben dargestellt; allerdings sollte man die Angabe der Slang Version (0.99-27 oder neuer) aus dem Makefile durchaus wörtlich nehmen, Version 0.99-24 funktioniert z.B. nicht.

Konfiguration

Die Konfiguration des einmal installierten Lynx erfolgt über die Datei lynx.cfg, die sich in einem von der Installation abhängigen Ordner befindet, typischerweise in /usr/local/lib/lynx. Die in der Lynx Distribution mitgelieferte Beispieldatei enthält reichhaltige Kommentare und viele größtenteils auskommentierte Beispiele. Hier können sowohl Proxy Server wie Download, Upload und Druck Optionen als auch VIEWER und das default Startfile definiert werden.

Die genauen Definitionrn hier zu erläutern, würde bedeuten, Eulen nach Athen zu tragen; am besten nimmt man sich sowieso die Beispieldatei und passt sie an die lokalen Bedürfnisse an. Mit Hilfe der definierten Upload Programme lassen sich nicht etwa Dokumente auf einen Webserver bringen, sondern über eine Terminalverbindung auf den Rechner, auf dem Lynx läuft. Entsprechen lassen sich mit den eingetragenen Download Programmen Dateien -hier auch von Webservern- nicht nur auf den Rechenr auf dem Lynx läuft, sondern auch auf den Rechner, der als Terminal fungiert, runterladen. Mit Lynx und z.B. Kermit kann man also auch über eine reine Terminal-Modem-Verbindung Daten direkt von einem FTP oder WWW Server auf den Rechner zuhause laden. Auch mit den Druck Optionen -Lokal abspeichern und Mailen sind voreingestellt- lassen sich Programme aufrufen, die über VT Steuersequenzen den Drucker am Terminal ansprechen - vorausgesetzt natürlich, die Terminalemulation unterstützt das.

Die Viewer Programme, die für das Betrachten von Bildern, Postscriptdateien usw. oder das Abspielen von Sound Dateien aufgerufen werden, können im Prinzip auch über .mailcap Files definiert werden. Die Konfiguration in lynx.cfg hat aber den Vorteil, daß zwischen Programmen, die X11 benötigen, und die ohne auskommen, unterschieden werden kann. So kann man Lynx unter Linux so konfigurieren, daß wenn es auf der Konsole läuft, zgv zum Darstellen von Bildern benutzt wird, wenn es in einem xterm läuft aber xv.

Für die Spezialität von Lynx, daß durch URLs, die mit lynxexec: oder lynxprog: beginnen ein Programm lokal ausgeführt werden kann, muß hier im Konfigurationsfile festgelegt werden, welche Programme so ausgeführt werden können. Gleiches gilt für die mittels der URL lynxcgi:<Pfad> vom Browser lokal aufrufbaren CGI-Scripte.

Öffentliche Accounts

Lynx bietet zahlreiche Kommandozeilen und Compile-Zeit Optionen, um auf einem anonymen Account, z.B. als öffentlicher WWW-Zugang oder Oberfläche für ein lokales Informationssystem, benutzt zu werden. (Die lokale Anwendung in Bibliotheken war übrigens auch das ursprüngliche Ziel, als die Entwicklung von Lynx an der Universität von Kansas begann). Damit können Zugriffe auf das System, auf dem Lynx läuft, eingeschränkt werden; die Benutzung der Features wie das des Filemanagers oder gar des Aufrufens einer interaktiven Shell ist in einem solche Fall sicher nicht erwünscht. Wer Lynx für diesn Zweck einsetzen will, der sollte die Konfigurationsmöglichkeiten im Makefile und in userdefs.h sorfältig studieren, wo die relevanten Stellen gut dokumentiert sind. Das Konfigurationsfile bietet weitere Möglichkeiten, wie z.B. Drucker und Download Programme für anonyme Benutzer zu sperren.

Entwicklungen

Wie schon anfangs erwähnt, wird Lynx ständig weiterentwickelt. Für Linux Anwender nicht so interessant ist der neueste Wurf aus dem Lynx-Stall: Eine Portierung für DOS und Windows! Damit ist die separate Weiterentwicklung von DOSLYNX entgültig zuende, dessen Programierer inzwischen dem Lynx Team angehört. Unter VMS (dem System der VAX) läuft Lynx übrigens schon länger.

Dieser Artikel bezieht sich größtenteils auf die Version 2.7, von der Version 2.7.1 hautpsächlich ein Bugfix sein soll. In der Lynx Entwickler Mailingliste wird derzeit neben einem Auffrischen der Dokumentation die Benutzung von GNU autoconf besprochen. Auch ein Disk-Cache scheint im Gespräch zu sein. Wer up-to-date sein will, sollte sich die Lynx WWW Seiten und die das Archiv der Mailingliste anschauen.

Literatur
Lynx Home Page http://lynx.browser.org/
Lynx Links http://www.crl.com/~subir/lynx.html
Lynx-Dev Mailing List Archive http://www.flora.org/lynx-dev/html/
Lynx Online Help http://www.crl.com/~subir/lynx/lynx_help/lynx_help_main.html
(Sollten nach jeder Lynx Installation lokal vorliegen)

Der Autor

Peter Weyers beschäftigt sich seit 1994 intensiver mit dem WWW. Damals übernahm er als Doktorand am Elementarteilchen-Physik Experiment HERA-B nebenbei die Betreung des WWW Servers der Wissenschaftlichen Kollaboration, die das Experiment entwickelt.

Bei seiner Promotion samelte er Erfahrungen mit Unix Systemen und Netzwerken aus Benutzersicht. Nachdem in seiner Arbeitsgruppe ein Linuxrechner erfolgreich als Workstation eingesetzt wurde, kam für ihn als Nachfolger seines privaten Atari ST nur ein Linux System in Frage. Den Anfang machte im Frühjahr 1996 eine Slackware 3.0 Distribution, die auf einem Notebook installiert wurde. Inzwischen hängt dieses bei Bedarf über eine PLIP Verbindung an einem Tisch Rechner, wobei sich die Netzwerkfreundlichkeit von Linux als großer Vorteil erweist.

Derzeit arbeitet Peter Weyers als wissenschaftlicher Angestellter der Humoldt-Universität zu Berlin in der Softwareentwicklung für das HERA-B Experiment und muß sich zu seinem Leidwesen dabei noch viel mit Fortran 77 quälen.

Auf dem WWW ist er unter http://sugra.desy.de/user/weyers/ zu finden, wo er auch seine -allerdings nicht aufgeräumte- URL-Sammlung der Öffentlichkeit zur Verfügung stellt.



© Linux-Magazin 1997