Im Katalog suchen

Linux - Wegweiser zur Installation & Konfiguration, 3. Auflage

Online-Version

Copyright © 2000 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

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


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel

Eigenschaften der Software

In diesem Abschnitt werden wir Ihnen viele der Anwendungsprogramme vorstellen, die es für Linux gibt, und wir 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

Icon

Kapitel 4

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. Es gibt Linux-Portierungen von den meisten populären Paketen wie Perl, Python, dem Java Development Kit und weiteren. 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 4, Grundlegende Unix-Befehle und -Konzepte, lesen; dort werden die Unix-Grundbefehle vorgestellt.)

Viele Texteditoren stehen zur Verfügung, darunter vi (einschließlich moderner Varianten wie vim), ex, pico und jove. Ebenso gibt es GNU Emacs und Varianten davon, wie XEmacs (der Erweiterungen für das X Window System enthält) und joe. Egal, mit welchem Texteditor Sie normalerweise arbeiten, mit größter Wahrscheinlichkeit ist er auch nach Linux portiert worden.

Icon

Kapitel 9

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 und Emacs 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 9, Editoren, Textwerkzeuge, Grafiken und Drucken, finden Sie eine komplette 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 besseren. Ein Beispiel dafür sind die Kompressionsprogramme gzip und bzip2, die bessere Kompressionsraten erreichen als das ursprüngliche compress.

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-Kontrolle (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-Skripten. Ein Shell-Skript ist eine Datei, die ein Programm in der Kommandosprache der Shell enthält - das entspricht einer »Batch-Datei« unter DOS.

Es gibt viele Typen von Shells für Linux. Der wichtigste Unterschied zwischen den Shells besteht in der Kommandosprache. So benutzt zum Beispiel 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, 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-Kontrolle, 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 tcsh, eine Version der C-Shell mit erweiterten Möglichkeiten, ähnlich denen der bash. Weitere Shells sind die Korn-Shell (ksh), ash von BSD, 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 zum Beispiel 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 t 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. Bei der Textformatierung 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 zum Beispiel 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 auf der ganzen Welt in Gebrauch ist. Ein anderer moderner Textformatierer ist , der von dem bekannten Informatiker Donald Knuth entwickelt wurde. Auch Dialekte von , etwa , sind vorhanden.

Textformatierer wie 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 , dessen Quelltexte einfacher zu lesen sind. Allerdings ist groff in der Lage, reine ASCII-Texte zu produzieren, die auf dem Bildschirm angezeigt werden können. eignet sich eher dazu, Ausgaben für Drucker zu erzeugen. Aber es gibt auch verschiedene Programme, die -formatierte Dokumente in ASCII-Texte umwandeln oder das -Format beispielsweise in das groff-Format wandeln.

Ein anderer Textformatierer ist Texinfo, eine Erweiterung zu , 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 etwa 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 geschrieben, mit einem selbstgebauten SGML-System verarbeitet 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.

Die bekannteste Textformatierungssprache ist HTML, die jetzt mit XML einen jüngeren Bruder bekommen hat. HTML selbst ist ein Abkömmling von SGML, der Sprache, in der dieses Buch geschrieben wurde. Die speziellen Tags, die für dieses Buch verwendet wurden (wie <PARA> und <TITLE>), stammen aus Docbook, einer Art Industriestandard für Tags in technischen Dokumentationen, der auch in der offiziellen Linux-Dokumentation (die später in diesem Kapitel noch besprochen wird) verwendet wird. Hier folgt ein typischer Abschnitt aus Docbook:

<sect2><title>Grundlegende Befehle und Utilities</title> <para> 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 <command>ls</command>, <command>awk</command>, <command>tr</command>, <command>sed</command>, <command>bc</command>, <command>more</command> usw. Es gibt Linux-Portierungen von den meisten populären Paketen wie Perl, Python, dem Java Development Kit und weiteren. 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 <xref linkend="X-100-3-chap-basic"> lesen; dort werden die Unix- Grundbefehle vorgestellt.) </para>

