Copyright © 1995 by O'Reilly/International Thomson Verlag

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches "Linux - Wegweiser zur Installation & Konfiguration", dann klicken Sie hier.


Kapitel 1
Eigenschaften der Software

In diesem Abschnitt werden wir Ihnen viele der Anwendungsprogramme vorstellen, die es für Linux gibt, und werden eine Reihe von Aufgabenstellungen besprechen, die oft mit dem Computer gelöst werden. Schließlich ist der wichtigste Teil des Systems die Spannweite an Programmen, die es dafür gibt. Noch beeindruckender ist, daß der größte Teil dieser Software frei erhältlich ist.

Grundlegende Befehle und Utilities

Nahezu jedes einzelne Utility (Hilfsprogramm), das Sie auf anderen Implementierungen von UNIX vorfinden, ist auch nach Linux portiert worden. Dazu gehören grundlegende Befehle wie ls, awk, tr, sed, bc, more usw. Was auch immer Ihnen einfällt: Linux hat es. Sie können deshalb davon ausgehen, daß Ihre gewohnte UNIX-Arbeitsumgebung auch unter Linux existiert. Alle Standardbefehle und -utilities sind vorhanden. (Linux-Anfänger sollten Kapitel 3, Grundlegende UNIX-Befehle und Konzepte lesen; dort werden die UNIX-Grundbefehle vorgestellt.)

Viele Texteditoren stehen zur Verfügung, darunter vi, ex, pico und jove; ebenso gibt es GNU Emacs und Varianten davon wie Lucid Emacs (das Erweiterungen für das X Window System enthält) und joe. Egal, mit welchem Texteditor Sie normalerweise arbeiten -- wahrscheinlich ist er auch nach Linux portiert worden.

Die Wahl eines Texteditors ist eine interessante Angelegenheit. Viele UNIX-Benutzer arbeiten immer noch mit »einfachen« Editoren wie vi (auch dieses Buch wurde mit vi unter Linux geschrieben). Allerdings unterliegt vi aufgrund seines Alters einigen Beschränkungen, und modernere (und komplexere) Editoren wie etwa Emacs gewinnen an Popularität. Emacs enthält eine komplette, auf LISP basierende Makrosprache sowie einen LISP-Interpreter, hat eine umfangreiche Befehlssyntax und beinhaltet auch einige Spiele. Für Emacs gibt es Makros, die das Lesen von Mail und News ermöglichen, Verzeichnisbäume bearbeiten und sogar eine mit künstlicher Intelligenz ausgestattete Psychotherapie-Sitzung abhalten (ein Muß für den gestreßten Linux-Hacker). In Kapitel 5, Power-Tools finden Sie eine gründliche Einführung in vi und eine ausführliche Beschreibung von Emacs.

Ein interessantes Detail ist, daß die meisten Linux-Utilities aus der GNU-Softwareschmiede stammen. Diese GNU-Utilities enthalten weitergehende Merkmale, die in den Standardversionen für BSD und AT&T nicht enthalten sind. Zum Beispiel kennt die GNU-Version des Editors vi, elvis, eine strukturierte Makrosprache, die sich vom AT&T-Original unterscheidet. Trotzdem hat man sich bemüht, die GNU-Utilities kompatibel zu ihren Vettern unter BSD und System V zu halten. Viele Leute betrachten die GNU-Versionen dieser Programme als die bessere Alternative zu den Originalen.

Für viele Benutzer ist die Shell (Bedienoberfläche) das wichtigste Utility. Die Shell ist ein Programm, das die Befehle des Benutzers interpretiert und ausführt. Viele Shells bieten außerdem Extras wie Job-Control (damit kann der Benutzer mehrere Prozesse gleichzeitig starten-man muß dabei nicht unbedingt an Orwell denken); die Umleitung von Ein- und Ausgaben, oder eine Kommandosprache zum Schreiben von Shell-Skripts. Ein Shell-Skript ist eine Datei, die ein Programm in der Kommandosprache der Shell enthält; das entspricht einer »Batchdatei« unter DOS.

Es gibt viele Typen von Shells für Linux. Der wichtigste Unterschied szwischen den Shells besteht in der Kommandosprache. So benutzt z.B. die C-Shell (csh) eine Sprache, die der Programmiersprache C ähnlich ist. Die klassische Bourne-Shell benutzt eine andere Kommandosprache. Die Wahl einer Shell hängt oft von der Kommandosprache ab, die die Shell zur Verfügung stellt. Die Shell, für die Sie sich entscheiden, bestimmt in gewissem Grade darüber, wie Ihre Arbeitsumgebung unter Linux aussieht.

Ganz gleich, mit welcher Shell Sie normalerweise arbeiten -- ziemlich sicher gibt es eine Version davon für Linux. Die am häufigsten benutzte Shell ist die Bourne-Again-Shell (bash) von GNU. Dies ist eine Variante der Bourne-Shell mit weitergehenden Möglichkeiten wie Job-Control, einer History-Funktion für Befehlseingaben, automatischer Komplettierung von Befehlen und Dateinamen, einer Art Emacs-Interface, um die Befehlszeile zu editieren, sowie mächtigen Erweiterungen zur Kommandosprache der Standard-Bourne-Shell. Eine andere beliebte Shell ist die tcsh, eine Version der C-Shell mit erweiterten Möglichkeiten, ähnlich denen der bash. Weitere Shells sind die Korn-Shell (ksh), die ash von BSD, die zsh, eine kleine Bourne-ähnliche Shell, und rc, die Shell des Plan-9-Betriebssystems.