Auf den ersten Blick mag so eine Sprache obskur wirken, aber eigentlich ist das ganz einfach zu lernen. Die Verwendung eines solchen Systems erzwingt die Einhaltung typographischer Standards. Beispielsweise werden alle Aufzählungslisten in einem Dokument immer gleich aussehen; es sei denn, der Autor verändert die Definition der »Umgebung« für Aufzählungslisten.

Das Hauptziel solcher Formatierungssprachen besteht darin, es dem Autor zu ermöglichen, sich auf das Schreiben des eigentlichen Textes zu konzentrieren und sich nicht um Schriftsatzkonventionen kümmern zu müssen. Wenn das gerade gezeigte Beispiel gedruckt wird, werden die Befehle in den <command>-Tags in dem Font, der Farbe oder sonstigen Konvention, die der Verleger gewählt hat, gedruckt; außerdem kann leicht ein Index mit allen Befehlen erzeugt werden. Außerdem werden an der Stelle, an der der merkwürdig aussehende <xref>-Tag steht, automatisch die richtige Kapitelnummer und der richtige Kapiteltitel eingefügt, selbst wenn die Autoren nach dem Schreiben dieses Absatzes noch die Kapitel umstellen.

Es gibt zwar WYSIWYG-Editoren für HTML (und sogar einige wenige für SGML), aber es erfordert andererseits nur wenig Übung, die Tags von Hand einzusetzen. Werkzeuge können dann Ausgaben in Standardformaten wie PostScript oder PDF erzeugen und diese auf dem Bildschirm des Autors darstellen oder an einen Drukker schicken. Zu den in Kapitel 9, Editoren, Textwerkzeuge, Grafiken und Drucken, beschriebenen Formatierungssystemen gehören , sein naher Verwandter Texinfo und troff.

Textverarbeitungen nach dem WYSIWYG-Prinzip sind aus vielen Gründen beliebt; sie bieten eine mächtige (und manchmal komplexe) visuelle Schnittstelle 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 es vor dem Ausdruck ermöglichen, das formatierte Dokument auf einem Grafikbildschirm zu betrachten. Das Programm xdvi beispielsweise zeigt eine »geräteunabhängige« Datei an, die mit unter dem X Window System erstellt wurde. Andere Anwendungen wie xfig bieten eine graphische 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.

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

Icon

Kapitel 9

In Kapitel 9, Editoren, Textwerkzeuge, Grafiken und Drucken, besprechen wir , groff und andere Programme zur Textformatierung im Detail.

Kommerzielle Applikationen

Kommerzielle Softwarehersteller sind mehr und mehr daran interessiert, ihre Software auf Linux zu portieren. Dazu gehören Office-Suiten, Textverarbeitungen, Hilfsprogramme zur Netzwerkadministration und ausgewachsene Datenbanken. In den ersten beiden Auflagen dieses Buches konnten wir nicht viel über verfügbare kommerzielle Applikationen schreiben, aber dies ändert sich in Windeseile - ja sogar so schnell, daß wahrscheinlich eine Unmenge weiterer kommerzieller Applikationen auf Linux portiert worden ist, wenn Sie dies lesen.

Star Division (http://www.stardivision.de ) hat die Office-Suite Star Office 5.0 für Linux veröffentlicht, die es auch für Windows 98, Windows NT und andere Unix-Systeme gibt. Diese Suite ist im großen und ganzen ein Microsoft Office-Clone und enthält eine Textverarbeitung, eine Tabellenkalkulation, einen HTML-Editor, ein Präsentationsprogramm und andere Programme. Sie kann diverse Dateiformate lesen (darunter die von Microsoft Office) und steht für den nichtkommerziellen Einsatz zum freien Download bereit.

Corel hat WordPerfect 8 auf Linux portiert, das eine Textverarbeitung, eine Tabellenkalkulation, ein Präsentationsprogramm, einen persönlichen Informationsmanager und andere Applikationen enthält. Für den privaten Gebrauch ist dieses Programm gratis, für alle anderen Einsatzzwecke kann eine Einzellizenz für etwa 150 DM direkt von Corel und möglicherweise etwas billiger von anderen Distributoren bezogen werden.

Firmen wie Oracle, IBM, Informix, Sybase und Interbase haben kommerzielle Datenbanken veröffentlicht, die auf Linux portiert worden sind. Von IBMs DB2-Datenbank-Server kann eine Beta-Version der Linux-Version gratis von IBMs Webserver (http://www.ibm.com ) heruntergeladen werden. Diese Beta-Version unterstützt kein Clustering und andere fortgeschrittene Merkmale der anderen DB2-Versionen, unterstützt aber Multiprozessormaschinen. IBM hat auch angekündigt, das beliebte AFS-Netzwerkdateisystem auf Linux portieren zu wollen.

Von Caldera stammt NetWare for Linux 1.0, mit dem Linux-Server Datei-, Druck- und Verzeichnisdienste in NetWare-Umgebungen bereitstellen und Daten mit Novell-NetWare-basierten Servern teilen können. Es ist kompatibel mit NetWare 4.10b und NetWare-Clients für Windows 3.1/95/98, DOS, Linux, Macintosh und UnixWare.

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 Standard-Compiler für C und C++ unter Linux ist der gcc von GNU; das 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.

Java, noch ein Neuling in der Szene der Programmiersprachen, wird unter Linux voll unterstützt. Die Version 1.2 des Java Development Kit von Sun (auch »Java 2« genannt) ist auf Linux portiert worden und funktioniert vollständig. Java ist eine objektorientierte Programmiersprache und Laufzeitumgebung, die einen großen Bereich von Applikationen - wie Applets in Webseiten, internetbasierte Distributionssysteme, Datenbankanbindungen und vieles andere mehr - unterstützt. In Java geschriebene Programme können auf jedem System (unabhängig von der CPU-Architektur und dem Betriebssystem) laufen, auf dem es eine Java Virtual Machine gibt. Die Möglichkeiten, die sich durch Java ergeben, haben in der Presse für große Aufregung gesorgt.

Neben C, C++ und Java sind viele andere Compiler- und Interpreter-Sprachen nach Linux portiert worden, zum Beispiel Smalltalk, FORTRAN, Pascal, LISP, Scheme und Ada. Außerdem gibt es mehrere Assembler, mit denen sich Maschinencode schreiben läßt, sowie die Favoriten aller Unix-Hacker: Perl (die Skriptsprache, die alle anderen Skriptsprachen überflüssig macht), 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) und Python (die erste von Grund auf objektorientierte Skriptsprache).

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 auf Linux portierte Werkzeuge sind GNU make und imake, 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 zu Hause zu entwikkeln, die dann auf Unix-Rechner am Arbeitsplatz übertragen wird. Fußnoten 1 So können Sie nicht nur eine Menge Zeit und Geld sparen, sondern auch bequem in den eigenen vier Wänden arbeiten. 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.

Icon

Kapitel 13
Kapitel 14

Kapitel 13 und 14 beschäftigen sich mit den Programmiersprachen und -werkzeugen, die unter Linux zur Verfügung stehen.

Das X Window System

Das X Window System ist die graphische 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.

Eine der ganz großen Stärken des X Window Systems liegt darin, Aussehen und Bedienung nahezu perfekt den Benutzervorlieben anpassen zu können. Es ist möglich, die Umgebungen von Windows 95/98, dem Macintosh und NeXTStep unter X zu emulieren, aber auch völlig neue Desktop-Konfigurationen zu erschaffen (viele Linux-Benutzer ziehen es vor, etwas Eigenes zu gestalten).

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 einem anderen Rechner 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 unter anderem für 80386er Unix-Systeme wie Linux frei weitergegeben werden darf. XFree86 unterstützt eine ganze Reihe von Videohardware, darunter VGA, Super VGA und eine Reihe beschleunigter 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 Manpages 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. Dieses 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: fvwm2. Das ist ein kleiner Manager, der weniger als die Hälfte des Speichers beansprucht, den twm braucht. fvwm2 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. fvwm2 ist in hohem Maße konfigurierbar, und alle Funktionen sind sowohl über die Tastatur als auch per Maus erreichbar. Viele Linux-Distributionen benutzen fvwm2 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 zum Beispiel Athena, Open Look und Xaw3D, werden unterstützt. Sämtliche Standard-Fonts, Bitmaps, Manpages und jede Menge Dokumentation werden mitgeliefert. Auch PEX (eine Programmierschnittstelle für 3-D-Grafik) wird unterstützt, desgleichen Mesa, eine freie Implementierung des 3-D-Standards OpenGL.

Icon

Kapitel 10
Kapitel 11

In Kapitel 10, Das X Window System installieren,, und Kapitel 11, Die X Arbeitsoberfläche anpassen, werden wir besprechen, wie Sie das X Window System auf Ihrem Linux-System installieren und benutzen.

KDE und GNOME

KDE und GNOME sind zwei neue und bemerkenswerte Projekte, die in der Linux-Welt für viel Aufregung gesorgt haben. Beide Systeme haben die Absicht, eine vollständige, integrierte graphische Desktop-Umgebung bereitzustellen, die auf dem X Window System aufsetzt. Durch die Entwicklung einer leistungsfähigen Sammlung von Entwicklungswerkzeugen, Bibliotheken und Anwendungen, die in die Desktop-Umgebung integriert sind, wollen KDE und GNOME die nächste Ära der Linux-Desktops einläuten. Beide Systeme stellen eine reichhaltige graphische Benutzeroberfläche, Hilfsprogramme und Applikationen bereit, die mit den Features von Systemen wie dem Windows 98-Desktop mithalten oder diese sogar übertreffen können. KDE verfügt darüber hinaus über einen sehr leistungsfähigen, eigenen Window-Manager.

Mit KDE und GNOME können sich auch Gelegenheitsanwender gleich bei Linux wie zu Hause fühlen. Die meisten Distributionen konfigurieren bei der Installation automatisch eine dieser beiden Desktop-Umgebungen (üblicherweise KDE), wodurch es nicht mehr zwingend notwendig ist, überhaupt mit der Kommandozeile in Berührung zu kommen.

Zwar zielen sowohl KDE als auch GNOME darauf ab, Unix benutzerfreundlicher zu machen, aber die Schwerpunkte sind doch verschieden. Die Hauptziele von KDE sind einfache Benutzbarkeit, Stabilität und (optionale) Kompatibilität der Benutzeroberfläche mit anderen Umgebungen (wie etwa Windows 95). GNOMEs wichtigste Ziele sind dagegen gutes Aussehen und maximale Konfigurierbarkeit.

Die Vernetzung

Linux ist eines der leistungsfähigsten und robustesten Netzwerksysteme überhaupt - da ist es kein Wunder, daß immer mehr Leute feststellen, daß Linux eine exzellente Wahl für einen Server ist. 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.

Die meisten TCP/IP-Netze benutzen Ethernet als physikalisches Transportmedium. Linux unterstützt viele weitverbreitete Ethernet-Karten und -Interfaces für PCs und Laptops. Außerdem unterstützt Linux Fast Ethernet, Gigabit Ethernet, ATM, ISDN, drahtlose LAN-Adapter, Token Ring, Packet Radio und eine Reihe von besonders leistungsfähigen Netzwerkschnittstellen.

Weil aber nicht jedermann einen Ethernet-Anschluß zu Hause hat, unterstützt Linux auch SLIP und PPP, die einen Anschluß an das Internet via Modem ermöglichen. Um SLIP oder PPP zu benutzen, brauchen Sie Zugang zu einem Einwahl-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 Server an. Wenn zu Ihrem Linux-System eine direkte Ethernet-Verbindung und ein Modem gehören, können Sie es sogar als Einwahl-Server für andere Rechner konfigurieren.

Linux unterstützt eine große Anzahl von Webbrowsern (darunter Netscape Navigator und dessen freie Variante Mozilla sowie den textbasierten Browser Lynx). Mit einem Webbrowser und einem mit dem Internet verbundenen Linux-Rechner können Sie im Web surfen, E-Mail lesen und schreiben, chatten, News lesen und viele andere webbasierte Dienste nutzen.

Icon

Kapitel 16

Linux unterstützt darüber hinaus auch eine Reihe von Webservern (einschließlich des beliebten und freien Servers Apache). Es wird sogar angenommen, daß die Kombination Linux/Apache die am weitesten verbreitete Webserver-Plattform ist. Die Einrichtung und Verwendung von Apache ist einfach; wir zeigen Ihnen in Kapitel 16, Das World Wide Web und E-Mail, wie das geht.

Samba ist eine Software, mit der Linux-Rechner Datei- und Druckdienste für Windows-Rechner leisten können. NFS ermöglicht Ihrem System die gemeinsame Nutzung von Dateien mit anderen Rechnern in einem Netzwerk. FTP (File Transfer Protocol) ermöglicht den Austausch von Dateien mit einem anderen Rechner im Netz.

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.

Weitere Netzwerkfunktionalitäten sind unter anderem NNTP-basierte elektronische Nachrichtensysteme wie C News und INN, die Mail Transfer Agents sendmail, exim und smail; telnet, rlogin, ssh und rsh, mit denen Sie sich auf anderen Rechnern im Netzwerk einloggen und dort Befehle ausführen können, sowie finger, womit Sie Informationen über andere Internetbenutzer abfragen können. Es gibt massenweise TCP/IP-basierte Anwendungen und Protokolle.

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 Standard-Interface 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. Die Administration der Netzwerkdienste von Linux wird all jenen, die Erfahrungen mit anderen Unix-Systemen haben, vertraut sein, denn die Werkzeuge zur Konfiguration und zur Überwachung ähneln denen aus der BSD-Umgebung.

Icon

Kapitel 15

In Kapitel 15, TCP/IP und PPP, werden wir die Konfiguration von TCP/IP, einschließlich SLIP, für Linux besprechen. Dort wird auch die Konfiguration von Mail-Software, Webbrowsern und Webservern 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/PPP-Server finden, können Sie Ihr System so konfigurieren, daß es Dateien und elektronische Post via UUCP versendet und empfängt.

Telekommunikation und BBS-Software

Telekommunikationssoftware unter Linux ist der von Windows oder anderen Betriebssystemen sehr ähnlich. Jedem, der schon einmal ein Telekommunikationsprogramm benutzt hat, wird das entsprechende Programm unter Linux vertraut vorkommen. 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. 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.

Icon

Anhang H

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. Zmodem für Linux wird in Anhang H, Zmodem-Dateiübertragung, besprochen.

Falls Sie keinen Zugang zu einem PPP-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.

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

Die Zusammenarbeit mit Windows und MS-DOS

Es existieren verschiedene Utilities für den Zugriff auf die Welt von Windows 95, Windows 98 und MS-DOS. Die bekannteste Anwendung ist ein Projekt namens Wine - ein Windows-Emulator für das X Window System unter Linux. Das Ziel dieses Projekts, das sich noch in der Entwicklung befindet, ist es, Microsoft Windows-Applikationen direkt unter Linux ablaufen lassen zu können, wie es auch mit dem proprietären Windows-Emulator WABI von Sun Microsystems möglich ist. Wine befindet sich in ständiger Weiterentwicklung und kann bereits eine Vielzahl von Windows-Programmen ausführen, darunter viele Desktop-Applikationen und mehrere Spiele. Unter http://www.winehq.com können Sie die Fortschritte in der Entwicklung des Projekts verfolgen.

Linux stellt eine nahtlose Schnittstelle für die Übertragung von Dateien zwischen Linux und Windows zur Verfügung. Sie können eine Windows-Partition oder -Diskette unter Linux in Ihren Dateibaum einhängen und auf die Windows-Dateien wie auf alle anderen zugreifen. Außerdem gibt es das Paket mtools, das direkten Zugriff auf MS-DOS-formatierte Disketten ermöglicht, und das Paket htools, das das Äquivalent für Macintosh-Disketten ist.

Eine weitere 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 es der Protected Mode der x86-CPUs 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 nutzen, wahrscheinlich keine Unterstützung finden werden, weil es sich nur um einen Emulator handelt. Sie würden zum Beispiel nicht erwarten, daß Programme, die die Möglichkeiten des Protected Mode nutzen (wie Microsoft Windows), im x86 Enhanced Mode laufen.

Zu den Anwendungen, die erfolgreich unter dem MS-DOS-Emulator von Linux laufen, gehören 4DOS (ein Befehls-Interpreter), Foxpro 2.0, Harvard Graphics, MathCad, Turbo Assembler, Turbo C/C++, Turbo Pascal, Microsoft Windows 3.0 (im real-Modus) 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 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 (aber nicht zur gleichen Zeit benutzen). Mit dem Boot-Loader LILO können Sie beim Booten angeben, welches Betriebssystem hochgefahren werden soll. Linux kann auch mit anderen Betriebssystemen wie zum Beispiel OS/2 koexistieren.

Icon

Kapitel 12

Wir zeigen Ihnen im Abschnitt »DOS-Emulatoren: Dosemu und xdos« in Kapitel 12, Kompatibilität mit Windows und Samba, wie man den MS-DOS-Emulator benutzt, zusammen mit anderen Methoden, Linux und Windows 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.

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 jegliche wissenschaftliche Anwendung 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 Window System wie xtetris, netrek und Xboard (das X-Frontend von gnuchess). Das Interesse an graphisch aufwendigen Spielen unter Linux steigt, und iD Software hat Quake, Quake II, Quake III und Doom auf Linux portiert. Eine Reihe von anderen Herstellern von PC-Spielen stellt ebenfalls Linux-Versionen bereit, und viele von ihnen geben sogar zu, daß sie ihre Software fast ausschließlich unter Linux entwikkeln.

Für Audiophile bietet Linux Unterstützung einiger Soundkarten und damit zusammenhängender Software, zum Beispiel 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? Freshmeat, im WWW zu finden unter http://www.freshmeat.net , ist ein beliebtes Verzeichnis freier Software, die fast ausnahmslos unter Linux läuft. Dieses Verzeichnis ist zwar bei weitem nicht vollständig, enthält aber trotzdem sehr viel Software. Schauen Sie sich das allein schon deswegen an, um zu sehen, wieviel Code schon für Linux geschrieben worden ist.

Wenn Sie absolut nicht das finden, was Sie brauchen, können Sie immer noch versuchen, die Anwendung von einer anderen Plattform nach Linux zu portieren. Oder Sie können, wenn alle Stricke reißen, das Programm selbst schreiben. Das ist der Geist der Freien Software: Wenn Sie wollen, daß etwas richtig gemacht wird, machen Sie es doch selbst!

 Fußnoten 1
Die Autoren verwenden ihre Linux-Systeme, um X-Anwendungen zu Hause zu entwickeln und zu testen. Diese Anwendungen können dann unmittelbar auf anderen Workstations übersetzt werden.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home | O'Reilly-Partnerbuchhandlungen | Bestellinformationen | Kontaktieren Sie uns
International | Über O'Reilly | Tochterfirmen

© 2000, O'Reilly Verlag