Was ist also das Wichtige an diesen grundlegenden Utilities? Linux bietet Ihnen einzigartige Möglichkeiten, ein spezielles System ganz nach Ihren Wünschen zu konfigurieren. Wenn Sie z.B. der einzige Benutzer Ihres Systems sind und Sie am liebsten mit dem Editor vi und der Shell bash arbeiten, brauchen Sie die anderen Editoren und Shells nicht zu installieren. Dieser »Do-it-yourself«-Geist ist unter Linux-Hackern und -Benutzern weit verbreitet.

Textverarbeitung

Fast jeder Computerbenutzer braucht irgendein Textverarbeitungssystem. (Wie viele Computerfreaks kennen Sie, die noch mit Papier und Stift schreiben? Nicht sehr viele, darauf können wir wetten.) In der Welt der PCs herrscht eine andere Art der Textverarbeitung vor als unter UNIX (im englischen als word processing bezeichnet). Dabei werden Texte editiert und formatiert (oft in einer »What-You-See-Is-What-You-Get« (WYSIWYG-Darstellung), und komplett mit Abbildungen, Tabellen und anderen Extras fertiggestellt.

Unter UNIX findet eine andere Art von Textverarbeitung statt (im Englischen als text processing bezeichnet), die sich erheblich vom klassischen Word-Processing unterscheidet. Beim Text-Processing erstellt der Autor den Text in einer Formatierungssprache (»typesetting language«), die das Aussehen des Textes beschreibt. Statt den Text in einem speziellen Textverarbeitungsprogramm einzugeben, kann der ursprüngliche Text hierbei mit einem beliebigen Texteditor wie z.B. vi oder Emacs bearbeitet werden. Sobald der Text (inklusive der Formatierungsanweisungen) fertiggestellt ist, wird er mit einem besonderen Programm (Textformatierer) bearbeitet, das den Quelltext für die Druckausgabe formatiert. Das entspricht etwa der Programmierung in Sprachen wie C; der Text wird sozusagen in seine endgültige Form »kompiliert«.

Unter Linux stehen viele Textformatierungssysteme zur Verfügung. Eines ist groff, die GNU-Version des klassischen Textformatierers troff, der ursprünglich von den Bell Laboratories entwickelt wurde und noch immer auf vielen UNIX-Systemen in der ganzen Welt in Gebrauch ist. Ein anderer moderner Textformatierer ist TEX, der von dem bekannten Informatiker Donald Knuth entwickelt wurde. Auch Dialekte von TEX, etwa LATEX, sind vorhanden.

Textformatierer wie TEX und groff unterscheiden sich hauptsächlich in der Syntax ihrer Formatierungssprachen. Die Wahl eines Formatierungssystems hängt auch davon ab, ob die verfügbaren Utilities Ihren Anforderungen gerecht werden; auch persönliche Vorlieben spielen eine Rolle.

Beispielsweise betrachten einige Leute den Textformatierer groff als etwas obskur, und sie arbeiten deshalb lieber mit TEX, dessen Quelltexte von Menschen einfacher zu lesen sind. Allerdings ist groff in der Lage, reine ASCII-Texte zu produzieren, die auf dem Bildschirm angezeigt werden können; TEX eignet sich eher dazu, Ausgaben für Drucker zu erzeugen. Aber es gibt auch verschiedene Programme, die TEX-formatierte Dokumente in ASCII-Texte umwandeln oder das TEX-Format z.B. in das groff-Format wandeln.

Ein anderer Textformatierer ist Texinfo, eine Erweiterung zu TEX, der von der Free Software Foundation für die Softwaredokumentation benutzt wird. Texinfo ist in der Lage, aus einer einzigen Quelldatei entweder ein druckbares Dokument oder ein Hypertext-»Info«-Dokument zu erstellen, das online gelesen werden kann. »Info«-Dateien sind die wichtigste Art der Dokumentation von GNU-Software wie z.B. Emacs.

Textformatierer werden in der EDV-Welt häufig zum Erstellen von schriftlichen Unterlagen, Doktorarbeiten, Zeitschriftenartikeln und Büchern benutzt (auch dieses Buch wurde mit LATEX geschrieben und mit groff gedruckt). Die Möglichkeit, den ursprünglichen Text inklusive der Formatierungsanweisungen im Klartext zu bearbeiten bietet eine Chance, den Textformatierer selbst zu erweitern. Da die Quelltexte nicht in irgendeinem obskuren Format gespeichert werden, das nur von einer bestimmten Textverarbeitung gelesen werden kann, haben Programmierer die Möglichkeit, Parser und Übersetzungsprogramme für die Formatierungssprache zu schreiben und damit das System zu erweitern.

Wie sieht so eine Formatierungssprache aus? Im allgemeinen bestehen die Quelltexte einer solchen Sprache aus dem eigentlichen Text, in den »Kontrollcodes« eingebettet sind, die eine bestimmte Formatierung bewirken -- etwa einen anderen Font wählen, den Seitenrand einstellen, eine Liste anlegen usw.

Betrachten Sie z.B. folgenden Text:

Dieser Text würde in der LaTeX-Formatierung folgendermaßen aussehen:


Mr. Torvalds:

We are very upset with your current plans to implement \em{post-hypnotic
suggestion\/} in the {\bf Linux} terminal driver code. We feel this
way for three reasons:
\begin{enumerate}
\item Planting subliminal messages in the terminal driver is not only
      immoral, it is a waste of time;
\item It has been proven that ``post-hypnotic suggestions'' are ineffective
      when used upon unsuspecting UNIX hackers;
\item We have already implemented high-voltage electric shocks, as a
      security measure, in the code for {\em login}.
\end{enumerate}
We hope you will reconsider.

Der Autor gibt den oben gezeigten »Quell«-Text mit einem beliebigen Texteditor ein und produziert den Ausgabetext, indem er diesen Quelltext mit LATEX bearbeitet. Auf den ersten Blick erscheint die Formatierungssprache vielleicht etwas seltsam, aber sie ist eigentlich recht einfach zu lernen. Die Benutzung eines Textformatierers erzwingt, daß während des Schreibens gewisse typografische Standards eingehalten werden. So werden z.B. alle durchnumerierten Listen gleich aussehen, solange der Autor nicht die Definition für »numerierte Liste« ändert. Der Autor kann so die Priorität auf das Erstellen des eigentlichen Textes legen, statt sich um typografische Konventionen zu kümmern.

Textverarbeitungen nach dem WYSIWYG-Prinzip sind aus vielen Gründen beliebt; sie bieten eine mächtige (und manchmal komplexe) visuelle Schnittsstelle zum Editieren von Dokumenten. Andererseits ist diese Schnittstelle von vornherein auf diejenigen Aspekte des Textlayouts beschränkt, die dem Benutzer angeboten werden. Deshalb bieten viele WYSIWYG-Textverarbeitungen eine spezielle »Formatierungssprache« für die Erstellung komplizierter Ausdrücke an; etwa einen Formeleditor für mathematische Formeln. Der Einsatz eines Formeleditors entspricht der Benutzung eines Textformatierers, allerdings in sehr einfacher Form.

Der feine Unterschied bei der Benutzung von Textformatierern ist, daß Sie genau bestimmen können, was Sie brauchen. Diese Systeme erlauben Ihnen außerdem, die Quelltexte mit beliebigen Editoren zu bearbeiten, und die Quelltexte lassen sich leicht in andere Formate wandeln. Der Nachteil bei dieser Flexibilität und Mächtigkeit ist, daß keine WYSIWYG-Schnittstelle vorhanden ist.

Viele Benutzer von WYSIWYG-Textverarbeitungen sind es gewohnt, bereits beim Editieren den fertig formatierten Text zu sehen. Andererseits muß man sich bei der Arbeit mit einem Textformatierer im allgemeinen keine Gedanken darüber machen, wie der formatierte Text aussehen wird. Der Schreiber lernt, aus den Formatierungsanweisungen im Quelltext zu erkennen, wie der fertige Text aussehen wird.

Es gibt Programme, die vor dem Ausdrucken eine Vorschau von formatierten Dokumenten auf einem Grafikbildschirm ermöglichen. Das Programm xdvi z.B. zeigt eine »geräteunabhängige« Datei an, die mit TEX unter dem X Window System erstellt wurde. Andere Anwendungen wie xfig bieten eine grafische WYSIWYG-Schnittstelle zum Zeichnen von Abbildungen und Diagrammen, die anschließend in das Format eines Textformatierers gewandelt und dann in Ihre Dokumente eingefügt werden können.

Zugegeben: Textformatierer wie nroff gab es schon lange, bevor Textverarbeitungen auftauchten. Trotzdem arbeiten viele Leute immer noch lieber mit Textformatierern, weil sie vielseitiger und unabhängig von einer grafischen Arbeitsumgebung sind. Auf jeden Fall gibt es für Linux auch die Textverarbeitung idoc und wir erwarten, daß es nicht lange dauern wird, bis auch kommerzielle Textverarbeitungen verfügbar sind. Wenn Sie auf keinen Fall zugunsten von Textformatierern auf Ihre Textverarbeitung verzichten wollen, haben Sie immer noch die Möglichkeit, neben Linux auch DOS oder ein anderes Betriebssystem zu installieren.

Es gibt viele andere Utilities für die Textbearbeitung. Das mächtige METAFONT-System, mit dem Fonts für TEX erstellt werden, gehört zur Linux-Portierung von TEX. Andere Programme sind z.B. ispell, eine interaktive Rechtschreibprüfung und -korrektur; makeindex , mit dem Indizes zu LATEX-Dokumenten erstellt werden; sowie viele Makropakete, die auf groff und TEX basieren und mit denen verschiedene Arten von Dokumenten und mathematischen Texten formatiert werden. Außerdem gibt es Konvertierungsprogramme für die Umwandlung von TEX- und groff-Quellen in unzählige andere Formate.

In Kapitel 5 besprechen wir LATEX, groff und andere Programme für die Formatierung von Texten im Detail.

Programmiersprachen und -Utilities

Linux stellt eine komplette UNIX-typische Programmierumgebung bereit, die alle Standardbibliotheken, Programmierwerkzeuge, Compiler und Debugger enthält, die Sie auch auf anderen UNIX-Systemen vorfinden. In der Welt der Softwareentwicklung für UNIX geschieht die Anwendungs- und Systemprogrammierung normalerweise mit C oder C++. Der Standardcompiler für C und C++ unter Linux ist der gcc von GNU; es ist ein ausgereifter, moderner Compiler mit vielen Optionen. gcc kann C++-Programme (einschließlich der AT&T-3.0-Optionen) ebenso kompilieren wie Objective-C, einen anderen objektorientierten Dialekt von C.

Neben C und C++ sind viele andere Compiler- und Interpretersprachen nach Linux portiert worden, z.B. Smalltalk, FORTRAN, Pascal, LISP, Scheme und Ada. Außerdem gibt es mehrere Assembler, mit denen sich Code für den Protected Mode des 80386 schreiben läßt, sowie den Favoriten aller UNIX-Hacker, Perl (die Skriptsprache, die alle anderen Skriptsprachen überflüssig macht) und Tcl/Tk (ein Shell-ähnliches System zur Verarbeitung von Befehlen, das auch die Entwicklung von einfachen Anwendungen für das X Window System unterstützt).

Der ausgereifte Debugger gdb ist nach Linux portiert worden. Sie haben damit die Möglichkeit, ein Programm schrittweise auszuführen, um Fehler zu finden, oder die Ursache eines Absturzes mit Hilfe eines Core-Dumps zu untersuchen. gprof, ein Profiling-Utility, erstellt Statistiken zum Zeitverhalten Ihres Programms und zeigt damit auf, wo Ihr Programm während der Ausführung wieviel Zeit verbringt. Der Texteditor Emacs bietet eine interaktive Arbeitsumgebung zum Editieren und Kompilieren verschiedener Programmiersprachen. Andere Werkzeuge sind make und imake von GNU, mit denen Sie die Kompilierung großer Anwendungen steuern, sowie RCS, ein System zur Versionskontrolle.

Linux eignet sich hervorragend zur Entwicklung von UNIX-Anwendungen. Es bietet eine moderne Programmierumgebung mit allen erdenklichen Extras. Professionelle UNIX-Programmierer und Systemverwalter können Linux benutzen, um Software zuhause zu entwickeln, die dann auf UNIX-Rechner am Arbeitsplatz übertragen wird. So können Sie nicht nur eine Menge Zeit und Geld sparen, sondern auch bequem in den eigenen vier Wänden arbeiten. (3) Informatikstudenten können mit Linux die Programmierung unter UNIX lernen und andere Aspekte des Systems, etwa die Kernel-Architektur erforschen.

Unter Linux haben Sie nicht nur Zugang zu sämtlichen Bibliotheken und Utilities, sondern Sie haben auch den kompletten Kernel und den Quellcode der Bibliotheken im Zugriff.
Kapitel 6 beschäftigt sich mit den Programmiersprachen und -werkzeugen, die unter Linux zur Verfügung stehen.

Das X Window System

Das X Window System ist die grafische Standardschnittstelle auf UNIX-Rechnern. Es ist eine umfangreiche Bedienoberfläche, unter der viele Anwendungen laufen können. Bei der Arbeit mit X kann der Benutzer mehrere Terminalfenster gleichzeitig auf dem Bildschirm haben, von denen jedes eine andere Login-Sitzung darstellt. In der Regel wird die X-Schnittstelle mit der Maus bedient.

Viele X-spezifische Anwendungen sind bereits geschrieben worden, darunter Spiele, Grafik-Utilities, Programme zur Erstellung von Texten usw. Mit Linux und X wird Ihr System zu einer echten Workstation. Wenn Sie Ihren Rechner dann noch mit TCP/IP vernetzen, können Sie sogar X-Anwendungen auf Ihrem Bildschirm darstellen, die auf einer anderen Maschine ablaufen-genau wie auch andere Systeme unter X das tun können.

Das X Window System wurde ursprünglich am MIT (Massachusetts Institute of Technology) entwickelt und wird ohne Einschränkungen weitergegeben. Allerdings haben einige kommerzielle Hersteller firmeneigene Erweiterungen zur Originalsoftware auf den Markt gebracht. Die Version von X, die in Linux enthalten ist, ist unter dem Namen XFree86 bekannt und ist eine Portierung von X11R6, die für 80386er UNIX-Systeme wie Linux frei weitergegeben werden darf. XFree86 unterstützt eine ganze Reihe von Videohardware, darunter VGA, Super VGA und einige beschleunigte Grafikkarten. Linux enthält die komplette X-Software mit dem X-Server selbst, vielen Anwendungen und Utilities, den Programmbibliotheken sowie der Dokumentation.

Zu den Standardanwendungen für X gehören xterm (ein Terminalemulator, der für die meisten textbasierten Anwendungen innerhalb eines X-Fensters benutzt wird), xdm (der X-Session-Manager, der Logins handhabt), xclock (zeigt eine Uhr an), xman (ein Programm zum Lesen der Man-Pages unter X) und andere. Es gibt zu viele X-Anwendungen für Linux, um sie hier alle aufzuzählen, aber die Basisdistribution von XFree86 enthält alle »Standard«-Programme aus der originalen Distribution des MIT. Daneben sind viele andere X-Anwendungen separat erhältlich, und theoretisch sollte sich jedes für das X Window System geschriebene Programm ohne Probleme auch unter Linux kompilieren lassen.

Das Look-and-Feel von X wird weitgehend vom Window-Manager bestimmt. Diese nette Programm erledigt die Anordnung der Fenster und ermöglicht es, sie in ihrer Größe anzupassen, sie als Icon darzustellen, sie zu verschieben sowie das Aussehen der Fensterrahmen zu bestimmen usw. Die Standarddistribution von XFree86 enthält twm , den klassischen Fenstermanager des MIT, obwohl es auch leistungsfähigere Manager (etwa den Open Look Virtual Window Manager olvwm) gibt. Ein Fenstermanager ist unter Linux-Benutzern besonders beliebt: fvwm. Das ist ein kleiner Manager, der weniger als die Hälfte des Speichers beansprucht, den twm braucht. fvwm zeigt die Fenster dreidimensional an und stellt einen virtuellen Desktop bereit-wenn der Benutzer die Maus zum Rand des Bildschirms bewegt, verschiebt sich die Anzeige so, als ob die Arbeitsfläche in Wirklichkeit viel größer sei. fvwm ist in hohem Maße konfigurierbar und alle Funktionen sind sowohl über die Tastatur als auch per Maus erreichbar. Viele Linux-Distributionen benutzen fvwm als Standard-Fenstermanager.

XFree86 enthält Programmbibliotheken und Include-Dateien für die ausgefuchsten Programmierer, die X-Anwendungen entwickeln möchten. Verschiedene Widget-Sets wie z.B Athena, Open Look und Xaw3D werden unterstützt. Sämtliche Standardfonts, Bitmaps, Manual-Pages und sonstige Dokumentation werden mitgeliefert. Auch PEX (eine Programmierschnittstelle für 3D-Grafik) wird unterstützt.

Viele Programmierer von X-Anwendungen nutzen das herstellereigene Motif Widget-Set für ihre Arbeit. Verschiedene Anbieter verkaufen Einzel- und Mehrfachlizenzen einer Binärversion von Motif für Linux. Weil Motif selbst ziemlich teuer ist, ist es unter Linux-Benutzern nicht weit verbreitet. Allerdings dürfen ausführbare Dateien, die mit Motif-Routinen statisch gebunden wurden, ohne Einschränkungen weitergegeben werden. Wenn Sie also mit Motif ein Programm schreiben, das Sie weitergeben möchten, können Sie ausführbare Dateien anbieten, die auch für Benutzer ohne Motif zu gebrauchen sind.

Die beiden großen Nachteile bei X sind die Anforderungen an den Arbeitsspeicher und andere Hardware. Auf einem 386er mit vier Megabytes RAM kann X schon laufen, aber acht MBytes oder mehr physikalisches RAM sind nötig, um komfortabel arbeiten zu können. Auch ein schnellerer Prozessor ist eine gute Idee, aber viel wichtiger ist ausreichend physikalisches RAM. Um eine wirklich gute Qualtität der Bildschirmausgabe zu erreichen, wird dringend eine beschleunigte Videokarte (etwa eine Local-Bus-Karte mit dem S3-Chipsatz) empfohlen. Unter Linux und XFree86 haben Leistungsmessungen schon mehr als 140.000 XStones ergeben. Mit ausreichender Hardware werden Sie feststellen, daß X und Linux ebenso schnell sind wie andere UNIX-Workstations-wenn nicht sogar schneller.

In Kapitel 5 werden wir besprechen, wie Sie das X Window System auf Ihrem Linux-System installieren.

Die Vernetzung

Sind Sie daran interessiert, mit dem Rest der Welt zu kommunizieren? Ja? Nein? Vielleicht? Linux unterstützt die beiden wichtigsten Netzwerkprotokolle für UNIX-Systeme: TCP/IP und UUCP. TCP/IP (Transmission Control Protocol/Internet Protocol, für die Fans von Akronymen) umfaßt eine Reihe von Vereinbarungen, die es Systemen überall auf der Welt ermöglichen, in einem einzigen Netzwerk namens Internet miteinander zu kommunizieren. Wenn Sie Linux, TCP/IP und einen Anschluß an dieses Netzwerk haben, können Sie mit Benutzern und Rechnern per elektronischer Post, USENET-News, mittels Datenfernübertragung per FTP und auf andere Art und Weise kommunizieren. Zur Zeit sind sehr viele Linux-Rechner an das Internet angeschlossen.

Die meisten TCP/IP-Netze benutzen Ethernet als physikalisches Transportmedium. Linux unterstützt viele weit verbreitete Ethernet-Karten und -Interfaces für PCs, darunter auch den Westentaschen-Ethernet-Adapter D-Link für Laptops.

Weil aber nicht jedermann einen Ethernet-Anschluß zuhause hat, unterstützt Linux auch SLIP (Serial Line Internet Protocol), das einen Anschluß an das Internet via Modem ermöglicht. Um SLIP zu benutzen, brauchen Sie Zugang zu einem SLIP-Server, also einem Rechner, der eine direkte Verbindung zum Netz hat und der das Einwählen per Modem gestattet. Viele Unternehmen und Universitäten bieten solche SLIP-Server an. Wenn zu Ihrem Linux-System eine direkte Ethernet-Verbindung und ein Modem gehören, können Sie es sogar als SLIP-Server für andere Rechner konfigurieren.

Das NFS (Network File System) ermöglicht Ihrem System die gemeinsame Benutzung von Dateien mit anderen Rechnern in einem Netzwerk. FTP (File Transfer Protocol) ermöglicht den Austausch vonDateien mit einem anderen Rchner im Netz. Andere Features sind z.B. SMTP (Simple Mail Transfer Protocol), welches Programmen wie sendmail und smail ermöglicht, E-Mail zu senden und zu empfangen. Mittels FTP können Sie außerdem E-Mail-Systeme wie C-News und INN benutzen, die auf dem NNTP-Protokoll aufsetzen; die Dienste telnet, rlogin und rsh benutzen, mit denen Sie in andere Rechner im Netzwerk einloggen und dort Befehle ausführen; schließlich finger einsetzen, um Informationen über andere Internet-Benutzer zu erhalten. Ihnen stehen riesige Mengen an Programmen und Protokollen zur Verfügung, die auf TCP/IP basieren.

Es gibt eine ganze Reihe von Mail-Programmen und News-Readern für Linux. Dazu gehören Elm, Pine, rn, nn und tin. Egal, welche Programme Sie bevorzugen: Sie können Ihr Linux-System so konfigurieren, daß es weltweit elektronische Post und News versendet und empfängt.

Wenn Sie bereits auf anderen UNIX-Systemen Erfahrungen mit TCP/IP-Anwendungen gemacht haben, werden Sie schnell mit Linux vertraut sein. Linux enthält ein Standardinterface für die Programmierung von Sockets, so daß beinahe jedes Programm, das mit TCP/IP arbeitet, nach Linux portiert werden kann. Der X-Server von Linux unterstützt ebenfalls TCP/IP, so daß es möglich ist, Anwendungen auf Ihrem System darzustellen, die auf einem anderen System ablaufen.

In Kapitel 7 werden wir die Konfiguration von TCP/IP einschließlich SLIP für Linux besprechen. Dort wird auch die Konfiguration von Mail-Software behandelt.

UUCP (UNIX-to-UNIX Copy) ist eine etwas ältere Methode der Dateiübertragung. UUCP-Rechner sind untereinander per Modem und Telefonleitung verbunden, aber UUCP kann Daten auch über ein TCP/IP-Netz transportieren. Falls Sie keinen Zugang zu einem TCP/IP-Netz oder einem SLIP-Server finden, können Sie Ihr System so konfigurieren, daß es Dateien und elektronische Post via UUCP versendet und empfängt. Lesen Sie Kapitel 7, Vernetzung und Kommunikation ; dort besprechen wir UUCP und seine Konfiguration.

Datenfernübertragung und BBS-Software

Wenn Sie ein Modem haben, sind Sie auch in der Lage, mit anderen Rechnern zu kommunizieren, indem Sie eines der Datenübertragungspakete für Linux einsetzen. Viele Leute benutzen Datenübertragungssoftware für den Zugriff auf Bulletin Board Systems (BBSs) und kommerzielle Dienste wie CompuServe, Datex-J/BTX, Prodigy oder America Online. Andere Leute setzen ihr Modem ein, um sich mit einem Rechner am Arbeitsplatz oder der Ausbildungsstätte zu verbinden. Mit einem Modem und Ihrem Linux-System können Sie sogar Faxe verschicken. Die Datenübertragungssoftware für Linux ist der von DOS und anderen Betriebssystemen sehr ähnlich. Wer schon einmal ein Programm für die Datenübertragung benutzt hat, wird schnell mit der entsprechenden Software unter Linux vertraut werden.

Eines der am weitesten verbreiteten DFÜ-Programme für Linux ist Seyon, eine X-Anwendung mit einer konfigurierbaren, ergonomisch gestalteten Bedienoberfläche und mit eingebauter Unterstützung für verschiedene Datenübertragungsprotokolle wie Kermit, ZModem usw. Andere Programme für die Datenfernübertragung sind C-Kermit, pcomm und minicom. Diese ähneln Datenübertragungsprogrammen, die man auf anderen Betriebssystemen findet, und sind sehr einfach zu benutzen. Wir werden Kermit und ZModem im Abschnitt » Software für Datenübertragung und Remote-Zugang « in Kapitel 7 genauer besprechen.

Falls Sie keinen Zugang zu einem SLIP-Server haben (siehe auch den vorherigen Abschnitt), können Sie term benutzen, um Ihre serielle Verbindung zu multiplexen. term läßt Sie über die Modemverbindung mehrfache Login-Sitzungen auf einem fremden Rechner öffnen. term ermöglicht außerdem über eine serielle Leitung das Umlenken von Verbindungen mit einem X-Client an Ihren lokalen X-Server, so daß Sie fremde X-Anwendungen auf Ihrem Linux-System darstellen können. Ein anderes Softwarepaket, KA9Q, implementiert ein ähnliches, SLIP-artiges Interface.

Das Betreiben eines Bulletin Board Systems (BBS) ist für einige Leute das liebste Hobby (und eine Einnahmequelle). Linux unterstützt eine ganze Palette an BBS-Software, von der ein großer Teil leistungsfähiger ist als das, was man auf anderen Betriebssystemen vorfindet. Mit einem Telefonanschluß, einem Modem und Linux sind Sie in der Lage, aus Ihrem System ein BBS zu machen, das Benutzern aus der ganzen Welt den Wählzugang zu Ihrem System gestattet. Die BBS-Software für Linux besteht u.a. aus XBBS und dem UniBoard BBS-Paket.

Ein Großteil der BBS-Software hält den Benutzer in einem Menüsystem gefangen, das nur bestimmte Funktionen und Anwendungen erlaubt. Eine Alternative zum BBS-Zugang ist ein voller UNIX-Zugang, der es anderen Leuten ermöglichen würde, sich in Ihren Rechner einzuwählen und als normaler Benutzer einzuloggen. Ihr System kann ohne allzu großen Aufwand dafür konfiguriert werden, aber der Betrieb würde erheblichen Einsatz seitens des Systemverwalters erfordern. Innerhalb eines TCP/IP-Netzes könnten Sie dann den Benutzern Ihres Systems Zugang zu elektronischer Post und News verschaffen.

Falls Sie keinen Zugang zu einem TCP/IP-Netz oder einem UUCP-Rechner haben, können Sie unter Linux auch mit BBS-Netzen kommunizieren, z.B. dem FidoNet, um elektronische Post und News über die Telefonleitung auszutauschen.

Die Zusammenarbeit mit MS-DOS

Es existieren verschiedene Utilities für den Zugriff auf die DOS-Welt. Die bekannteste Anwendung ist der MS-DOS-Emulator von Linux, der das Starten von DOS-Anwendungen aus Linux heraus ermöglicht. Obwohl Linux und DOS völlig verschiedene Betriebssysteme sind, gestattet der Protected Mode des 80386 es bestimmten Tasks, sich wie Programme im 8086-Emulationsmodus zu verhalten, wie es auch DOS-Anwendungen tun.

Der MS-DOS-Emulator befindet sich noch in der Entwicklung, aber viele bekannte Anwendungen laufen bereits unter ihm. Es ist verständlich, daß solche DOS-Programme, die irgendwelche bizarren und esoterischen Möglichkeiten des Systems ausnutzen, wahrscheinlich keine Unterstützung finden werden, weil es sich nur um einen Emulator handelt. Sie würden z.B. nicht erwarten, daß Programme, die die Möglichkeiten des Protected Mode ausnutzen (wie Microsoft Windows) im 386er Enhanced Mode laufen werden.

Zu den Anwendungen, die efolgreich unter dem MS-DOS-Emulator von Linux laufen, gehören 4DOS (ein Befehlsinterpreter), Foxpro 2.0, Harvard Graphics, MathCad, Stacker 3.1, Turbo Assembler, Turbo C/C++, Turbo Pascal, Microsoft Windows 3.0 (im RealMode) und WordPerfect 5.1. Standard-DOS-Befehle und -Utilities (wie PKZIP usw.) arbeiten ebenfalls unter dem Emulator.

Der MS-DOS-Emulator ist hauptsächlich als eine spezielle Lösung für die Leute gedacht, die MS-DOS nur für wenige Anwendungen brauchen aber alles andere unter Linux erledigen. Der Emulator soll keine vollständige Implementierung von MS-DOS sein. Selbstverständlich können Sie MS-DOS und Linux auf demselben System installieren, wenn Sie mit dem Emulator nicht zufrieden sind. Mit dem Boot-Loader LILO können Sie beim Booten angeben, welches Betriebssystem hochgefahren werden soll. Linux kann auch mit anderen Betriebssystemen wie z.B. OS/2 koexistieren.

Linux bietet eine nahtlose Schnittstelle für den Transfer von Dateien zwischen Linux und MS-DOS. Sie können unter Linux MS-DOS-Partitionen oder -Diskettenlaufwerke mounten und auf die DOS-Dateien zugreifen wie auf andere Daten auch.

Zur Zeit befindet sich ein Projekt in der Entwicklung, das den Namen WINE trägt -- ein Emulator von Microsoft Windows für das X Window System unter Linux. Wenn WINE einmal fertig ist, werden Sie Windows-Anwendungen direkt aus Linux heraus starten können. Das entspricht etwa dem proprietären Windows-Emulator WABI von Sun Microsystems. Zum Zeitpunkt des Schreibens befindet sich WINE noch in einem frühen Stadium der Entwicklung, aber die Aussichten sind gut.

Wir werden Ihnen im Abschnitt » Linux, DOS und die Kompatibilität mit anderen Betriebssystemen « in Kapitel 5 zeigen, wie Sie den MS-DOS-Emulator einsetzen -- zusammen mit anderen knackigen Methoden, Linux und MS-DOS zusammenzubringen.

Andere Anwendungen

Eine riesige Zahl von verschiedenen Anwendungen ist unter Linux verfügbar, wie man es von einem solchen zusammengewürfelten Betriebssystem erwarten würde. Linux wird im Augenblick überwiegend als UNIX-System im privaten Bereich eingesetzt, aber das ändert sich schnell. Es erscheinen mehr geschäftliche und wissenschaftliche Anwendungen, und kommerzielle Anbieter fangen an, den Bestand an Software zu erweitern.

Mehrere relationale Datenbanken stehen unter Linux zur Verfügung, darunter Postgres, Ingres und Mbase. Es handelt sich hierbei um vollwertige, professionelle Client/Server-Datenbankanwendungen ähnlich denen, die man auf anderen UNIX-Plattformen vorfindet. Auch rdb, ein kommerzielles Datenbanksystem, gibt es für Linux.

Zu den wissenschaftlichen Anwendungen gehören FELT (ein Programm zur Analyse finiter Elemente), gnuplot (ein Programm zum Plotten und zur Analyse von Daten), Octave (ein Paket für symbolische Mathematik, das MATLAB ähnlich ist), xspread (eine Tabellenkalkulation), xfractint (ein Programm zur Erzeugung von Fraktalen unter X), xlispstat (ein Statistikpaket) und einige andere. Weitere verfügbare Anwendungen sind Spice (für den Entwurf und die Entflechtung von Leiterplatten) und Khoros (ein Bildbearbeitungssystem).

Natürlich gibt es noch viel mehr solcher Anwendungen, die bereits nach Linux portiert worden sind, oder aber portiert werden können. Egal, auf welchem Gebiet Sie arbeiten-es sollte kein Problem sein, UNIX-Anwendungen nach Linux zu portieren. Linux stellt dafür eine komplette UNIX-Programmierumgebung bereit, die als Basis für beliebige wissenschaftliche Anwendungen ausreichen sollte.

Wie zu jedem Betriebssystem gehören auch zu Linux einige Spiele. Darunter sind klassische, textbasierte Abenteuerspiele wie Nethack und Moria; MUDs (multiuser dungeons, in denen viele Benutzer gemeinsam in ein textbasiertes Abenteuer verstrickt sind) wie DikuMUD und TinyMUD; eine Reihe von Spielen für das X-System wie xtetris , netrek und Xboard (die X11-Version von gnuchess). Auch das populäre Ballerspiel Doom gibt es für Linux.

Für Audiophile bietet Linux Unterstützung einiger Soundkarten und damit zusammenhängender Software, z.B. CDplayer (ein Programm, das Sie ein CD-ROM-Laufwerk wie einen herkömmlichen CD-Spieler bedienen läßt -- hätten Sie's gedacht?); Sequenzer und Editoren für MIDI (mit denen Sie Musik komponieren können, die anschließend von Synthesizern oder anderen MIDI-Geräten abgespielt wird) sowie Editoren für digitalisierten Sound.

Sie können die gesuchte Anwendung nicht finden? In der Linux Software Map, die wir in Anhang A, Informationsquellen zu Linux beschreiben, finden Sie eine Liste mit vielen Softwarepaketen, die für Linux geschrieben oder portiert wurden. Obwohl diese Liste bei weitem nicht komplett ist, enthält sie eine ganze Menge Software. Werfen Sie einen Blick in die Liste und staunen Sie, wieviel Software bereits nach Linux portiert ist -- allein der Umfang der Liste ist eine tolle Reklame für Linux. Eine andere Methode, Software für Linux zu finden ist es, die INDEX-Dateien zu durchsuchen, die man auf Linux-FTP-Servern findet -- sofern Sie Zugang zum Internet haben. Lesen Sie einfach ein wenig kreuz und quer durch diese Dateien, und Sie werden eine Menge Software finden, die nur darauf wartet, daß man sie ausprobiert.

Wenn Sie absolut nicht finden, was Sie brauchen, können Sie immer noch versuchen, die Anwendung von einer anderen Plattform nach Linux zu portieren. Oder, wenn alle Stricke reißen, können Sie das Programm selbst schreiben.

Falls es eine kommerzielle Anwendung ist, die Sie suchen, gibt es vielleicht einen lizenzfreien »Clone« davon. Vielleicht können Sie den Hersteller dazu bewegen, den Binärcode für Linux freizugeben. Verschiedene Leute haben Softwarehäuser angesprochen und angeboten, deren Software nach Linux zu portieren, und haben damit mehr oder weniger Erfolg gehabt.


Fußnoten

(3)
Der Autor benutzt sein Linux-System, um zuhause X-Anwendungen zu entwickeln und zu testen, die direkt auf anderen Workstations kompiliert werden können.


Inhaltsverzeichnis Vorherige Abschnitt Nächste Abschnitt