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.
Wir wollen uns jetzt dem X Window System zuwenden -- einem der mächtigsten und wichtigsten Softwarepakete für Linux. Falls Sie bereits mit X auf einem UNIX-System vertraut sind, haben Sie Glück -- X unter Linux unterscheidet sich kaum von X auf anderen Systemen. Falls Sie noch keine Gelegenheit hatten, X zu benutzen, fürchten Sie sich nicht: Die Rettung ist nahe.
Es ist schwierig, das X Window System in aller Kürze zu beschreiben. X ist eine vollständige, grafische Bedienoberfläche für UNIX-Systeme. Es enthält eine riesige Anzahl an Optionen sowohl für den Programmierer als auch für den Benutzer. So gibt es z.B. mindestens ein halbes Dutzend Fenster-Manager (window managers) für X, von denen jeder einen anderen Ansatz zur Handhabung der Fenster bietet; indem Sie die Attribute des Fenster-Managers verändern, gewinnen Sie die Kontrolle über die Plazierung der Fenster auf dem Bildschirm, die Farben und Umrandungen der Fenster usw.
X wurde ursprünglich vom Projekt Athena am MIT und der Digital Equipment Corporation entwickelt. Die aktuelle Version ist 11, mit dem Revisionslevel 6 (X11R6); diese Version wurde im April 1994 herausgebracht. Seit der Freigabe der Version 11 ist X zum Standard bei grafischen Bedienoberflächen für UNIX geworden. X wird heute vom X-Konsortium entwickelt und verteilt; das X-Konsortium besteht aus einer Reihe von großen Computerherstellern.
Trotz der kommerziellen Nutzung kann das X Window System weiter unter einer freizügigen Lizenz des X-Konsortiums verteilt werden. Unter dieser Lizenz ist eine komplette Implementierung von X für Linux-Systeme frei verfügbar. Unter Linux wird XFree86 eingesetzt, eine Implementierung von X für UNIX-Systeme auf Intel-Rechnern. Diese Version entstand aus dem X386-Server auf dem Original-MIT-Band und enthält einige Erweiterungen und Optimierungen für Grafikhardware, die in Linux- und anderen Intel-UNIX-Systemen häufig eingesetzt wird.
In diesem Abschnitt werden wir (kurz) die Installation und Konfiguration von X auf Ihrem System besprechen; anschließend tauchen wir ein in die chaotische Welt der persönlichen Anpassung von X aus der Sicht eines Benutzers. Wir werden auch eine Reihe von Anwendungsprogrammen vorstellen, die unter X laufen und Ihnen zeigen, wie Sie diese umfangreiche Software nutzen, ohne von ihrer Komplexität erschlagen zu werden.
X basiert auf dem Client/Server-Modell; dabei ist der X- Server ein Programm, das auf Ihrem System läuft und alle Zugriffe auf die Grafikhardware abwickelt. Ein X- Client ist ein Anwendungsprogramm, das mit dem Server kommuniziert, indem es solche Anforderungen wie: »Zeichne eine Linie« oder: »Werte Tastatureingaben aus« an den Server stellt. Der X-Server zeichnet dann die Linie auf den Bildschirm oder reicht Eingaben des Benutzers (per Tastatur, Maus oder sonstwie) an das Client-Programm weiter, um solche Anforderungen zu erfüllen. Beispiele für X-Anwendungen sind xterm (eine Terminalemulation innerhalb eines Fensters) und xman (ein X-basierter Reader für Manual-Pages).
Es muß darauf hingewiesen werden, daß X ein Netzwerk-fähiges grafisches System ist. Das bedeutet: Die X-Clients können sowohl lokal (auf demselben Rechner wie der Server) als auch remote (auf einem Rechner irgendwo in einem TCP/IP-Netzwerk) laufen. Der X-Server nimmt Anforderungen von Clients auf lokalen ebenso wie auf entfernten Netzwerk-Sockets entgegen. Offensichtlich verleiht dies dem X Window System enorme Flexibilität. Wenn Sie über eine Verbindung zu einem TCP/IP-Netzwerk verfügen, haben Sie die Möglichkeit, über das Netzwerk in ein anderes System einzuloggen, dort ein Anwendungsprogramm zu starten und die Ausgaben des Programms von Ihrem lokalen X-Server darstellen zu lassen.
Wir sollten noch ein anderes Konzept von X erwähnen: das Fenster-Management . Clients, die unter X laufen, werden in einem oder mehreren Fenstern dargestellt. Es ist allerdings nicht der X-Server, der bestimmt, wie die Fenster verwaltet werden (wo sie erscheinen, wie ihre Größe verändert wird usw.) und wie sie aussehen (die Art der Rahmen). Statt dessen läuft neben den anderen X-Clients noch ein Client, der als Window-Manager bezeichnet wird; dieser Window-Manager übernimmt die Verwaltung der Fenster. Das »Look-and-Feel« Ihrer X-Arbeitsumgebung hängt zum Teil davon ab, für welchen Fenster-Manager Sie sich entscheiden.
Mit der XFree86-Version 3.1 vom September 1994 werden die unten genannten Grafikchipsätze unterstützt. Die Dokumentation zu Ihrer Grafikkarte sollte darauf hinweisen, welchen Chipsatz die Karte benutzt. Falls Sie demnächst eine neue Grafikkarte anschaffen oder auf ein neues System mit eingebauter Grafikkarte umsteigen wollen, sollten Sie sich vom Händler genau erklären lassen, um welches Fabrikat, welches Modell und welchen Chipsatz es sich handelt. Es kann sein, daß der Händler erst nachfragen muß, bevor er Ihre Fragen beantworten kann; die meisten Händler werden dies für Sie tun. Viele Händler werden Ihnen mitteilen, daß es sich um eine »Standard-SVGA-Karte« handelt, die in Ihrem System »funktionieren sollte«. Weisen Sie dann darauf hin, daß Ihre Software (erwähnen Sie Linux und XFree86!) nicht alle Grafik-Chipsets unterstützt und daß Sie genaue Informationen brauchen.
Sie können auch mit dem Programm SuperProbe aus der XFree86-Distribution feststellen, welchen Chipsatz Ihre Grafikkarte benutzt. Wir gehen weiter unten noch genauer darauf ein.
Die folgenden Standard-SVGA-Chipsätze werden unterstützt:
Außerdem werden folgende beschleunigte SVGA-Chipsätze unterstützt:
Grafikkarten mit diesen Chipsets werden für alle Bussysteme einschließlich VLB und PCI unterstützt.
Alle hier erwähnten Chipsätze außer Avance Logic, MX und Video 7 (nur 256 Farben) werden sowohl mit 256 Farben als auch monochrom unterstützt. Viele dieser Chipsätze werden auch mit 16 und 32 Bits Farbtiefe unterstützt, falls Ihre Grafikkarte über ausreichend DRAM verfügt (insbesondere einige der Mach32-, P9000-, S3- und Cirrus-Karten). Die übliche Konfiguration ist 8 Bits Farbtiefe, d.h. 256 Farben.
Der Server für den Monochrom-Modus unterstützt außerdem generische VGA-Karten, monochrome Hercules-Karten, die Hyundai HGC1280, die Sigma LaserView sowie monochrome Apollo-Karten. Mit der AVGA-Karte von Compaq unterstützt der Monochrom-Server nur 64K an Videospeicher, und die GVGA-Karte ist noch nicht mit mehr als 64K getestet worden.
Diese Liste wird im Laufe der Zeit sicherlich erweitert werden. Die Release-Notes der aktuellen Version von XFree86 sollten eine komplette Liste der unterstützten Chipsätze enthalten.
Eines der Probleme, mit denen sich die Entwickler von XFree86 konfrontiert sehen, sind die unüblichen Mechanismen, die einige Hersteller von Grafikkarten einsetzen, um die Frequenzen (clock frequencies) zu bestimmen, mit denen die Karten betrieben werden. Manche dieser Hersteller geben entweder keine Unterlagen zur Programmierung der Karte heraus oder sie verlangen von den Entwicklern eine Unterschrift unter einem Non-disclosure-Abkommen (etwa: Nicht-Veröffentlichung), bevor die Informationen freigegeben werden. Damit wäre offensichtlich die freie Verteilung von XFree86-Software nicht mehr möglich; darauf wollen sich die Entwickler von XFree86 nicht einlassen. Dieses Problem bestand z.B. beim Hersteller Diamond. Seit der Version 3.1 von XFree86 hat Diamond allerdings mit dem Entwicklerteam zusammengearbeitet, um freie Treiber für diese Karten zur Verfügung zu stellen.
Wir empfehlen, für XFree86 unter Linux einen 486er Rechner mit mindestens 8 Megabytes RAM sowie eine Grafikkarte mit einem der oben erwähnten Chipsätze einzusetzen. Wenn Sie Wert auf wirklich schnelles Arbeiten legen, sollten Sie eine beschleunigte Karte wie etwa eine mit S3-Chipset benutzen. Prüfen Sie anhand der Dokumentation zu XFree86, ob Ihre spezielle Karte unterstützt wird, bevor Sie den Sprung wagen und teure Hardware anschaffen. In den USENET-Gruppen comp.windows.x.i386unix und comp.os.linux.misc werden regelmäßig die Ergebnisse von Benchmarks mit verschiedenen Grafikkarten unter XFree86 veröffentlicht.
Nebenbei bemerkt: Mein (Matts) eigenes Linux-System ist ein 486DX2-66 mit 20 Megabytes RAM und einer VLB-Karte mit S3-864-Chipset mit 2 Megabytes DRAM. Ich habe sowohl auf diesem Rechner als auch auf einer Sun Sparc IPX-Workstation X-Benchmarks laufen lassen. Das Linux-System ist etwa sieben Mal so schnell wie die Sparc IPX (für die Neugierigen: XFree86-3.1 unter Linux schafft mit dieser Grafikkarte etwa 171.000 XStones; die Sparc IPX schafft ca. 24.000). Im allgemeinen werden Sie unter XFree86 auf einem Linux-System mit beschleunigter SVGA-Karte wesentlich schneller arbeiten als auf kommerziellen UNIX-Workstations (die in der Regel für die Grafik einfache Frame-Buffer benutzen).
Sie sollten Ihren Rechner mindestens mit vier Megabytes an physikalisch vorhandenem RAM und 16 MBytes virtuellem Speicher ausstatten (z.B. acht MBytes RAM plus acht MBytes Swap-Space). Denken Sie daran: Je mehr RAM vorhanden ist, desto weniger muß das System aufgrund knappen Speichers swappen. Weil das Auslagern und Zurückladen extrem langsam geschieht (Festplatten sind im Vergleich zum Speicher sehr langsam), brauchen Sie acht Megabytes an RAM oder mehr, um mit XFree86 komfortabel arbeiten zu können. Die Leistung eines Systems mit nur vier MBytes RAM könnte gegenüber einem System mit acht oder mehr MBytes an RAM wesentlich zurückfallen (bis auf ein Zehntel).
Die binäre Distribution von XFree86 für Linux finden Sie auf einer Reihe von FTP-Rechnern. Auf sunsite.unc.edu steht sie im Verzeichnis /pub/Linux/X11 . (Zum Zeitpunkt des Schreibens ist 3.1 die aktuelle Version; neue Versionen werden immer wieder einmal freigegeben.)
Es ist sehr wahrscheinlich, daß Sie als Teil Ihrer Linux-Distribution auch XFree86 erhalten haben; in diesem Fall brauchen Sie die Software nicht mehr auf Ihren Rechner herunterzuladen. Für den Fall, daß Sie XFree86 direkt auf Ihren Rechner übertragen möchten, listen wir in den folgenden Tabellen alle Dateien der XFree86-3.1-Distribution auf.
Sie brauchen einen der folgenden Server:
Datei Beschreibung --------------------------------------------------------------- XF86-3.1-8514.tar.gz Server für Karten auf 8514-Basis XF86-3.1-AGX.tar.gz Server für Karten auf AGX-Basis XF86-3.1-Mach32.tar.gz Server für Karten auf Mach32-Basis XF86-3.1-Mach8.tar.gz Server für Karten auf Mach8-Basis XF86-3.1-Mono.tar.gz Server für monochrome Grafikmodi XF86-3.1-P9000.tar.gz Server für Karten auf P9000-Basis XF86-3.1-S3.tar.gz Server für Karten auf S3-Basis XF86-3.1-SVGA.tar.gz Server für SVGA-Karten XF86-3.1-VGA16.tar.gz Server für VGA/EGA-Karten XF86-3.1-W32.tar.gz Server für Karten auf ET4000/W32-Basis
Sie brauchen folgende Dateien:
Datei Beschreibung ---------------------------------------------------------------- XF86-3.1-bin.tar.gz Der Rest der X11R6-Binaries XF86-3.1-cfg.tar.gz Konfigurationsdateien für xdm, xinit und fs XF86-3.1-doc.tar.gz Dokumentation und Manual-Pages XF86-3.1-inc.tar.gz Include-Dateien XF86-3.1-lib.tar.gz Shared Libraries für X und weitere Dateien XF86-3.1-fnt.tar.gz Einige Fonts
Diese Dateien sind optional:
Datei Beschreibung ---------------------------------------------------------------------- XF86-3.1-ctrb.tar.gz Verschiedene contrib-Programme XF86-3.1-extra.tar.gz Weitere XFree86-Server und -Binaries XF86-3.1-lkit.tar.gz Server-Linkkit zur individuellen Anpassung XF86-3.1-fnt75.tar.gz 75-dpi-Bildschirmfonts XF86-3.1-fnt100.tar.gz 100-dpi-Bildschirmfonts XF86-3.1-fntbig.tar.gz Große Kanji- und andere Fonts XF86-3.1-fntscl.tar.gz Skalierte Fonts (Speedo, Type1) XF86-3.1-man.tar.gz Manual-Pages XF86-3.1-pex.tar.gz PEX-Binaries mit Include- und Library-Dateien XF86-3.1-slib.tar.gz Statische X-Libraries und weitere Dateien XF86-3.1-usrbin.tar.gz Daemonen, die in /usr/bin stehen XF86-3.1-xdmshdw.tar.gz Shadow-Paßwort-Version von xdm
Das XFree86-Verzeichnis sollte README -Dateien und Hinweise für die Installation der vorliegenden Version enthalten.
übertragen Sie die oben erwähnten Dateien auf Ihren Rechner. Legen Sie dann (als root) das Verzeichnis /usr/X11R6 an. Entpacken Sie anschließend diese Dateien mit einem Befehl wie:
# gzip -dc XF86-3.1-bin.tar.gz | tar xfB -
Denken Sie daran, daß diese tar-Dateien von /usr/X11R6 aus erstellt wurden; deshalb ist es wichtig, daß Sie von diesem Verzeichnis aus entpacken.
Nach dem Entpacken müssen Sie zunächst einen Verweis von der Datei /usr /X11R6/bin/X auf den von Ihnen benutzten Server einrichten. Wenn Sie z.B. den SVGA-Farb-Server benutzen möchten, legen Sie einen Link von /usr/bin/X11/X auf /usr/X11R6/bin/XF86_SVGA . Wenn Sie statt dessen den monochromen Server benutzen wollen, legen Sie mit folgendem Befehl den Link um auf die Datei XF86_MONO :
# ln -sf /usr/X11R6/bin/XF86_MONO /usr/X11R6/bin/X
Gehen Sie genau so vor, wenn Sie mit einem der anderen Server arbeiten möchten.
Wenn Sie nicht sicher sind, welchen Server Sie benutzen sollten oder wenn Sie den Chipsatz Ihrer Grafikkarte nicht kennen, sollten Sie das Programm SuperProbe im Verzeichnis /usr/X11R6/bin aufrufen (ist im oben erwähnten XF86-3.1-bin -Archiv enthalten). Dieses Programm wird versuchen, den Chipsatz Ihrer Grafikkarte und weitere Informationen zu bestimmen; schreiben Sie sich die Antworten auf, damit Sie später einmal nachschlagen können.
Sie müssen noch sicherstellen, daß /usr/X11R6/bin in Ihrer PATH-Variablen enthalten ist. Editieren Sie zu diesem Zweck entweder /etc/profile oder /etc/csh.login (je nachdem, mit welcher Shell Sie oder andere Benutzer des Systems arbeiten). Sie haben auch die Möglichkeit, das Verzeichnis einfach in Ihre persönliche Path-Variable einzutragen, indem Sie /etc/.bashrc bzw. /etc/.cshrc entsprechend ergänzen.
Sie müssen außerdem dafür sorgen, daß der Runtime-Linker ld.so das Verzeichnis /usr/X11R6/lib finden kann. Tragen Sie dazu folgende Zeile in der Datei /etc /ld.so.conf ein:
/usr/X11R6/lib
und rufen Sie dann als root das Programm /sbin/ldconfig auf.
In den meisten Fällen ist es nicht schwierig, XFree86 zu konfigurieren. Wenn Sie allerdings Hardware benutzen, für die Treiber gerade entwickelt werden oder wenn Sie mit einer beschleunigten Grafikkarte die bestmögliche Geschwindigkeit und Auflösung ausnutzen möchten, kann die Konfiguration einige Zeit in Anspruch nehmen.
In diesem Abschnitt werden wir beschreiben, wie die Datei XF86Config aussehen soll, mit deren Hilfe der XFree86-Server konfiguriert wird. In vielen Fällen ist es sinnvoll, mit einer »Basiskonfiguration« für XFree86 zu starten, also eine niedrige Auflösung zu benutzen. Eine sinnvolle Einstellung ist 640x480, die von allen Grafikkarten und Monitoren unterstützt werden sollte. Sobald Sie XFree86 in dieser niedrigen Standardauflösung ans Laufen gebracht haben, können Sie sich daranmachen eine Konfiguration zu finden, die die Möglichkeiten Ihrer Grafikhardware ausnutzt. Die Idee dahinter ist, zunächst einmal XFree86 auf Ihrem System überhaupt zum Laufen zu bringen und sicherzustellen, daß alles funktioniert, bevor Sie sich an die manchmal etwas schwierige Aufgabe machen, die optimale XFree86-Konfiguration zu finden.
Außer den Informationen, die Sie hier vorfinden, sollten Sie noch folgendes lesen:
Die wichtigste Konfigurationsdatei, die Sie anlegen müssen, ist /usr/X11R6/lib /X11/XF86Config . Diese Datei enthält Informationen über Ihre Maus, Ihre Grafikkarte usw. Mit der XFree86-Distribution wird als Beispiel die Datei XF86Config.eg ausgeliefert. Wenn Sie diese Datei nach XF86Config kopieren und dann editieren, haben Sie einen geeigneten Ausgangspunkt gefunden.
Die Manual-Page zu XF86Config beschreibt im Detail das Format dieser Datei. Lesen Sie diese Man-Page jetzt, falls Sie das noch nicht getan haben.
Wir werden in kleinen Schritten ein Beispiel für eine XF86Config -Datei vorstellen. Diese Datei sieht nicht unbedingt so aus, wie das Beispiel in der XFree86-Distribution, aber der Aufbau ist derselbe.
Das Format der Datei XF86Config kann sich mit neuen Versionen von XFree86 ändern; wir beziehen uns auf die Version 3.1.
Auf keinen Fall sollten Sie unser Beispiel einfach für Ihr System
übernehmen. Wenn Sie versuchen, eine Konfigurationsdatei zu benutzen, die
nicht an Ihre Hardware angepaßt ist, könnte Ihr Monitor mit einer
zu hohen Zeilenfrequenz betrieben werden; es hat Berichte über Monitore
gegeben (insbesondere solche mit fester Zeilenfrequenz), die durch Benutzung
einer ungeeigneten
XF86Config
-Datei beschädigt oder zerstört wurden. Was wir damit sagen wollen:
Stellen Sie auf jeden Fall sicher, daß Ihre
XF86Config
-Datei an Ihre Hardware angepaßt wird, bevor Sie damit arbeiten.
Die einzelnen Abschnitte der Datei
XF86Config
sind von den beiden Zeilen Section "
abschnitt
"...EndSection umschlossen. Der erste Abschnitt in
XF86Config
heißt Files und sieht etwa so aus:
Die Zeile RgbPath weist den Weg zur RGB-Datenbank für X11R6, und jede der
FontPath-Zeilen verweist auf ein Verzeichnis, das X11-Fonts enthält. In
der Regel werden Sie diese Zeilen nicht editieren müssen; achten Sie aber
darauf, daß es zu jedem installierten Fonttyp einen FontPath-Eintrag
gibt (d.h., zu jedem Verzeichnis unterhalb von
/usr/X11R6/lib/X11/fonts
).
Der nächste Abschnitt heißt ServerFlags und enthält einige
globale Flags für den Server. Dieser Abschnitt ist meistens leer:
In diesem Fall sind alle Zeilen dieses Abschitts auskommentiert.
Der folgende Abschnitt heißt Keyboard:
Es gibt einige weitere Optionen -- schauen Sie sich die Datei
XF86Config
an, falls Sie vorhaben, das Verhalten der Tastatur zu verändern. Die hier
gezeigten Einstellungen sollten auf den meisten Systemen funktionieren.
Es folgt der Abschnitt Pointer, in dem Mausparameter definiert werden:
Hier müssen Sie sich nur mit Protocol und Device befassen. Protocol
bezeichnet das
Protokoll
, das Ihre Maus benutzt (nicht den Hersteller oder das Modell). Gültige
Einträge für Protocol (unter Linux -- andere Betriebsysteme kennen
andere Protokolle) sind:
Für die Busmaus von Logitech sollten Sie BusMouse wählen. Beachten
Sie, daß ältere Mäuse von Logitech das Protokoll Logitech,
neuere Logitech-Mäuse dagegen eines der Protokolle Microsoft oder
Mouseman benutzen. In diesem Fall stimmt das Protokoll nicht unbedingt mit dem
Maustyp überein.
Device bezeichnet die Gerätedatei, über die die Maus angesprochen
wird. Auf den meisten Linux-Systemen ist das
/dev/mouse
.
/dev/mouse
ist bei seriellen Mäusen in der Regel ein Link auf die entsprechende
serielle Schnittstelle (etwa
/dev /cua0
), und bei Busmäusen auf den entsprechenden Busmaustreiber. Stellen Sie
auf jeden Fall sicher, daß die Gerätedatei, die hinter Device
angegeben wird, tatsächlich existiert.
Der nächste Abschnitt heißt Monitor; hier werden die Eigenschaften
Ihres Monitors beschrieben. Wie auch andere Abschnitte aus der Datei
XF86Config
kann dieser Abschnitt mehrmals auftauchen. Das ist nützlich, wenn Sie an
Ihrem Rechner mehr als einen Monitor betreiben oder wenn Sie für
verschiedene Hardwarekonfigurationen dieselbe Datei
XF86Config
benutzen. Im allgemeinen werden Sie allerdings nur einen Monitor-Abschnitt
benötigen:
In der Zeile Identifier bekommt der Monitor-Eintrag einen frei wählbaren
Namen. Dies kann eine beliebige Zeichenfolge sein; dieser Name wird weiter
unten in der Datei
XF86Config
benutzt, um auf diesen Eintrag Bezug zu nehmen.
HorizSync bezeichnet die gültigen horizontalen Zeilenfrequenzen (in kHz)
für Ihren Monitor. Bei Multisync-Monitoren können Sie einen
Frequenzbereich (oder mehrere, durch Kommata getrennt) angeben -- siehe oben.
Für Monitore mit fester Frequenz finden Sie hier eine Liste der
möglichen Werte, z.B.:
Das Handbuch zu Ihrem Monitor sollte unter den technischen Spezifikationen
auch diese Werte enthalten. Falls Sie diese Informationen nicht auffinden
können, sollten Sie sie vom Hersteller oder vom Händler Ihres
Monitors erfragen. Es gibt einige andere Quellen für solche
Informationen; weiter unten finden Sie eine Liste.
VertRefresh bezeichnet die gültigen vertikalen Bildwiederholfrequenzen
Ihres Monitors (in Hz). Wie bei HorizSync können auch hier Bereiche oder
eine Liste mit festen Werten angegeben werden; sehen Sie in Ihrem
Monitorhandbuch nach.
Die Werte HorizSync und VertRefresh werden nur benutzt, um zu prüfen, ob
die von Ihnen angegebenen Auflösungen für den Bildschirm innerhalb
gültiger Bereiche liegen. Damit verringert sich die Wahrscheinlichkeit,
daß Sie den Monitor beschädigen, wenn Sie versuchen, ihn mit einer
ungeeigneten Frequenz zu betreiben.
Mit der Anweisung ModeLine spezifizieren Sie eine mögliche Auflösung
für Ihren Monitor. ModeLine hat das Format:
Der
Name
ist eine beliebige Zeichenfolge; mit diesem Namen werden Sie diese
Auflösung weiter unten in der Datei bezeichnen. Die
Dot-Clock
ist die Pixelfrequenz (auch im deutschen oft als »Dot-Clock«
bezeichnet), die zu dieser Auflösung gehört. Die Dot-Clock wird in
der Regel in MHz angegeben und bezeichnet die Frequenz, mit der die
Grafikkarte bei dieser Auflösung Pixel an den Monitor schicken muß.
Die
Horiz-Werte
und
Vertik-Werte
bestehen jeweils aus vier Zahlen, die festlegen, wann die Strahlenkanone des
Monitors eingeschaltet wird und wann die Signale zur horizontalen und
vertikalen Synchronisation (Sync-Signale) erzeugt werden.
Wie bestimmen Sie für Ihren Monitor die Werte in der Zeile ModeLine? In
der Datei
VideoModes.doc
, die mit XFree86 ausgeliefert wird, finden Sie eine detaillierte
Beschreibung, wie Sie für alle Videomodi Ihres Bildschirms diese Werte
ermitteln können. Zunächst einmal muß die
Dot-Clock
zu einem der Pixelfrequenzwerte passen, die Ihre Grafikkarte erzeugen kann.
Weiter unten in der Datei
XF86Config
werden Sie diese Dot-Clock-Werte eintragen; Sie können nur solche
Grafikmodi benutzen, deren Dot-Clock von Ihrer Grafikkarte unterstützt
wird.
Eventuell finden Sie zu Ihrem Monitor passende Daten für die
ModeLine-Zeilen in einer der beiden Dateien
modeDB.txt
und
Monitors
; beide Dateien stehen im Verzeichnis
/usr/X11R6/lib/X11/doc
.
Sie sollten mit den ModeLine-Werten für den VESA-Standard beginnen, der
von den meisten Monitoren unterstützt wird. In
modeDB.txt
finden Sie Werte für die Standard-VESA-Auflösungen; Sie werden dort
Einträge wie den folgenden vorfinden:
Dies sind die VESA-Standardwerte für die Auflösung 640x480. Die
Dot-Clock ist 25.175 MHz, die also auch von Ihrer Grafikkarte unterstützt
werden muß, damit Sie in diesem Videomodus arbeiten können (mehr
dazu weiter unten).
Wenn Sie diesen Modus benutzen möchten, müssen Sie die Zeile:
in
XF86Config
eintragen.
Beachten Sie, daß der
Name
in der ModeLine-Zeile (in diesem Beispiel "640x480") frei wählbar ist --
üblicherweise wird der Modus nach der Auflösung benannt, aber Sie
können einen beliebigen aussagekräftigen
Namen
wählen.
Der Server wird jede ModeLine-Zeile daraufhin überprüfen, ob die
angegebenen Werte innerhalb der Werte liegen, die durch
Horiz-Werte
und
Vertik-Werte
vorgegeben sind. Falls das nicht der Fall ist, wird der Server beim Start von
X eine Fehlermeldung ausgeben (mehr dazu weiter unten).
Für den Fall, daß Sie mit den Werten für den VESA-Standard
nicht zurechtkommen (Sie werden das beim Ausprobieren feststellen), finden Sie
in den Dateien
modeDB.txt
und
Monitors
die genauen Werte für eine ganze Reihe von Monitoren. Sie können
Ihre Einträge in den ModeLine-Zeilen auch aus den Daten in diesen beiden
Dateien erzeugen. Benutzen Sie nur die Werte, die sich genau auf Ihren Monitor
beziehen. Beachten Sie, daß viele 14- und 15-Zoll-Monitore keine
höheren Auflösungen unterstützen und 1024x768 oft nur bei einer
niedrigen Pixelfrequenz. Das bedeutet: Falls Sie in diesen Dateien keine Modi
mit höheren Auflösungen finden, kann es sein, daß Ihr Monitor
solche Modi nicht unterstützt.
Wenn Sie für Ihren Monitor absolut keine passenden ModeLine-Werte finden
können, haben Sie noch die Möglichkeit, aus den Unterlagen zu Ihrem
Monitor diese Werte anhand der Beschreibung in
VideoModes.doc
zu ermitteln; diese Datei ist Bestandteil der XFree86-Distribution. Sie
können mehr oder weniger Glück dabei haben, wenn Sie die Werte
für ModeLine von Hand ermitteln, aber solange Sie keine fertigen
Einträge vorfinden, sollten Sie auf jeden Fall einen Blick in diese Datei
werfen. In
VideoModes.doc
finden Sie auch eine Beschreibung der ModeLine-Anweisung sowie weiterer
Aspekte des XFree86-Servers in überwältigendem Detailreichtum.
Hier noch ein Hinweis: Wenn Sie ModeLine-Werte finden, die fast, aber nicht
ganz passen, kommen Sie vielleicht ans Ziel, indem Sie diese Werte ein wenig
anpassen. Falls z.B. bei der Arbeit mit XFree86 der Bildschirminhalt leicht
verschoben ist oder das Bild zu »rollen« scheint, können Sie
mit Hilfe der Anleitung in
VideoModes.doc
versuchen, dies zu beheben. Überprüfen Sie auch einmal die
Einstellungen am Monitor selbst! Häufig muß nach dem Start von
XFree86 die horizontale oder vertikale Bildlage angepaßt werden, damit
der Bildschirminhalt weiterhin in der richtigen Grösse und Lage
erscheint. Hierbei zeigt sich, welche Vorteile ein Monitor hat, dessen
Bedienelemente an der Vorderseite angebracht sind.
Sie sollten Ihren Monitor niemals mit den Frequenz- oder ModeLine-Werten
anderer Geräte betreiben. Es kann sein, daß Sie ihn
beschädigen oder gar zerstören, wenn Sie versuchen, den Monitor mit
einer ungeeigneten Frequenz laufen zu lassen.
Der nächste Abschnitt der Datei
XF86Config
heißt Device; hier werden Parameter für Ihre Grafikkarte gesetzt.
Ein Beispiel:
Dieser Abschnitt gibt die Werte für eine bestimmte Grafikkarte an. Der
Identifier ist eine beliebige Zeichenfolge zur Benennung der Karte;
später werden Sie sich unter diesem Namen auf diese Karte beziehen.
Zunächst werden wir keinerlei Einträge im Abschnitt Device vornehmen
-- außer dem Identifier. Wir werden nämlich den X-Server selbst die
Eigenschaften der Grafikkarte herausfinden lassen, um sie dann im Abschnitt
Device einzutragen. Der XFree86-Server ist in der Lage, den Grafikchipsatz,
die Frequenzen, den RAMDAC und das vorhandene Video-RAM zu ermitteln.
Vorher müssen wir allerdings noch die Datei
XF86Config
komplettieren. Der nächste Abschnitt heißt Screen; hier wird die
Kombination aus Monitor und Grafikkarte bestimmt, die für einen
bestimmten Server benutzt werden soll.
Die Zeile Driver gibt an, welchen X-Server Sie benutzen werden. Driver kann
folgende Werte annehmen:
Achten Sie darauf, daß
/usr/X11R6/bin/X
ein symbolischer Link auf den Server ist, den Sie benutzen.
(Im Abschnitt
»
Symbolische Verknüpfungen
«
in
Kapitel 3
zeigen wir, wie ein symbolischer Link angelegt wird.)
Die Zeile Device enthält den Identifier aus dem Abschnitt Device. Weiter
oben haben wir den Device-Abschnitt mit der Zeile:
erstellt. Deshalb wird "#9 GXE 64" hier in die Device-Zeile eingetragen.
In ähnlicher Weise enthält die Zeile Monitor den Namen des
Monitor-Abschnitts, der mit diesem Server benutzt werden soll. In diesem
Beispiel ist "CTX 5468 NI" der Identifier aus dem weiter oben erstellten
Abschnitt Monitor.
In Subsection »Display« werden einige Eigenschaften des
XFree86-Servers für Ihre Kombination aus Monitor und Grafikkarte
beschrieben. Alle diese Optionen werden in
XF86Config
im Detail beschrieben; die meisten davon sind quasi die Sahne im Kaffee und
für das Funktionieren des Systems nicht unbedingt notwendig.
Folgende Optionen sollten Sie kennen:
Der erste hier eingetragene Modus wird von XFree86 als Voreinstellung benutzt.
Nach dem Start von XFree86 können Sie mit den Tastenkombinationen
CTRL-ALT + dem Plus- bzw. Minuszeichen im Ziffernblock zwischen den hier
aufgeführten Modi hin- und herschalten.
Vielleicht ist es eine gute Idee, XFree86 zunächst mit einer niedrigen
Auflösung zu konfigurieren, etwa 640x480 -- diese Auflösung
funktioniert auf den meisten Systemen. Wenn Sie dann eine funktionierende
Konfiguration gefunden haben, können Sie
XF86Config
so anpassen, daß auch höhere Auflösungen unterstützt
werden.
Mit Virtual können Sie zwar den Speicher Ihrer Grafikkarte ausnutzen,
aber die Möglichkeiten sind doch irgendwie eingeschränkt. Wenn Sie
mit einer richtigen virtuellen Arbeitsfläche arbeiten möchten,
sollten Sie statt dessen den Fenster-Manager
fvwm
benutzen. Mit
fvwm
steht Ihnen eine ziemlich große virtuelle Arbeitsfläche zur
Verfügung (z.B. durch versteckte Fenster realisiert, statt den kompletten
Inhalt der Arbeitsfläche im Bildschirmspeicher zu halten). In der
Manual-Page zu
fvwm
finden Sie Details zu diesem Punkt; die meisten Linux-Systeme benutzen
fvwm
als Voreinstellung.
Es gibt viele weitere Optionen für diesen Abschnitt; in der Manual-Page
zu
XF86Config
finden Sie eine vollständige Beschreibung. Allerdings brauchen Sie diese
Optionen nicht, um XFree86 überhaupt zu starten.
Bis auf die kompletten Informationen zu Ihrer Grafikkarte ist die Datei
XF86Config
jetzt fertig. Wir werden den X-Server selbst die fehlenden Informationen
ermitteln lassen und sie dann in
XF86Config
eintragen.
Statt diese Informationen für die Datei
XF86Config
vom X-Server ermitteln zu lassen, können Sie die Werte für viele
Grafikkarten auch in den Dateien
modeDB.txt
,
AccelCards
und
Devices
nachschlagen. Alle diese Dateien stehen in
/usr/X11R6 /lib/X11/doc
. Außerdem gibt es verschiedene
README
-Dateien für bestimmte Chipsätze. Sie sollten in allen diesen
Dateien nachsehen, ob Sie dort Informationen zu Ihrer Grafikkarte finden, und
diese Informationen (Dot-Clock-Werte, Chipsatz, Optionen) in
XF86Config
eintragen. Für den Fall, daß Sie irgendeine Information nicht
finden können, zeigen wir Ihnen hier, wie der X-Server sie ermittelt.
In diesen Beispielen zeigen wir die Konfiguration für die Grafikkarte #9
GXE 64 mit dem XF86_S3-Chipsatz. Das ist zufälligerweise die Karte, die
der Schreiber benutzt, aber was wir hier besprechen gilt auch für andere
Karten.
Als erstes müssen Sie feststellen, welchen Chipsatz Ihre Grafikkarte
benutzt. Sie erhalten diese Information, indem Sie
SuperProbe
aufrufen (steht in
/usr/X11R6 /bin
), aber Sie brauchen dazu den Namen des Chipsatzes, wie ihn der X-Server
kennt.
Mit dem Befehl:
erhalten Sie eine Liste aller Chipsets, die Ihr X-Server kennt. (Auch die
Manual-Pages zu den X-Servern enthalten diese Namen.) Für den
beschleunigten Server XF86_S3 erhalten wir die Ausgabe:
Die gültigen Chipsatznamen für diesen Server sind also mmio_928 und
s3_generic. In der Manual-Page zu XF86_S3 werden diese Chipsätze
beschrieben und Sie erfahren dort, welche Karten diese Chipsätze
benutzen. Für die Grafikkarte #9 GXE 64 ist mmio_928 korrekt.
Falls Sie nicht wissen, welchen Chipsatz Sie nehmen sollen, kann der X-Server
das für Sie herausfinden. Geben Sie dazu:
ein, wenn Sie mit der
bash
arbeiten. In der
csh
versuchen Sie es mit:
Sie sollten diesen Befehl aufrufen, wenn das System nicht unter Last
läuft, d.h., daß keine anderen Programme aktiv sein sollten. Dieser
Befehl ermittelt auch die Dot-Clocks für Ihre Grafikkarte (siehe unten),
und andere aktive Programme könnten diese Berechnung
durcheinanderbringen.
Die Ausgabe des o.a. Befehls (in der Datei
/tmp/x.out
) sollte etwa folgendes enthalten:
Hier sehen wir, daß mmio_928 und s3_generic die beiden gültigen
Chipsätze für diesen Server (XF86_S3) sind. Der Server hat eine
Karte gefunden, die den mmio_928 benutzt.
Tragen Sie jetzt im Abschnitt Device der Datei XF86Config eine Chipset-Zeile
ein, die den Namen des vorgefundenen Chipsatzes enthält. Ein Beispiel:
Als nächstes müssen wir die Clock-Frequenzen ermitteln, die die
Grafikkarte benutzt. Die Clock-Frequenz, oder Dot-Clock, gibt einfach die
Geschwindigkeit an, mit der die Grafikkarte Pixel an den Monitor
übertragen kann. Wir haben bereits gesehen, daß zu jeder
Bildschirmauflösung eine bestimmte Dot-Clock gehört. Jetzt gilt es
also festzustellen, welche Dot-Clocks die Grafikkarte bereitstellt.
Sie sollten zuerst in den bereits erwähnten Dateien ((
modeDB.txt
usw.) nachsehen, ob die Dot-Clocks Ihrer Grafikkarte dort aufgeführt
sind. Die Dot-Clocks werden meist in Form einer Liste mit acht oder sechzehn
Werten (in MHz) angegeben. In
mode-DB.txt
findet sich z.B. folgender Eintrag für die Grafikarte Cardinal ET4000:
Die Dot-Clocks für diese Karte sind also 25, 28, 38, 36, 40, 45, 32 und 0
MHz.
Im Abschnitt Devices von
XF86Config
sollten Sie eine Clocks-Zeile mit den Dot-Clocks Ihrer Karte einfügen.
Mit den eben gefundenen Werten würde diese Zeile so aussehen:
Diese Zeile steht im Abschnitt Devices hinter Chipset. Die Reihenfolge der
Werte ist äußerst wichtig! Stellen Sie diese Liste auf keinen Fall
um.
Wenn Sie keine passenden Dot-Clocks für Ihre Karte finden können,
lassen Sie den X-Server diese Werte ermitteln. Der o.a. Befehl
X -probeonly
sollte auch Zeilen ausgeben, die etwa so aussehen:
Anschließend können wir eine Clocks-Zeile einfügen, die alle
Werte in dieser Reihenfolge enthält. Falls nicht alle Werte in eine Zeile
passen (manchmal gibt es mehr als acht davon), können Sie in
XF86Config
auch mehr als eine Clocks-Zeile einfügen. Achten Sie darauf, daß
die Reihenfolge der Werte erhalten bleibt.
Wenn Sie mit
X -probeonly
die Dot-Clocks ermitteln, darf im Abschnitt Devices der Datei keine
Clocks-Zeile stehen (oder sie muß auskommentiert sein). Falls eine
solche Zeile vorhanden ist, wird der Server die Dot-Clocks
nicht
ermitteln, sondern die Werte aus
XF86Config
benutzen.
Beachten Sie, daß einige beschleunigte Grafikkarten einen
programmierbaren Clock-Chip benutzen. (In der Manual-Page zu XF86_Accel finden
Sie Details hierzu; dies betrifft alle S3-, AGX- und XGA-2-Karten). Dieser
Chip macht es möglich, daß der X-Server die Karte anweist, welche
Dot-Clocks sie benutzen soll. Wenn Sie eine solche Karte haben, werden Sie in
den o.a. Dateien wahrscheinlich keine Liste mit Dot-Clocks finden. Eventuell
zeigt
X -probeonly
auch eine Liste an, die nur einen oder zwei verschiedene Werte enthält,
und die anderen Werte sind identisch oder gleich null.
Für Karten mit einem programmierbaren Clock-Chip tragen Sie in der Datei
XF86Config
die Zeile ClockChip statt Clocks ein. Die ClockChip-Zeile enthält den
Namen des Clock-Chips auf der Grafikkarte; Sie finden diese Namen in den
Manual-Pages zu den einzelnen Servern. In der Datei
README.S3
z.B. erfahren Sie, daß verschiedene S3-864-Grafikkarten den Clock-Chip
»ICD2061A« benutzen; deshalb sollten wir in
XF86Config
die Zeile:
statt der Clocks-Zeile eintragen. Ebenso wie die Clocks-Zeile sollte auch
diese Zeile im Abschnitt Devices hinter Chipset stehen.
Einige beschleunigte Karten erfordern außerdem einen Eintrag in der
Datei
XF86Config
, der den benutzten RAMDAC-Typ bestimmt; dies geschieht in der Zeile Ramdac.
In der Manual-Page zu XF86_Accel wird diese Option beschrieben. Meistens wird
der X-Server in der Lage sein, den RAMDAC-Typ korrekt zu ermitteln.
Einige Typen von Grafikkarten erwarten im Abschnitt Devices der Datei
XF86Config
Einträge für bestimmte Optionen. Sie finden eine Beschreibung dieser
Optionen in der Manual-Page zum Server und in den Dateien wie z.B.
README.cirrus
oder
README.S3
. Diese Optionen werden in einer Option-Zeile aktiviert. Die Karte #9 GXE 64
z.B. erfordert zwei Optionen:
In der Regel wird der X-Server auch ohne diese Optionen funktionieren, aber
nur mit denselben erbringt Ihre Grafikkarte die volle Leistung. Es gibt mehr
solcher Optionen, als wir hier auflisten können, und sie beziehen sich
immer auf eine bestimmte Grafikkarte. Falls Sie solche Optionen benutzen
müssen -- fürchten Sie sich nicht: In den Manual-Pages zum X-Server
und in verschiedenen Dateien im Verzeichnis
/usr/X11R6/lib/X11/doc
finden Sie Details zu diesem Thema.
Wenn Sie fertig sind, sollten Sie einen Devices-Abschnitt erstellt haben, der
etwa so aussieht:
Dieser Devices-Eintrag gilt nur für eine bestimmte Grafikkarte, die #9
GXE 64. Wir zeigen diesen Abschnitt hier nur als ein Beispiel. Die meisten
Grafikkarten brauchen eine Clocks-Zeile statt der hier gezeigten
ClockChip-Zeile.
Es gibt weitere Optionen, die im Abschnitt Devices stehen können.
Schlagen Sie die Details in der Manual-Page zum X-Server nach; für die
meisten Systeme sollte allerdings das ausreichen, was wir hier besprochen
haben.
Sobald Ihre Datei
XF86Config
fertiggestellt ist, können Sie den X-Server starten und sich auf eine
Spritztour begeben. Achten Sie darauf, daß
/usr/X11R6/bin
in Ihrem Pfad eingetragen ist.
Mit folgendem Befehl starten Sie XFree86:
startx
ist ein Front-End zu
xinit
(das Sie vielleicht von anderen UNIX-Systemen her gewohnt sind).
Dieser Befehl ruft den X-Server auf und führt die Befehle aus, die in der
Datei
.xinitrc
in Ihrem Home-Verzeichnis stehen.
.xinitrc
ist einfach ein Shell-Skript, das einige X-Clients aufruft. Falls diese Datei
nicht existiert, wird als Voreinstellung die Systemdatei
/usr/X11R6/lib/X11/xinit/xinitrc
benutzt.
Die übliche
.xinitrc
-Datei sieht etwa so aus:
Dieses Skript ruft zwei
xterm
-Clients sowie die Uhr
oclock
auf und stellt den Hintergrund des Hauptfensters in mitternachtblau
(midnightblue) dar. Anschließend wird der Fenster-Manager
twm
gestartet. Beachten Sie, daß
twm
mit dem Shell-Befehl
exec
ausgeführt wird; das hat zur Folge, daß der
xinit
-Prozeß durch
twm
ersetzt wird. Der X-Server wird sich deshalb beenden, sobald der
twm
-Prozeß beendet ist. Sie können die Menüs im Hauptfenster
benutzen, um
twm
zu beenden; drücken Sie dazu die linke Maustaste, wenn der Mauszeiger auf
dem Bildschirmhintergrund positioniert ist und wählen Sie aus dem
Pop-up-Menü, das dann erscheint, den Punkt Exit Twm.
Achten Sie darauf, daß der letzte Aufruf in
.xinitrc
mit
exec
erfolgt und nicht als Hintergrundprozeß gestartet wird (also kein
Kaufmanns-Und am Zeilenende). Der X-Server würde sich sonst beenden,
sobald alle Clients aus der Datei
.xinitrc
aufgerufen wurden. Sie können X auch verlassen, indem Sie gleichzeitig
die Tasten CTRL-ALT-BACKSPACE drücken. Damit beenden Sie den X-Server
direkt und verlassen das X Window System.
Wir haben hier eine sehr, sehr einfache Konfiguration der Arbeitsfläche
besprochen. Wenn Sie einige Arbeit in Ihre
.xinitrc
-Datei investieren möchten, stehen Ihnen etliche nette Programme und
Anpassungsmöglichkeiten zur Verfügung. So können Sie z.B. den
virtuellen Desktop des Fenster-Managers
fvwm
nutzen und Farben, Fonts, Fenstergrößen und -positionen gestalten,
wie es Ihr Herz begehrt. Auch wenn das X Window System auf den ersten Blick
vielleicht sehr einfach aussieht, ist es doch ziemlich komplex, wenn Sie erst
einmal anfangen, eine Konfiguration nach Ihren Wünschen zu erstellen.
Für den Fall, daß Sie bisher noch nicht mit dem X Window System
gearbeitet haben, möchten wir dringend empfehlen, daß Sie sich ein
Werk wie z.B.
The X Window System User's Guide
besorgen.
Oft stellt sich beim ersten Starten des X-Servers heraus, daß noch nicht
alles richtig funktioniert. Fast immer liegt das Problem in der Datei
XF86Config
. Oft stimmen die Sync-Signale des Monitors nicht oder die Dot-Clocks der
Grafikkarte sind verstellt. Wenn das Bild scheinbar rollt oder die Ränder
unscharf sind, ist das ein klarer Hinweis auf verkehrtes Timing des Monitors
oder falsche Dot-Clocks. Achten Sie auch darauf, daß der richtige
Chipsatz für Ihre Grafikkarte spezifiziert ist; überprüfen Sie
auch die anderen Optionen im Abschnitt Device der Datei
XF86Config
. Vergewissern Sie sich, daß Sie den richtigen X-Server benutzen und
daß
/usr/X11R6/bin/X
ein symbolischer Link auf diesen Server ist.
Wenn alle Stricke reißen, können Sie noch versuchen, X
»nackt«; zu starten; also mit einem Befehl wie:
Beenden Sie den X-Server dann (mit der Tastenkombination CTRL-ALT-BACKSPACE)
und sehen Sie sich den Inhalt von
/tmp/x.out
an. Sie finden dort alle Warnungen und Fehlermeldungen des X-Servers wie z.B.
eine Grafikkarte ohne eine Dot-Clock, die zu den möglichen
Auflösungen des Monitors paßt.
In der Datei
VideoModes.doc
aus der XFree86-Distribution finden Sie einige Hinweise dazu, wie Sie die
Werte in Ihrer
XF86Config
verändern können.
Denken Sie auch daran, daß Sie mit den Tastenkombinationen CTRL-ALT +
der Plus- oder Minustaste aus dem Ziffernblock zwischen den Grafikmodi hin-
und herschalten können, die in der Modes-Zeile im Abschnitt Screen der
Datei
XF86Config
eingetragen sind. Falls die höchste Auflösung irgendwie
merkwürdig aussieht, schalten Sie auf eine niedrigere Auflösung um.
Vielleicht erfahren Sie dabei wenigstens, daß diese Abschnitte Ihrer
X-Konfiguration in Ordnung sind.
Überprüfen Sie auch die Einstellungen für die horizontale und
vertikale Bildlage an Ihrem Monitor; oft müssen diese beim Start von X
angepaßt werden. Wenn das Bild z.B. leicht nach einer Seite verschoben
ist, läßt sich das meist per Einstellung am Monitor beheben.
Die USENET-Newsgruppe
comp.windows.x.i386unix
widmet sich ganz der Diskussion rund um XFree86. Vielleicht ist es eine gute
Idee, in dieser News-Gruppe nach Beiträgen Ausschau zu halten, die sich
auf Ihre Grafikkonfiguration beziehen -- eventuell stellen Sie fest, daß
jemand anderes dieselben Probleme hatte wie Sie.
Bevor wir auf einige Anwendungsprogramme eingehen, die unter X laufen, sollten
wir noch die Grundlagen zur Konfiguration von X besprechen; es muß nicht
sein, daß Sie sich mit der (oft unattraktiven) Standardkonfiguration
vieler Systeme zufriedengeben.
Sie starten X mit dem Befehl
startx
. Dies ist ein Front-End für
xinit
, das Programm, das den X-Server (mit brauchbaren Einstellungen) und
verschiedene X-Clients aufruft.
xinit
führt (via
startx
) das Shell-Skript
.xinitrc
aus Ihrem Home-Verzeichnis aus. Dieses Skript enthält einfach die
Befehle, die Sie beim Start von X aufrufen möchten -- z.B.
xterm
,
xclock
usw. Wenn Sie keine Datei
.xinitrc
angelegt haben, wird statt dessen als Voreinstellung die Systemdatei
/usr/lib/X11/xinit/xinitrc
benutzt.
Hier zeigen wir Ihnen ein Beispiel für eine
.xinitrc
-Datei und erklären, was darin passiert. Sie können dieses Beispiel
als Ihre eigene
.xinitrc
übernehmen oder auch mit der Systemdatei
xinitrc
beginnen.
Die Datei sollte weitgehend selbsterklärend sein, selbst wenn Sie noch
keine Erfahrung mit X haben. Die ersten Zeile kennzeichnet sie als
Shell-Skript, die zweite ist einfach ein Kommentar. In den Zeilen 5 bis 7
werden drei
xterm
-Clients gestartet (erinnern Sie sich, daß
xterm
ein Client zur Terminalemulation ist). In den Zeilen 10 bis 13 werden weitere
Clients aufgerufen, und in Zeile 16 erfolgt der Start von
fvwm
, dem Fenster-Manager.
Wenn Sie
startx
mit der hier gezeigten Datei
.xinitrc
aufrufen, erhalten Sie einen Bildschirm, der etwa so aussieht wie
Abbildung 5--2.
.
(1)
Wir wollen uns das genauer anschauen. In Zeile 5 wird
xterm
mit verschiedenen Optionen aufgerufen, nämlich
-geometry
,
-fg
und
-bg
. Die meisten X-Clients unterstützen neben einigen anderen auch diese
»Standard«-Optionen. Mit der Option
-geometry
haben Sie die Möglichkeit, Größe und Anordnung von Fenstern
auf dem Bildschirm zu bestimmen. Die Anweisung hat folgendes Format:
Die Option
-geometry 80x40+10+100
bewirkt, daß ein Fenster mit einer Breite von 80 Zeichen und einer
Höhe von 40 Zeichen an der Position (10,100) auf dem Bildschirm plaziert
wird (wobei (0,0) der linken oberen Ecke entspricht). Beachten Sie, daß
xterm
die Fenstergröße in
Zeichen
mißt und nicht in Pixeln. Der Font, der hier benutzt wird, entscheidet
über die tatsächliche Größe des Fensters.
Mit den Argumenten
-fg
und
-bg
bestimmen Sie die Vordergrund- (Text-) und Hintergrundfarbe des
xterm
-Fensters. Wir haben hier die eher langweilige Kombination schwarz und
weiß gewählt, die sowohl auf Farb- als auch auf
Schwarz-Weißmonitoren funktionieren sollte. Unter X werden die Farben in
der Regel mit ihren Namen bezeichnet, aber Sie können auch Ihre eigenen
RGB-Werte definieren.
Eine Liste der Farbnamen (samt der dazugehörenden RGB-Werte) finden Sie
in der Datei
/usr/lib/X11/rgb.txt
. (Wenn Sie
xcolors
aufrufen, werden diese Farben mit ihren Namen angezeigt.)
In Zeile 6 wird ein weiteres
xterm
gestartet, allerdings mit anderen Argumenten:
Als Fenstergeometrie wird hier nur -20+10 angegeben. Ohne ausdrückliche
Angabe der Größe wird
xterm
die voreingestellten Werte benutzen (meist 80x25). Weiterhin fällt auf,
daß der
xabstand
mit einem - statt einem + versehen ist. Das hat zur Folge, daß das
Fenster 20 Pixel vom
rechten
Rand des Bildschirms entfernt plaziert wird. Ebenso wird die Geometrieangabe
-20-30 (wie in Zeile 7) das Fenster 20 Pixel vom rechten Rand und 30 Pixel vom
unteren Rand des Bildschirms öffnen. Der Vorteil ist, daß die
Anordnung der Fenster auf diese Weise in geringerem Maße von der
speziellen Auflösung abhängig ist, die Sie benutzen.
Die Option
-fn
in den Zeilen 6 und 7 bestimmt, daß
xterm
den Font 7x13bold benutzen soll. Wenn Sie
xlsfonts
aufrufen, erhalten Sie eine Liste der auf Ihrem System vorhandenen Fonts; der
X-Client
xfontsel
ermöglicht die interaktive Auswahl eines Fonts -- wir kommen weiter unten
noch darauf zurück.
In Zeile 10 wird der Client
oclock
gestartet, der eine analoge Uhr anzeigt. Zeile 11 startet
xload
, eine grafische Anzeige der durchschnittlichen
Systemauslastung
(Anzahl der aktiven Prozesse), die sich im Laufe der Zeit ändert. In
Zeile 12 rufen wir
xbiff
auf, das Ihnen anzeigt, ob E-Mail eingetroffen ist. In Zeile 13 lassen wir den
langweiligen grauen Hintergrund verschwinden und stellen ein knalliges
darkslateblue (dunkles Schieferblau) ein. (Fürchten Sie sich nicht; so
macht X einfach mehr Spaß.)
Sie werden bemerkt haben, daß in den Zeilen 5 bis 13 die Clients im
Hintergrund gestartet werden (das Kaufmanns-Und am Zeilenende sorgt
dafür). Wenn Sie die Clients nicht im Hintergrund starteten, würde
xinit
das erste
xterm
aufrufen, darauf warten, daß es beendet wird (in der Regel nachdem Sie
sich ausloggen), dann das nächste
xterm
aufrufen usw. Mit Hilfe der Kaufmanns-Und lassen Sie alle Clients gleichzeitig
arbeiten.
Und was passiert in Zeile 16? Hier starten wir
fvwm
, einen Fenster-Manager, der auf vielen Linux-Systemen benutzt wird. Wir haben
bereits erwähnt, daß der Fenster-Manager das Aussehen der Fenster
bestimmt, das Verschieben von Fenstern mit der Maus ermöglicht usw.
Allerdings wird
fvwm
mit dem Befehl:
gestartet. Das hat zur Folge, daß der Prozeß
fvwm
den Prozeß
xinit
ersetzt
. Auf diese Weise beendet sich der X-Server,
(2)
sobald Sie
fvwm
beenden. Dies ist dasselbe wie, allerdings einfacher als die Tastenkombination
CTRL-ALT-BACKSPACE.
Ganz allgemein sollten Sie alle X-Clients in
.xinitrc
mit einem Kaufmanns-Und am Zeilenende starten und den Fenster-Manager am Ende
der Datei mit
exec
aufrufen. Es gibt natürlich noch andere Wege ans Ziel, aber viele
Benutzer gehen genau so vor.
Wenn Sie die Manual-Pages zu
xterm
und anderen X-Clients lesen, werden Sie weitere Optionen für die
Befehlszeile finden, die wir hier nicht besprochen haben. Es gilt, was wir
bereits gesagt haben: Fast alles unter X ist konfigurierbar. Der
fvwm
benutzt eine eigene Konfigurationsdatei,
.fvwmrc
, die in der dazugehörigen Man-Page beschrieben wird. (Falls Sie keine
.fvwmrc
-Datei einrichten, wird statt dessen die Systemdatei
/usr/lib/X11/fvwm/system.fvwmrc
benutzt.)
In den Manual-Pages und in Büchern zum Thema X (wie z.B. O'Reillys
X Window System User's Guide
) finden Sie weitere Hinweise zur Konfiguration der einzelnen Clients.
Sie werden nicht allzu lange mit X arbeiten können, ohne auf die
X-Resources zu stoßen -- Sie finden diesen Begriff in fast jeder
Manual-Page. Mit den X-Resources stehen Ihnen flexiblere und umfangreichere
Möglichkeiten zur Konfiguration von X-Clients zur Verfügung, als
solche Optionen auf der Befehlszeile wie
-geometry
und
-fg
bieten. Die X-Resources machen es möglich, daß Sie für ganze
Gruppen von Clients die Voreinstellungen bestimmen; so könnten Sie z.B.
den Font für alle Aufrufe von
xterm
auf 7x13bold voreinstellen, statt das jedesmal in der Befehlszeile anzugeben.
Zwei Schritte sind erforderlich, um die X-Resources zu benutzen. Zunächst
müssen Sie eine Datei erstellen, die die Voreinstellungen für Ihre
X-Resources enthält. Diese Datei trägt in der Regel den Namen
.Xdefaults
und steht im Home-Verzeichnis. Außerdem müssen Sie noch mit dem
Befehl
xrdb
die X-Resources in den Server laden, damit Sie benutzt werden können. Im
allgemeinen wird
xrdb
in der Datei
.xinitrc
vor dem Start irgendwelcher Clients aufgerufen.
Wir werden anhand der Befehlszeilen-Optionen für die Clients aus der oben
gezeigten
.xinitrc
-Datei in einem einfachen Beispiel die Benutzung der X-Resources
demonstrieren. Anschließend zeigen wir Ihnen, wie die Datei
.xinitrc
für die Arbeit mit den X-Resources angepaßt werden muß.
Vorab noch ein paar Worte zur Arbeitsweise der Ressourcen. Jede X-Anwendung
ist Teil einer bestimmten
Anwendungsklasse
(application class). So gehört z.B.
xterm
zur Klasse XTerm. Sowohl
xclock
als auch
oclock
sind der Klasse Clock zugeordnet. Wenn Sie die Ressourcen für die Klasse
Clock festlegen, wirkt sich das auf alle Applikationen aus, die zu dieser
Klasse gehören -- da
xclock
(eine quadratische Analoguhr) und
oclock
(eine runde Analoguhr) sich ähnlich sind, gehören sie derselben
Klasse an und benutzen dieselben Ressourcen. Die meisten Anwendungen
gehören als einziges Mitglied ihrer eigenen Klasse an -- so ist z.B.
xload
das einzige Mitglied der Klasse XLoad. Sollte allerdings eine andere Anwendung
auftauchen, die Ähnlichkeiten mit
xload
hat, so könnte es sein, daß auch diese Anwendung ein Mitglied der
Klasse XLoad wird. Indem die X-Clients einer Anwendungsklasse zugeordnet
werden, lassen sich die Res
Die »Standard«-X-Clients benutzen solche Ressourcen wie foreground,
background, geometry und font. Viele X-Clients kennen außerdem noch
eigene Ressourcen -- so benutzt z.B.
xterm
die Ressource logFile, so daß Sie eine Datei bestimmen können, in
der die Terminalsitzung protokolliert wird. Auch die vorhandenen Ressourcen zu
jedem X-Client werden in den entsprechenden Manual-Pages aufgeführt.
Auch die Ressourcen selbst werden in eine Klassenhierarchie eingeordnet. So
ist z.B. die Ressource background ein Mitglied der Klasse Background. Die
Ressource-Klassen machen es möglich, daß viele einzelne Ressourcen
Mitglied derselben Klasse sind, so daß die Ressourcen einer ganzen
Klasse mit Werten versehen werden können. Ein Beispiel: Die Ressource
background bestimmt in der Regel die Standardfarbe für den
Bildschirmhintergrund. Wenn ein Anwendungsprogramm allerdings verschiedene
Bildschirmseiten darstellt ist es vielleicht wünschenswert, jeder Seite
eine andere Hintergrundfarbe zuzuordnen. Sie könnten also die Ressourcen
background1, background2 usw. einführen -- für jede Bildschirmseite
eine; aber alle diese Ressourcen wären Mitglied der Ressourcen-Klasse
Background. Wenn Sie den Wert für die Klasse Background bestimmen, legen
Sie auch die Werte für alle Ressourcen in dieser Klasse fest.
Normalerweise brauchen Sie sich mit dem Unterschied zwischen den
Ressourcen-Klassen und den Ressourcen innerhalb einer Klasse nicht zu
befassen. Meistens ist es einfacher, die Werte der Ressourcen für eine
ganzen Klasse festzulegen (z.B. Background), als die Werte einzelner
Ressourcen in dieser Klasse.
Lassen Sie uns jetzt untersuchen, wie die Werte für Ressourcen in der
Ressource-Datenbank festgelegt werden. Ein vollständiger
Ressource-Eintrag hat das Format:
(3)
Der senkrechte Strich bedeutet, daß Sie »eine der
Möglichkeiten wählen« können. Nehmen wir an, daß Sie
die Hintergrundfarbe eines
xterm
-Fensters einstellen möchten. Der
komplette
Ressource-Eintrag könnte so aussehen:
Damit bestimmen Sie allerdings nur eine bestimmte Hintergrund-Ressource (und
nicht alle Ressourcen, die möglicherweise der Klasse Background
angehören); dies auch nur, wenn der Client
xterm
auch als
xterm
aufgerufen wird (mehr zu diesem Punkt weiter unten). Deshalb sollte man
vielleicht besser die Ressource-Klasse benutzen:
Dieser Eintrag bezieht sich auf
alle
xterm
-Clients sowie alle Ressourcen der Klasse Background, die von
xterm
benutzt werden.
Lassen Sie uns jetzt die Optionen aus der oben gezeigten
.xinitrc
-Datei als Ressourcen formulieren. Legen Sie in Ihrem Home-Verzeichnis die
Datei
.Xdefaults
an. Analog zu der Datei
.xinitrc
weiter oben sollten Sie hier eintragen:
In den Zeilen 1 bis 3 wird die Ressource-Klasse Geometry für die
Anwendungs-Klassen Clock, XLoad und XBiff bestimmt. In den Zeilen 6 und 7
legen wir die Ressource-Klassen Foreground und Background für die ganze
Klasse XTerm fest. Alle
xterm
-Clients werden diese Werte als Voreinstellung für Foreground und
Background benutzen.
In den Zeilen 10 bis 17 bestimmen wir die Ressourcen für die einzelnen
Aufrufe von
xterm
. (Dies ist notwendig, weil die
xterm
s verschieden sind; sie haben z.B. unterschiedliche Geometrie-Werte.) Wir
haben die verschiedenen
xterm
-Clients in diesem Beispiel mit xterm-1, xterm-2 und xterm-3 bezeichnet. Wie
Sie sehen, haben wir in den Zeilen 10, 12 und 16 jeweils die Geometrie-Werte
definiert. Für xterm-2 und xterm-3 haben wir außerdem die Klasse
Font bestimmt; für xterm-2 bestimmen wir zusätzlich darkslategray
als Wert für die Klasse Background.
Die Regeln für die Zuordnung von X-Ressourcen (binding rules) sind so
gestaltet, daß bestimmte Zuordnungen den anderen übergeordnet sind.
Für unser Beispiel bedeutet dies, daß die Festlegung einer
Ressource für einen bestimmten Aufruf von
xterm
(wie »xterm-2*Background« in Zeile 14) Vorrang hat vor der
Festlegung einer Ressource für die Klasse XTerm insgesamt
(XTerm*Background in Zeile 7). Anders ausgedrückt: Die Zuordnungen
für eine Anwendungs- oder Ressource-
Klasse
haben eine
niedrigere
Priorität als die Zuordnungen für eine bestimmte Instanz innerhalb
dieser Klasse. Auf diese Weise haben Sie die Möglichkeit,
Voreinstellungen für die ganze Klasse zu treffen, diese Standardwerte
dann aber für bestimmte Instanzen der Klasse zu überschreiben.
Lassen Sie uns sehen, welche Änderungen wir in
.xinitrc
vornehmen müssen, um mit den gerade definierten X-Ressourcen arbeiten zu
können. Als erstes müssen wir den Befehl
xrdb
einfügen, der die Anwendungs-Ressourcen in den Server lädt.
Außerdem können wir die verschiedenen Optionen für die
Befehlszeilen entfernen, weil diese durch die Ressourcen ersetzt werden. Also:
Wie Sie sehen, können wir mit dem Argument
-name
hinter den drei Aufrufen von
xterm
bestimmen, unter welchem Namen
xterm
die X-Ressourcen suchen wird. Die meisten X-Clients kennen das Argument
-name
nicht; man benutzt dann den Namen, unter dem der Client gestartet wird.
Für die zahlreichen Benutzer, die mehr als ein
xterm
auf einmal aufrufen, ist es allerdings von Vorteil, wenn sie beim Bestimmen
der Ressourcen die
xterm
s auseinanderhalten können.
Sie sollten jetzt in der Lage sein, Ihre X-Arbeitsumgebung bis zu einem
gewissen Grade anzupassen. Selbstverständlich hängt die
Fähigkeit, X zu konfigurieren, zum Teil auch davon ab, wie sehr Sie mit
den vielen X-Anwendungen und dem Fenster-Manager (sowie seiner Konfiguration)
vertraut sind. Im Rest dieses Abschnitts werden wir einige X-Anwendungen
für Linux vorstellen und einen Fenster-Manager, den
fvwm
, im Detail besprechen.
Der Fenster-Manager, für den Sie sich entscheiden, bestimmt in hohem
Maße das Look-and-Feel Ihrer X-Umgebung. Viele Fenster-Manager bieten
auch Menüs an, aus denen heraus Sie mit der Maus andere X-Anwendungen
aufrufen können sowie eine virtuelle Arbeitsfläche, die Ihre
Arbeitsfläche insgesamt enorm vergrößern kann.
fvwm
ist ein Fenster-Manager für eine virtuelle Arbeitsfläche (desktop),
der von vielen Linux-Benutzern eingesetzt wird. Er beruht zum Teil auf dem
Code des
twm
, dem klassischen Fenster-Manager, der mit der X11-Distribution des MIT
ausgeliefert wird.
fvwm
hat man allerdings so kompakt gestaltet, daß er nur etwa halb so viel
Arbeitspeicher benötigt wie
twm
-- ein großer Vorteil für Linux-Systeme mit acht Megabytes
physikalischem RAM oder weniger.
fvwm
kennt viele besondere Möglichkeiten, über die andere Fenster-Manager
nicht verfügen; deshalb, und weil er speziell für Linux entwickelt
wurde, wollen wir ihn hier besprechen.
Anders als
twm
und einige andere Fenster-Manager wird
fvwm
ständig weiterentwickelt. Das hat zur Folge, daß ein paar der
Punkte, die wir hier besprechen, in einer neueren Version der Software
eventuell nicht mehr in derselben Form vorhanden sind. In der Manual-Page zu
fvwm
können Sie nachlesen, ob die hier besprochenen Features enthalten sind.
fvwm
bietet unter anderem:
Zu den herausragenden Besonderheiten von
fvwm
gehört der
virtuelle Desktop
, der die Anordnung von Fenstern auf einer Fläche ermöglicht, die
viel größer ist als die sichtbare Bildschirmfläche. Mit der
Maus können Sie zwischen verschiedenen Bereichen des virtuellen Desktops
hin- und herschalten (blättern). Wenn Sie den Mauszeiger z.B. an den
rechten Rand des Bildschirms bewegen, wird die Arbeitsfläche um eine
Bildschirmbreite nach links verschoben, so daß weitere Fenster im
Blickfeld erscheinen. Auf diese Weise können Sie die Fenster auf einer
Fläche anordnen, die größer ist als Ihr Bildschirm, wobei Sie
immer einen Ausschnitt aus dem gesamten Desktop vor Augen haben.
Die
Abbildung 5--2.
im Abschnitt
»
xinit
«
zeigt ein Beispiel für eine Arbeitsfläche. Jedes Fenster hat
einen dekorativen Rahmen mit konfigurierbaren Schaltflächen (Buttons)
darin, der von
fvwm
erzeugt wird. Weiter unten in diesem Abschnitt werden wir zeigen, wie Sie die
Rahmen nach Ihren Wünschen gestalten können.
Eines der Fenster in
Abbildung 5--2.
verdeckt gerade den Pager, der den gesamten vrtuellen Desktop aus der
»Vogelperspektive« zeigt. Mit dem Pager können Sie
außerdem Fenster auf der virtuellen Arbeitsfläche verschieben und
auswählen, welcher Ausschnitt des Desktops gerade angezeigt werden soll.
Wenn Sie den
fvwm
benutzen wollen, müssen Sie in Ihrem Home-Verzeichnis die
Konfigurationsdatei
.fvwmrc
anlegen. In diesem Abschnitt wollen wir einige der Möglichkeiten des
fvwm
beschreiben und zeigen, wie Sie diese von
.fvwmrc
aus nutzbar machen. Vielleicht sollten die meisten dieser Punkte in Ihrer
eigenen
.fvwmrc
enthalten sein, damit Sie die Fähigkeiten des Fenster-Managers optimal
ausnutzen können.
Wir müssen darauf hinweisen, daß die verschiedenen Versionen von
fvwm
für einige der Optionen eine unterschiedliche Syntax benutzen; falls Sie
auf Probleme stoßen, sollten Sie die Manual-Page lesen. Vielleicht
fällt der Start leichter, wenn Sie die Systemdatei
.fvwmrc
als Ausgangspunkt benutzen (steht in der Regel in
/usr/lib/X11/system.fvwmrc
).
Die grundlegenden Anpassungen für
fvwm
beziehen sich auf die Farben und Fonts der Fensterrahmen und Menüs. Sie
könnten in Ihre Datei
.fvwmrc
z.B. folgendes eintragen:
Die Wirkung einiger Befehle hängt davon ab, welches Fenster im
Fokus
ist, d.h., welches Fenster gerade Eingaben entgegennimmt. (Meistens bewegen
Sie einfach die Maus in ein Fenster, um es in den Fokus zu bringen.) Für
die Fenster außerhalb des Fokus, für Menüs und den Pager
werden die Farben StdForeColor und StdBackColor benutzt; das Fenster im Fokus
hat die Farben HiForeColor und HiBackColor. Die Vordergrundfarbe wird in der
Regel für den Text benutzt (also für Fenster-Namen usw.), die
Hintergrundfarbe für den Fensterrahmen selbst. Seien Sie kreativ!
WindowFont bezeichnet den Font in der Titelzeile der Fenster; Font wird
für Menüs benutzt (und für Icons, solange Sie nichts anderes
bestimmen).
Mit dem Befehl:
erhalten Sie eine Liste der auf Ihrem System definierten Farben.
Die meisten
fvwm
-Benutzer arbeiten auch mit dem virtuellen Desktop. Um diese
Arbeitsfläche zu konfigurieren, sollten Sie etwa folgende Zeilen in Ihre
.fvwmrc
einfügen:
Damit legen wir fest, daß die virtuelle Arbeitsfläche (DeskTopSize)
je drei Bildschirme hoch und breit sein soll. Mit DeskTopScale bestimmen wir
das Größenverhältnis für den Pager; in diesem Beispiel
sollen die Fenster im Pager mit 1/50 der tatsächlichen Größe
dargestellt werden. Außerdem wird der Pager in der unteren rechten Ecke
des Bildschirms aktiviert. Das Pager-Fenster gewährt uns den Blick auf
den kompletten virtuellen Desktop; ein Mausklick im Pager-Fenster bringt den
entsprechenden Ausschnitt der Arbeitsfläche auf den Bildschirm.
EdgeScroll gibt den Prozentsatz an, um den der Bildschirm scrollen soll, wenn
der Mauszeiger den Bildschirmrand erreicht. Die Angabe EdgeScroll 100 100
bewirkt, daß der Mauszeiger am Bildschirmrand die Arbeitsfläche um
eine Bildschirmgröße weiterbewegt; das sieht dann so aus, als ob
auf einen völlig anderen Bildschirm umgeschaltet würde. Auf diese
Weise können Sie Ihre Fenster auf der gesamten virtuellen
Arbeitsfläche anordnen und die Maus benutzen, um zwischen den Fenstern
umzuschalten.
Mit der Anweisung Style können Sie eine ganze Reihe von Attributen
für Ihre Fenster setzen. Wenn z.B.
xbiff
immer die anderen Fenster auf dem Bildschirm überlagern soll, tragen Sie
ein:
Danach hat kein anderes Fenster mehr die Chance,
xbiff
zu verdecken. Neben StaysOnTop kennt Style noch folgende Optionen:
Style kann z.B. die Namen der Fenster oder Anwendungsklassen als Argument
mitbekommen. ältere Versionen von
fvwm
kannten die Anweisung Style nicht. Statt dessen benutzen sie eine Reihe von
Anweisungen wie StaysOnTop, NoTitle usw. Diese haben folgendes Format:
Etliche der Anweisungen in
.fvwmrc
beziehen sich auf
Icons
. Wie bei anderen Fenster-Managern auch, können Sie unter
fvwm
ein Fenster zu einem Icon verkleinern, das ein kleines Sinnbild mit dem Namen
des Fensters und eventuell dem Fenstertyp anzeigt.
fvwm
unterstützt sowohl schwarz-weiße als auch farbige Icons.
IconFont bezeichnet den Font, der für Icons benutzt wird. IconPath und
PixmapPath enthalten durch Doppelpunkte getrennte Pfadnamen, unter denen Icons
abgelegt sind. Dabei verweist IconPath auf Bitmaps (XBM) und PixmapPath zeigt
auf farbige Pixmaps (XPM).
IconBox gibt einen Bereich an, in dem die Icons dargestellt werden sollen; Sie
können bis zu vier IconBoxes definieren. In diesem Fall sollten Sie die
Icons in einem unsichtbaren Bereich unterbringen, dessen obere linke Ecke die
Koordinaten (700,0) und dessen untere rechte Ecke die Koordinaten (1080,50)
hat.
Unter IconBox stehen verschiedene Style-Anweisungen, die Icons mit Fenstern
verknüpfen. Für unser Beispiel wollen wir alle XTerm-Fenster die
Datei
xterm.xpm
und Mosaic die Datei
mosaic.xpm
benutzen lassen. Der Name der Icon-Datei kann als kompletter Pfadname oder
relativ zu IconPath oder PixmapPath angegeben werden. Mit dem Befehl:
wird das Icon
unknown.xpm
als Standard-Icon gewählt.
Falls Ihr
fvwm
die Anweisung Style nicht unterstützt, benutzen Sie solche Anweisungen
wie:
Die meisten Benutzer von
fvwm
haben mindestens die hier vorgestellten Optionen in ihrer Datei
.fvwmrc
.
fvwm
hat aber darüber hinaus die Fähigkeit, die Menüs auf dem
Desktop zu konfigurieren, Funktionen über die Schaltflächen in der
Fenstertitelzeile aufzurufen usw. Wir werden in diesem Abschnitt einige dieser
erweiterten Möglichkeiten vorstellen.
Wir wollen damit beginnen, daß wir die Pop-up-Menüs des
fvwm
konfigurieren, die nach einem Mausklick auf das Hauptfenster erscheinen. Aus
diesen Menüs heraus können Sie Befehle ausführen, die Fenster
verändern usw.
Zwischen den Zeilen Popup und EndPopup wird das Menü zusammengestellt.
Jedes Menü bekommt einen Namen, unter dem es später angeprochen wird
(in diesem Beispiel »Xclients«).
Das Format ist ziemlich leicht zu durchschauen. Die Anweisung Title gibt dem
Menü einen Namen und Nop bewirkt eine Leerzeile zwischen
Menüeinträgen. Die Funktion Exec führt einen Befehl aus, wenn
dieser Menüpunkt gewählt wird. Das erste Argument zu Exec ist der
Name, den dieser Menüpunkt trägt; die anderen Argumente legen fest,
welcher Befehl ausgeführt werden soll.
Wir wollen ein zweites Menü namens
fvwm
erstellen, das die Funktionen zur Manipulation der
fvwm
-Fenster enthält.
Die internen Funktionen Move, Resize, Lower usw. werden in der Manual-Page zu
fvwm
beschrieben. Eine wichtige Funktion ist Popup, mit der ein vorab definiertes
Pop-up-Menü als Untermenü des aktuellen Menüs geöffnet
wird. Wir benutzen im Beispiel das oben definierte Xclients als
Untermenü.
Wir haben außerdem Befehle eingefügt, mit denen der
fvwm
erneut gestartet oder statt dessen ein anderer Fenster-Manager (
twm
) aufgerufen wird.
Unter dem
fvwm
haben Sie auch die Möglichkeit, die Funktion der Maustasten in
Abhängigkeit vom Kontext zu ändern. Das übernimmt die Anweisung
Mouse, die folgendes Format hat:
Die
Taste
steht für 1, 2, 3, oder 0 (mit der Bedeutung »beliebige
Taste«). Der
Kontext
gibt an, für welchen Bereich diese Tastendefinition gelten soll und kann
folgende Werte annehmen:
Der
Kontext
TSIF z.B. steht für Titelzeilen, Rahmen, Rahmenecken sowie Icon-Fenster.
Die Ziffern 0 bis 9 im
Kontext
verknüpfen eine Funktion mit einer Schaltfläche (Button) in der
Titelzeile des Fensters. Als Standard sind zwei Buttons vorhanden -- je einer
links und rechts in der Titelzeile. Wenn Sie weitere Funktionen auf Buttons
legen, werden auch diese Schaltflächen sichtbar. Die Buttons links in der
Titelzeile tragen ungerade Nummern (1, 3, 5, 7 und 9), die Buttons rechts
haben gerade Nummern (2, 4, 6, 8, 0).
Abbildung 5--3.
zeigt ein Fenster, in dem alle Schaltflächen sichtbar sind, mit den
entsprechenden Nummern. Die meisten Buttons bleiben unsichtbar, solange keine
Funktion mit ihnen verknüpft ist.
Die
Sondertasten
definieren einige Tastenkombinationen, die zusammen mit einem Mausklick
benutzt werden. Gültige Werte für
Sondertasten
sind C für CONTROL, M für META, S für SHIFT, N für
»keine Taste« und A für »beliebige Taste«. Ein
Beispiel: Wenn Sie C als
Sondertaste
definieren, müssen Sie die Taste CTRL gleichzeitig mit dem Klicken der
Maustaste drücken.
Hier einige Beispiele für die Belegung von Maustasten:
Diese Zeilen verknüpfen die Maustasten mit den oben beschriebenen
Pop-up-Menüs
fvwm
bzw. Xclients, oder mit dem Befehl WindowList, hinter dem sich ein
Pop-up-Menü mit Einträgen für alle Fenster auf der
Arbeitsfläche verbirgt.
Hier haben wir die Schaltflächen 1, 2, 3 und 4 in der Titelzeile (je zwei
Buttons links und rechts) mit Funktionen belegt. Die Schaltfläche ganz
links öffnet das
fvwm
-Menü, die Schaltfläche daneben verkleinert das Fenster zum Icon
usw. In der Manual-Page zu
fvwm
finden Sie alle vorhandenen Funktionen wie z.B. Resize, Move und RaiseLower
beschrieben.
Mit der Anweisung Key können Sie auch die Tasten der Tastatur mit
Funktionen belegen. Die Syntax ist ähnlich wie bei den Maustasten:
wobei
Kontext
und
Sondertaste
dieselbe Bedeutung haben wie oben beschrieben. Hier einige Beispiele:
Diese Verknüpfungen bewirken, daß Sie sich mit CTRL-
Pfeiltaste
auf dem Desktop um eine volle Seite in die angegebene Richtung bewegen. Sie
können auf diese Weise beliebige Tasten mit
fvwm
-Funktionen belegen; die Funktionstasten z.B. heißen F1, F2 usw.
Lesen Sie auf jeden Fall die Man-Page zu
fvwm
. Die Syntax für die Konfiguration kann sich in neuen Versionen
geringfügig ändern, und gelegentlich kommen neue Fähigkeiten
hinzu.
Es gibt Tausende von Programmen, die unter X laufen. Die Spanne reicht von
einfachen Hilfsprogrammen (wie den bereits besprochenen
xterm
und
xclock
) über Editoren und Programmierhilfen hin zu Spielen und
Multimedia-Anwendungen. Wir können hier nur einen kleinen Ausschnitt aus
der Masse der Software für X vorstellen. In diesem Abschnitt wollen wir
die Anwendungen besprechen, mit denen jeder Benutzer von X vertraut sein
sollte. Das sind nicht unbedingt die aufregendsten Programme, die es gibt,
aber sie sollten doch ein Teil Ihrer Ausstattung sein.
In
The X Window System User's Guide
finden Sie eine umfassendere Beschreibung von X-Anwendungen.
Lassen Sie uns die Erforschung von X-Anwendungen mit
xterm
beginnen, dem Arbeitspferd, mit dem Sie die meiste Zeit verbringen werden. Es
handelt sich dabei einfach um ein Fenster, das eine UNIX-Shell enthält,
die einen Prompt anzeigt, Befehle entgegennimmt und wie ein Terminal scrollt.
Vielleicht wundern Sie sich mit mir über die Vorstellung, einen
hochauflösenden Farbmonitor anzuschaffen und mehrere Megabytes an
Grafiksoftware zu installieren, um sich dann mit der Emulation eines alten
VT100-Terminals konfrontiert zu sehen. Aber Linux ist eben kein
Betriebssystem, das ausschließlich mit der Maus bedient wird. Obwohl es
eine Menge an optisch ansprechenden grafischen Anwendungen gibt, werden Sie
doch häufig mit Texten arbeiten wollen, und dafür bietet die
Befehlszeile nach wie vor die umfangreichsten Werkzeuge.
Lassen Sie uns also einen Blick auf ein
xterm
-Fenster werfen.
Abbildung 5--4.
zeigt ein Fenster, in dem wir bereits ein paar Befehle eingegeben haben.
Übrigens: Falls Sie den Abschnitt
»
X konfigurieren
«
gelesen haben, finden Sie vielleicht Spaß daran, sich einige der
Dateien in
/usr/lib/X11/app-defaults
anzusehen; hier können Sie das Standardverhalten von X-Anwendungen
betrachten, die noch nicht von einem Benutzer angepaßt wurden.
Vielleicht sollten wir zuerst erklären, wie wir dieses Fenster aufgebaut
haben. Mit der Anweisung:
erzeugen Sie dieses Fenster. Die Optionen haben folgende Bedeutung:
Natürlich wollen wir uns nicht die Mühe machen, diesen langen Befehl
jedesmal einzugeben, wenn wir ein
xterm
starten. Statt dessen haben wir (Sie können das im Abschnitt
»
X konfigurieren
«
nachlesen) folgende Optionen in unsere Datei
.Xdefaults
eingetragen:
und beim Einloggen wurde in unserer Datei
.xinitrc
folgender Befehl aufgerufen:
der dieses Fenster erzeugte. Wie Sie bereits im Abschnitt »Der
Fenster-Manager fvwm« gesehen haben, ist es recht einfach, ein
entsprechendes Menü zu erstellen und eine Maus- oder Funktionstaste mit
dem Aufruf von
xterm
zu belegen.
Geben Sie »exit« ein oder drücken Sie CTRL-D, um das Fenster zu
schließen. Falls Ihnen dies zu gefährlich erscheint (weil Sie durch
ein versehentliches CTRL-D Ihr Fenster verlieren könnten), sollten Sie
xterm
mit der Option
-ls
starten (»login shell«). Anschließend können Sie das
Fenster nur noch mit »logout« schließen. (Diese Option bewirkt
auch noch andere Dinge. In der Shell
bash
wird die Datei
~/.bash_ profile
ausgeführt, in der C-Shell die Datei
~/.login
.)
Im Alltag bietet xterm einiges mehr als ein VT100-Terminal. Ein Hilfsmittel
sind seine umfangreichen Fähigkeiten, Texte auszuschneiden und wieder
einzufügen (Cut-and-Paste).
Werfen Sie noch einmal einen Blick auf
Abbildung 5--4.
. Nehmen wir an, daß wir nicht das Verzeichnis
app-defaults
meinten, sondern zu den Fonts in
/usr/lib/X11/fonts
wechseln wollten. (Dies ist keine allzu interessante Anwendung; es soll nur
ein Beispiel sein.)
Wir wollen zuerst den Teil des
cd
-Befehls markieren, der uns interessiert. Bewegen Sie den Mauszeiger auf die
Leerstelle links vom c in cd. Drücken Sie die linke Maustaste und ziehen
Sie die Maus, bis der Schrägstrich hinter X11 invers dargestellt wird.
Abbildung 5--5.
zeigt das Ergebnis:
Haben Sie zu viele oder nicht genug Zeichen markiert? Kein Problem -- halten
Sie die SHIFT-Taste gedrückt und klicken Sie mit der linken Maustaste
irgendwo in den markierten Text. Anschließend können Sie den
markierten Bereich verkleinern oder vergrößern.
Drücken Sie die mittlere Maustaste, wenn Sie genau den gewünschten
Bereich markiert haben.
xterm
fügt den ausgewählten Text in der aktuellen Befehlszeile ein. Das
Ergebnis stellt
Abbildung 5--6.
dar:
Anschließend können Sie den Rest des Verzeichnisnamens
»fonts« eintippen und mit RETURN den Befehl ausführen.
Sie können einen beliebig großen Bereich aus dem Fenster markieren
-- sowohl Ein- als auch Ausgaben. Klicken Sie zweimal mit der linken
Maustaste, wenn Sie ein ganzes Wort statt einzelner Zeichen markieren
möchten. Mit dreifachem Klikken markieren Sie eine ganze Zeile. Auch das
Markieren mehrerer Zeilen ist möglich. Dies ist bei der Eingabe von
Befehlen nicht unbedingt hilfreich, aber immer dann, wenn Sie mit dem Editor
vi
arbeiten und längere Textpassagen zwischen den Fenstern hin- und
herkopieren möchten.
Passen Sie bei langen, umgebrochenen Zeilen auf; der markierte Bereich wird
einen Zeilenende-Code enthalten, auch wenn Sie beim Tippen der Zeile kein
RETURN eingegeben haben.
Nachdem Sie in Ihrer
xterm
-Sitzung einige Befehle eingegeben haben, werden die ersten Zeilen nach oben
aus dem Bildschirm verschwinden. Für diesen Fall haben wir beim Aufruf
von
xterm
die Bildlaufleiste (Scrollbar) eingerichtet. Die Benutzung der Laufleiste ist
recht einfach (wie das bei allen mit der Maus bedienbaren Tools sein sollte),
aber es gibt ein paar nette Tricks dabei. Die Techniken, die wir hier
vorstellen, sollten übrigens in fast allen Anwendungen mit Scrollbars
funktionieren. Eine X-Anwendung arbeitet immer so, wie der Programmierer das
festgelegt hat, aber die meisten Entwickler halten sich an die Konventionen,
die von
xterm
vorgegeben werden.
Lassen Sie uns zunächst das Fenster mit einer Menge Text füllen.
Einer der folgenden Befehle sollte dazu ausreichen:
Die Ausgabe des Befehls wird natürlich so schnell über den
Bildschirm huschen, daß Sie nicht mitlesen können; wir können
uns aber anschließend rückwärts durch den Text bewegen und ihn
lesen. Beachten Sie die Laufleiste auf der linken Seite des Fensters -- Sie
sehen dort einen dunkel dargestellten »Zeiger« am unteren Ende.
Seine Größe zeigt an, wieviel der Ausgabe Sie im Moment auf dem
Bildschirm sehen. Die Position des Zeigers gibt Ihre Position innerhalb der
Ausgabe an (in diesem Beispiel stehen Sie am Ende).
Bewegen Sie den Mauszeiger auf das untere Ende der Laufleiste und drücken
Sie die rechte Maustaste. Damit blättern Sie um eine ganze
Bildschirmseite zurück; der Text, der sich vorher am oberen
Bildschirmrand befand, erscheint jetzt am unteren Rand. Wenn Sie in der
Nähe des oberen Endes der Laufleiste klicken, bewegen Sie sich damit um
einige Zeilen nach oben. Ein Klick auf die Mitte der Leiste blättert um
eine halbe Bildschirmseite zurück. Beachten Sie, daß der Zeiger in
der Laufleiste mit den Mausklicks seine Position ändert.
Wenn Sie wieder vorwärts blättern möchten, benutzen Sie die
linke Maustaste. Auch hier gilt, daß ein Klick am oberen Ende der
Laufleiste einige Zeilen weiterblättert, während ein Klick am
unteren Ende Sie eine ganze Bildschirmseite weiterbringt.
Nachdem Sie eine größere Menge Text markiert haben, möchten
Sie vielleicht schnell zum Anfang oder Ende des Textpuffers springen. Dazu
können Sie die mittlere Maustaste einsetzen. Klicken Sie damit irgendwo
auf die Laufleiste, und Sie werden im entsprechenden Bereich des markierten
Textes landen. Ein Klick auf das obere Ende der Leiste bringt Sie also an den
Anfang des Puffers, ein Klick auf das untere Ende läßt Sie zum Ende
des Puffers springen. Sie haben außerdem die Möglichkeit, direkt
auf die Bildlaufleiste zu klicken, die Taste gedrückt zu halten, und den
Zeiger in den gewünschten Bereich zu ziehen.
Falls Sie lieber mit der Tastatur arbeiten, müssen Sie zum Blättern
nicht die Maus benutzen. Sie können auch die SHIFT-Taste festhalten und
gleichzeitig mit der Bild-hoch-Taste zurück oder mit der
Bild-runter-Taste vorwärts blättern.
Diese Tastenkombinationen funktionieren übrigens auch auf einer
virtuellen Konsole in dieser Weise (siehe auch den Abschnitt
»
Virtuelle Konsolen
«
in
Kapitel 3
).
Sie werden feststellen, daß
xterm
in der Voreinstellung nicht allzu viele Zeilen der Ausgabe puffert. Mit der
Option
-sl
anzahl
oder mit einem Eintrag wie:
können Sie eine größere Anzahl an Zeilen zwischenspeichern
lassen.
Sie finden Ihre Fonts (Schrifttypen) häßlich oder zu klein? Es gibt
genug andere zur Auswahl. In beinahe jeder X-Anwendung können Sie
bestimmen, welcher Font für die Anzeige von verschiedenen Textarten
(Menüs usw.) benutzt werden soll. Sie müssen nur wissen, wie die
Fonts heißen und wie sie aussehen.
Mit dem Befehl
xlsfonts
lösen Sie das erste Problem. So wie
ls
Dateien auflistet, liefert
xlsfonts
eine Liste mit Fonts. Wenn Sie den Befehl allerdings ohne Argumente eingeben,
bekommen Sie mehr angezeigt, als Sie sehem möchten. Vorteilhafter ist es,
zunächst zu überlegen, welche Arten von Fonts Sie brauchen, und dann
nur diese anzuschauen.
Die Fonts im X Window System haben unglaublich lange Namen. Ein typisches
Beispiel ist:
Die Bindestriche teilen die Namen in Felder ein. Was uns im Augenblick
interessiert, ist das Feld hinter dem elften Bindestrich, das in diesem
Beispiel ein »c« enthält.
Für
xterm
und viele andere Anwendungen brauchen Sie eine
Sperrschrift
. Das bedeutet, daß alle Buchstaben gleich breit sind -- im Gegensatz
zur
Proportionalschrift
, bei der ein »m« breiter ist als ein »i«.
Proportionalschriften eignen sich ganz hervorragend für die Darstellung
der Ausgaben eines Textformatierers wie TEX, aber Sie sehen absolut
unmöglich aus, wenn Sie in einem Programm benutzt werden, das nicht auf
die Handhabung der verschiedenen Zeichenbreiten eingerichtet ist. Wenn im
elften Feld eines Fontnamens ein »c« oder »m« steht,
handelt es sich um eine Sperrschrift.
Auch andere Felder können Ihnen helfen, einen Font zu wählen. Im
dritten Feld erfahren Sie die Strichstärke für diesen Font --
entweder »medium« für normale Strichstärke oder
»bold« für Fettdruck. Im siebten Feld, das in unserem Beispiel
13 enthält, erfahren Sie die Größe des Fonts (genauer gesagt
die Höhe des größten Zeichens in Pixel).
Wir wollen uns jetzt für einen Font entscheiden und prüfen, ob das
System einen solchen zur Verfügung stellt. Mit dem Befehl
xlsfonts
bestimmen Sie einen Font mit Hilfe der Option
-fn
; benutzen Sie dabei ein Sternchen als Platzhalter für Werte, die keine
Rolle spielen. Wenn wir die Werte im dritten und elften Feld für einen
Font genau angeben wollen und die anderen Parameter nicht wichtig sind, geben
wir ein:
Die Felder eins und zwei interessieren uns nicht, aber im dritten Feld
muß »bold« stehen. Auch das elfte Feld haben wir genau
definiert; dort steht ein m. Als Ergebnis erhalten wir eine Liste der fett
dargestellten Sperrschriften. Falls das System eine solche nicht kennt,
bekommen wir die Nachricht:
Ersetzen Sie jetzt das m durch ein c, und sehen Sie sich die anderen
Sperrschriften an.
In Wirklichkeit brauchen wir solche komplizierten Namen nicht. In den
Beispielen weiter oben in diesem Kapitel haben wir den Kurznamen 7x13bold
benutzt. Solche Namen nennt man auch
Alias-Namen
; Sie ersetzen die Namen von der langen Sorte. Wenn Sie eine kurze Liste der
Sperrschriften unter Benutzung dieser Alias-Namen sehen möchten, geben
Sie ein:
Wir haben bereits einigen Aufwand betrieben, nur um eine Liste mit Namen
anzuzeigen. Aber wie sehen die Fonts eigentlich aus? Ein einfacher Versuch,
diese Frage zu beantworten, ist die Definition eines Fonts in Ihrem
xterm
-Aufruf:
Wenn Sie jedes einzelne Zeichen des Fonts anzeigen möchten, sollten Sie
den Befehl
xfd
benutzen (»X font display«). Sie erhalten ein Gitternetz mit einem
Feld für jedes Zeichen:
Sobald Sie einen Font gefunden haben, der Ihnen gefällt, halten Sie ihn
fest, indem Sie ihn in Ihrer Datei
.Xdefaults
verewigen:
Glauben Sie wirklich, daß Ihr Bildschirm komplett ist, solange er nicht
von einer Uhr geschmückt wird, auf der Sie ablesen können, wieviel
Zeit Sie mit der Gestaltung des Bildschirms verschwendet haben? Sie
können genau die Uhr anzeigen lassen, die Ihnen am besten gefällt:
quadratisch oder rund, analog oder digital, groß oder klein.
Selbstverständlich kann die Uhr Ihnen auch akustisch mitteilen, was die
Stunde geschlagen hat.
In der
.xinit
-Datei weiter oben in diesem Kapitel steht eine Zeile, die
oclock
startet:
Abbildung 5--2.
zeigt Ihnen, wie diese Uhr aussieht. Vielleicht ist Ihnen die quadratische Uhr
lieber, die vom Programm
xclock
angezeigt wird:
Wenn es eine winzige Digitaluhr am unteren Bildschirmrand sein soll:
oclock
gibt sich farbenprächtiger, während
xclock
Ihnen bei anderen Gestaltungselementen mehr Freiheiten läßt; in den
Manual-Pages finden Sie die Details hierzu. Wenn Sie jede halbe Stunde auch
akustisch markiert haben möchten, rufen Sie
xclock
mit der Option
-chime
auf.
Das Programm
xbiff
zeigt einen Briefkasten an, der beim Eintreffen neuer E-Mail die Farbe
wechselt und dazu piepst. Außerdem wird ein Winker am Briefkasten
aufgestellt -- ein nettes Bild aus dem ländlichen Amerika, das
wahrscheinlich innerhalb des Pendler-Umkreises rund um das MIT (das
xbiff
verteilt) gar nicht zu finden ist.
In Ihrer
.Xdefaults
-Datei können Sie selbst bestimmen, welche Bilder
xbiff
anzeigen soll. Voreingestellt sind die Bitmaps flagdown (wenn keine E-Mail
wartet) und flagup (wenn E-Mail eingetroffen ist). Die folgenden Einträge
für
.Xdefaults
bringen Bitmaps für einen leeren Briefkasten und einen mit Brief darin
auf den Bildschirm. Weitere vordefinierte Bitmaps finden Sie in
/usr/local/X11/include/bitmaps
.
Falls Ihnen das Piepsen von
xbiff
schrecklich laut oder zu leise vorkommt, können Sie einen anderen Wert
für die Option
-volume
eingeben. Mögliche Werte sind 0 bis 100, und 33 ist die Voreinstellung.
Natürlich haben Sie auch die Möglichkeit, in Ihrer Datei
.Xdefaults
einen Wert fest vorzugeben -- wie bei den meisten Optionen in X-Anwendungen:
Falls Sie gerne Scrollbars und Buttons benutzen, können Sie damit auch
Ihre E-Mail bearbeiten.
xmh
ist ein ziemlich umfangreiches Mail-Programm, das die üblichen Funktionen
der Mailer unter UNIX beherrscht. Sie können Mails in verschiedenen
Verzeichnissen ablegen, Nachrichten eines bestimmten Absenders lesen oder
solche Nachrichten, die einen bestimmten Begriff enthalten usw. Weil
xmh
ein Front-End zum textorientierten Programm
mh
ist, muß auch dieses Programm auf Ihrem System installiert sein.
Die meisten Leute arbeiten anscheinend lieber mit textbasierten Mailern wie
Elm oder Pine, und die meisten Funktionen sind auch in Emacs enthalten.
In
Kapitel 7,
Vernetzung und Kommunikation
zeigen wir, wie Elm installiert wird. An dieser Stelle wollen wir Sie mit den
Grundlagen von
xmh
vertraut machen, damit Sie entscheiden können, ob Sie einen Versuch wagen
wollen. Sicherlich lohnt es sich, die Möglichkeiten von
xmh
kennenzulernen, weil die anderen Mailer ähnliche Funktionen bieten -- nur
die Befehle lauten anders.
xmh
bietet die angenehme Möglichkeit, eine Liste der Nachrichten einzusehen,
während Sie eine Nachricht lesen; Sie brauchen also nicht hin- und
herzuwechseln. Außerdem lassen sich Mails ohne viel Tipparbeit von einem
Verzeichnis in ein anders kopieren.
Vor dem Aufruf von
xmh
sollten wir noch die Größe der Fenster anpassen, weil die
Voreinstellungen in der Regel zu kleine Fenster anzeigen. Fügen Sie in
Ihrer Datei
.Xdefaults
diese Zeilen ein:
Die erste Zeile bestimmt die Größe des Hauptfensters, das wir Ihnen
etwas weiter unten zeigen. Die zweite Zeile legt die Größe des
Arbeitsfensters fest, in dem Sie Ihre Nachrichten schreiben. Rufen Sie jetzt
das Programm auf:
Es erscheint ein Fenster wie das in
Abbildung 5--7.
. Weil die Anzeige im ersten Augenblick verwirrend sein kann, haben wir in der
Abbildung die einzelnen Komponenten des Fensters benannt. Es sind bereits
einige Nachrichten eingetroffen, und das kleine schwarze Quadrat in der
Schaltfläche inbox zeigt an, daß weitere Nachrichten gelesen werden
wollen.
Wir wollen unsere E-Mail-Sitzung damit beginnen, daß wir neu
eingetroffene Nachrichten lesen. Bewegen Sie den Mauszeiger auf den Button
Table of Contents am oberen Bildschirmrand. Halten Sie eine beliebige
Maustaste gedrückt, ziehen Sie die Maus nach unten, und lassen Sie die
Taste über dem Menüpunkt Incorporate New Mail los.
Für diejenigen, die lieber die Tastatur als die Maus benutzen, gibt es
für diese Funktion (wie für viele andere auch) eine Funktionstaste
oder -tastenkombination; in der Welt von X nennt man diese Tasten Accelerator
(Gaspedal, Beschleuniger). In diesem Fall handelt es sich um eine etwas
artistisch anmutende Tastenkombination (Sie werden beide Hände brauchen):
Halten Sie die Tasten SHIFT und ALT gedrückt und drücken dann
gleichzeitig »I«.
Die neue E-Mail sollte im mittleren Teil des Fensters aufgelistet sein (dem
Teil mit der Titelzeile »inbox:all«), und die aktuelle Nachricht
sollte mit einem Pluszeichen versehen sein. Die aktuelle Nachricht erscheint
unten auf dem Bildschirm; benutzen Sie die Bildlaufleiste, um sich dorthin zu
bewegen und die Nachricht zu lesen.
Falls diese Nachricht zum Aufbewahren nicht wichtig genug erscheint,
öffnen Sie das Menü Message und wählen Sie dort den Punkt
Delete. Mit den Tasten ALT-d erreichen Sie dasselbe. Die Löschung kann
allerdings noch rückgängig gemacht werden; erst wenn Sie den Punkt
Commit Changes aus dem Menü Table of Contents anklicken oder SHIFT-ALT-C
drücken, wird die Nachricht endgültig gelöscht.
Wenn Sie diese Nachricht aufbewahren möchten, können Sie mit dem
Punkt View Next Message aus dem Menü Message oder mit einer der
Tastenkombinationen ALT-SPACE bzw. ALT-n mit dem Lesen der nächsten
Nachricht fortfahren. Aber lassen Sie uns einfach aus Spaß an der Freude
diese Nachricht in einem anderen Folder (Verzeichnis) ablegen. Die Folder
helfen Ihnen, die Nachrichten zu verschiedenen Themen an verschiedenen Stellen
aufzubewahren.
Wir wollen einen Folder mit dem Namen »local« anlegen. Öffnen
Sie dazu einfach das Menü Folder und klicken Sie auf Create Folder
(für diesen Schritt gibt es keinen Accelerator). Geben Sie dann am Prompt
»local« ein und drücken Sie RETURN. Der neue Folder erscheint
in Form eines Ovals nahe dem oberen Rand des Bildschirms (siehe
Abbildung 5--8.
).
Noch sind Sie nicht ganz soweit, daß Sie die Nachricht speichern
können. Klikken Sie auf den neuen Folder local. Der Name erscheint jetzt
anstelle von »inbox« in der Titelzeile der Mail-Liste und zeigt
damit an, daß der Folder local jetzt bereit ist, Nachrichten
entgegenzunehmen. (Ein Nachteil von
xmh
besteht in den sehr zurückhaltenden Hinweisen darauf, was Sie gerade tun
und wo Sie sich befinden; man muß schon sehr genau hinsehen.)
Wenn Sie jetzt die aktuelle Nachricht in local ablegen möchten,
öffnen Sie dazu das Menü Message und wählen den Punkt Move. Sie
können das Ergebnis überprüfen, indem Sie den Punkt Open Folder
im Menü Folder anklicken. Damit wird der Inhalt des Folders local
angezeigt. Kehren Sie dann wieder zu Ihrem »Eingangskorb«
zurück, indem Sie auf das Oval inbox klicken und dann wieder den Punkt
Open Folder auswählen.
Wenn Sie auf eine Nachricht antworten möchten, öffnen Sie dazu das
Menü Message und wählen den Punkt Reply, oder drücken Sie
ALT-r. Zum Schreiben einer völlig neuen Nachricht wählen Sie den
Punkt Compose Message aus dem Menü Message. In beiden Fällen
erscheint ein neues Fenster. Leider können Sie bei
xmh
(anders als bei den meisten UNIX-Mailern) nicht selbst bestimmen, welchen
Editor Sie benutzen möchten. Sie sind statt dessen auf einen einfachen
Editor angewiesen, der als Teil des X Window Systems entwickelt wurde. Dieser
Editor ist allerdings gar nicht so schlecht; wenn Sie sich mit Emacs
auskennen, werden Sie feststellen, daß einige Befehle identisch sind.
Wenn Sie Ihre Nachricht abschicken möchten, klicken Sie auf die
Schaltfläche Send unten im Fenster; schließen Sie das Fenster dann
mit einem Klick auf Close Window.
Wir wollen noch eine weitere, ausgesprochen nützliche Fähigkeit von
xmh
vorstellen: die Möglichkeit, die Anzahl der angezeigten Nachrichten
einzuschränken. Sie müssen dazu eine Zeichenkette angeben sowie die
Stelle, an der dieser String stehen soll (z.B. in der Betreffzeile, in der
Zeile »From:«, im Textteil der Nachricht usw.). Anschließend
werden alle Nachrichten verborgen, die nicht diese Zeichenkette an der
richtigen Stelle enthalten. Es gibt außerdem die Möglichkeit, eine
zeitliche Begrenzung festzulegen.
Lassen Sie uns annehmen, daß wir alle Nachrichten zum Thema Schule (LSB)
ansehen wollen. öffnen Sie zunächst das Menü Sequence und
wählen Sie den Punkt Pick. Daraufhin erscheint ein neues Fenster voller
Optionen, auf die wir hier nicht eingehen werden.
Abbildung 5--9.
zeigt dieses Fenster.
Klicken Sie in den Kasten neben »Subject:« und geben Sie
»LSB« ein. Außerdem sollten Sie den Nachrichten mit diesem
Betreff (subject) einen sinnvollen Namen geben, damit sie später
wiedergefunden werden können. Klicken Sie dazu in das Feld neben
»Creating sequence«, löschen Sie eventuell vorhandenen Text,
und geben Sie dann »lsb« ein. Das Ergebnis sehen Sie in
Abbildung 5--10.
Schließen Sie den Vorgang mit einem Klick auf den Button OK am unteren
Rand ab. Das Fenster wird geschlossen und eine neue Liste mit Nachrichten
erscheint in Ihrem Eingangskorb.
Zum Verlassen von
xmh
öffnen Sie das Menü Folder und klicken auf Close Window.
Die Integration von X und Emacs wird immer ausgereifter. Die Version 19 von
Emacs verfügt über Pull-down-Menüs, unterschiedliche
Schrifttypen für die verschiedenen Bereiche Ihres Fensters sowie die
vollständige Integration von Cut-and-Paste-Funktionen mit der X-Umgebung.
Lassen Sie uns als erstes ein paar schöne Farben für die
verschiedenen Bereiche des Emacs-Fensters definieren. Versuchen Sie es damit:
Mit diesem Befehl setzen Sie die Farben für den Hintergrund, den
Vordergrund, den Mauszeiger und den Cursor. Der Cursor ist das kleine
Rechteck, das im Fenster erscheint; in Emacs wird der Cursor »Point«
genannt -- das ist die Stelle, an der Sie Text eingeben. Wir werden etwas
weiter unten auf die Farben zurückkommen.
Nach dem Start von Emacs fallen zunächst die Menüleiste oben und die
Bildlaufleiste rechts auf (siehe
Abbildung 5--11.
).
Die Laufleiste funktioniert genau so wie die Leiste unter
xterm
. In der Menüzeile sind einige der gängigen Funktionen enthalten.
Einige Modi, etwa der C- und der TEX-Modus, benutzen eigene
Pull-down-Menüs. Diese Menüs sind nirgendwo dokumentiert; Sie werden
also durch Probieren herausfinden müssen, welche Emacs-Funktionen sich
dahinter verbergen.
Wenn Sie einmal eine Funktion benutzen möchten, für die es keine
einfache Tastenkombination gibt -- oder wenn Sie die Kombination vergessen
haben -- sind die Menüs ganz praktisch. Wenn Sie z.B. nur selten eine
Suche mit regulären Ausdrücken starten (ein mächtiges Werkzeug,
das zu beherrschen sich lohnt), dann führt der einfachste Weg dahin
über den Punkt Regexp Search im Menü Edit.
Ein weiterer nützlicher Punkt ist Choose Next Paste aus dem Menü
Edit. Damit haben Sie Zugriff eine Funktion, die Sie nur auf diesem Weg
erreichen: eine Liste der Textblöcke, die Sie kürzlich
ausgeschnitten haben. Mit anderen Worten: Sie werfen einen Blick auf den
Kill-Ring. Hier können Sie aussuchen, welchen Textblock Sie als
nächstes einfügen möchten; mit dem nächsten C-y (die
CTRL-Taste zusammen mit y) wird dieser Textblock in den aktuellen Text
eingefügt.
Sie haben auch die Möglichkeit, die Laufleiste und das Menü zu
verbergen; fügen Sie dazu folgende Zeilen LISP-Code in Ihre Datei
.emacs
ein:
Auch die Maus erwirbt unter X einige interessante Fähigkeiten. Mit ihrer
Hilfe können Sie genau so Text ausschneiden und einfügen
(Cut-and-Paste), wie Sie es von
xterm
her gewohnt sind. Das funktioniert sogar zwischen verschiedenen Fenstern --
wenn Sie also die Ausgabe, die in einem
xterm
-Fenster angezeigt wird, in eine Datei übertragen möchten, schneiden
Sie den Text in
xterm
aus und fügen ihn in den Emacs-Puffer ein. Alle Texte, die Sie nicht mit
der Maus markiert haben (sondern z.B. mit C-w), werden ebenso in die
Maus-Selection aufgenommen wie die mit der Maus ausgeschnittenen Texte. Sie
können also auch Text in Ihrem Emacs-Puffer markieren und in ein
xterm
-Fenster einfügen.
Die rechte Maustaste funktioniert in etwas ungewöhnlicher Weise. Wenn Sie
mit der linken Taste einen Text markiert haben, wird dieser mit einem Klick
auf die rechte Taste kopiert. Ein zweiter Klick löscht den Text. Mit der
mittleren Taste fügen Sie den gelöschten Text vor der aktuellen
Position des Mauszeigers wieder ein.
Sie haben einen Fehler gemacht? Kein Problem: Mit dem Befehl Undo machen Sie
ihn ebenso wieder rückgängig wie jede andere Emacs-Funktion auch.
(Wählen Sie dazu Undo aus dem Menü Edit oder drücken Sie
einfach C-_.)
Falls Sie die Mauserei über alles lieben, können Sie auch die
Maustasten mit beliebigen Funktionen belegen -- wie die Tasten auf der
Tastatur auch. Probieren Sie folgenden Befehl in Ihrer Datei
.emacs
aus:
Wenn Sie anschließend die SHIFT-Taste festhalten und dazu die linke
Maustaste drücken, öffnet sich ein Fenster, in dem Sie Ihre E-Mail
schreiben können.
Wir empfehlen Ihnen, keine bestehenden Mausfunktionen umzudefinieren, aber
zusammen mit den Tasten SHIFT, CONTROL und META bleiben noch genug
Möglichkeiten offen. Sie können die Kürzel S-, C- und M-
für eigene Definitionen in beliebigen Zusammensetzungen kombinieren:
Lassen Sie uns ein wenig mit Fenstern herumspielen. Emacs hat schon immer ein
eigenes Fenster gehabt -- lange bevor das X Window System entstand. Deshalb
ist ein Fenster unter Emacs nicht dasselbe wie ein Fenster unter X. Was unter
X als Fenster bezeichnet wird, heißt im Emacs-Umfeld
Rahmen
(frame).
Wie würde es Ihnen gefallen, in mehreren Fenstern gleichzeitig zu
arbeiten? Drücken Sie dazu C-x52, und ein weiteres Fenster öffnet
sich. Der neue Rahmen stellt die aktuelle Editorsitzung noch einmal dar. Sie
können in den beiden Rahmen verschiedene Puffer bearbeiten, aber alles,
was Sie in einem Rahmen ändern, wirkt sich auch auf den entsprechenden
Puffer im anderen Rahmen aus. Wenn Sie Emacs mit C-x C-c verlassen, werden
beide Rahmen geschlossen. Wenn Sie nur einen Rahmen schließen
möchten, sollten Sie C-x50 eingeben.
Zum Abschluß unserer Erkundung von Emacs unter dem X Window System
wollen wir zeigen, welche phantastischen Dinge Sie mit Farben anstellen
können. Sie können die Farben während einer Emacs-Sitzung
ändern; das vereinfacht das Testen verschiedener Kombinationen.
Drücken Sie M-x und tippen Sie dann »set-background-color« ein.
Schicken Sie den Befehl mit RETURN ab. Am Prompt geben Sie dann
»ivory« oder die von Ihnen bevorzugte Farbe ein. (Emacs benutzt die
Schreibweise M-x, während wir in den anderen Teilen dieses Buches META-x
oder Alt-x benutzen.)
Achten Sie darauf, daß die Farben für den Vorder- und Hintergrund
so verschieden sind, daß Sie den Text noch lesen können! Neben
set-background-color kennt Emacs noch set-foreground-color, set-cursor-color
und set-mouse-color.
Dies kommt Ihnen vielleicht wie eine nette Spielerei vor, aber ihr wahres
Gesicht zeigen die Farben dann, wenn Sie verschiedene Bereiche des Textpuffers
in unterschiedlichen Farben darstellen lassen. Wenn Sie z.B. in C oder LISP
programmieren, können Sie für Strings, Kommentare, Funktionen und
Schlüsselwörter unterschiedliche Farben vergeben.
Sie müssen vor den Farbmanipulationen noch den Font-Lock-Modus
einstellen. Am einfachsten geht das mit folgenden Zeilen in Ihrer Startdatei
.emacs
:
Diese ziemlich komplexen Befehle bewirken, daß die Major-Modi immer den
Font-Lock-Modus einschalten, sobald ein Puffer in einem dieser Major-Modi
geöffnet wird. Der Font-Lock-Modus wird also immer dann aktiviert, wenn
Sie z.B. eine Datei mit dem Suffix
.c
bearbeiten.
Als nächstes wollen wir uns die verschiedenen Schrifttypen unter Emacs
ansehen. Drücken Sie M-x und geben Sie den Befehl list-faces-display ein.
Sie erhalten etwa folgende Liste:
Jetzt haben Sie die Möglichkeit, für jeden Schrifttyp interaktiv die
Vorder- und Hintergrundfarbe zu bestimmen. Ein Beispiel:
Sie werden die Veränderung sofort bemerken. Setzen Sie dann die
Vordergrund-(Text-)farbe:
Damit ist der Kontrast allerdings für das bequeme Lesen nicht groß
genug. Wiederholen Sie diesen Vorgang und setzen Sie die Vordergrundfarbe auf
»maroon«; das sieht besser aus.
Suchen Sie sich einen Puffer mit C- oder LISP-Code darin und versuchen Sie,
die anderen Schrifttypen mit neuen Farben zu versehen. Die Schrifttypen werden
den Elementen des Programmcodes ziemlich willkürlich zugeordnet. Die
Verwendung von Farben fügt Ihrem Code neue Dimensionen hinzu. Im C- und
C++-Modus erscheinen z.B.:
Es empfiehlt sich wahrscheinlich, die intensiveren Farben für kurze Texte
zu reservieren, die nur selten vorkommen.
Wenn Sie eine Farbzusammenstellung gefunden haben, die Ihnen gefällt,
sollten Sie diese mit Hilfe der entsprechenden LISP-Funktionen in Ihrer Datei
.emacs
verewigen. Hier ein Beispiel:
Sie haben auch die Möglichkeit, in Ihrer Datei
.Xdefaults
die Farben einzustellen; weil das aber mehr Aufwand erfordert, wollen wir hier
nicht darauf eingehen.
Adobe PostScript, das sich zu einem Standard entwickelt hat, ist eines der
beliebtesten Formate für den Austausch von Dokumenten in der Welt der
EDV. Viele Akademiker verbreiten ihre Schriften im PostScript-Format. Das
Linux Documentation Project bietet seine Handbuchseiten unter anderem auch in
Form von PostScript-Dateien an. Das ist ganz praktisch für die Leute, die
keine Zeit haben, LATEX-Dokumente zu formatieren, oder die über
ausreichende Netzwerkkapazitäten verfügen, um Dateien zu
übertragen. Wenn Sie selbst Schriftstücke mit
groff
oder TEX erstellen, ist es sicherlich von Vorteil, wenn Sie diese
zunächst am Bildschirm betrachten können, bevor Sie teure Ausdrucke
auf Papier herstellen.
Ghostview, eine GNU-Anwendung, bietet eine angenehme Arbeitsumgebung zum
Betrachten von PostScript unter dem X Window System. Ghostview ist sehr
einfach. Rufen Sie es zusammen mit dem Namen der anzuzeigenden Datei auf:
Das Ghostview-Fenster ist riesig; es kann ohne weiteres den größten
Teil des Bildschirms einnehmen. Die erste Seite des Dokuments wird zusammen
mit einer senkrechten Bildlaufleiste am rechten Rand und einer horizontalen
Leiste am unteren Rand angezeigt. Die Menüs erscheinen auf der linken
Seite des Fensters und die Seitenzahlen stehen rechts daneben.
Wie bei den meisten X-Anwendungen können auch in Ghostview häufig
benutzte Funktionen über die Menüs oder per Tastatur
(Accelerator-Tasten) aufgerufen werden. So gelangen Sie z.B. auf die
nächste Seite, indem Sie entweder das Menü Page öffnen und dort
Next anklicken, oder indem Sie einfach die SPACE-Taste drücken.
Sie gelangen auf die vorhergehende Seite, indem Sie Previous aus dem Menü
Page wählen. Wenn Sie auf eine ganz bestimmte Seite wechseln
möchten, bewegen Sie den Mauszeiger auf die entsprechende Zahl in der
Spalte mit den Seitenzahlen und drücken dann die mittlere Maustaste. Mit
Quit aus dem File-Menü verlassen Sie Ghostview -- oder geben Sie einfach
q ein.
Schriftstücke aus verschiedenen Ländern haben oft unterschiedliche
Seitenlängen. Die Voreinstellung für Ghostview ist das amerikanische
Format »letter«. (Sie können das in der PostScript-Datei
ändern.) Sie haben auch die Möglichkeit, auf der Befehlszeile ein
anderes Format einzustellen:
oder in Ihrer
.Xdefaults
-Datei:
Schließlich können Sie zur Laufzeit noch ein anderes Seitenformat
aus dem Menü Media auswählen.
Ghostview ermöglicht es, die Seite in einem anderen Maßstab
darzustellen, was bei der Kontrolle von Details Ihrer Formatierungsarbeit sehr
nützlich ist. (Ein Wort zur Warnung: Die Fonts auf dem Bildschirm sind
nicht identisch mit den Druckerfonts; deshalb wird das Aussehen der Zeichen
unter Ghostview nicht den gedruckten Zeichen entsprechen.) Wenn Sie einen
Ausschnitt aus der Seite vergrößern möchten, können Sie
den Mauszeiger dorthin bewegen und eine beliebige Maustaste drücken. (Die
rechte Maustaste liefert die stärkste, die linke Maustaste die geringste
Vergrößerung.)
Sie können außerdem aus dem Menü Magstep heraus den
voreingestellten Maßstab zur Anzeige des kompletten Schriftstücks
ändern. Je größer der Wert ist, den Sie einstellen, desto
stärker wird der Text vergrößert. Negative Werte verkleinern
das Dokument.
Zum Drucken einer Seite wählen Sie Print aus dem Menü File oder
geben nur p ein. Sie haben dann noch Gelegenheit, den richtigen Drucker
auszuwählen; Sie können die Vorgabe löschen und einen anderen
Namen eintragen. Der vorgegebene Name stammt aus Ihrer UNIX-Umgebung. Wenn Sie
also einen Drucker namens »doorway« haben, sollte in Ihrer
Startdatei etwa folgender Shell-Befehl stehen:
Sie können auch mehrere Seiten auf einmal drucken. Einzelne Seiten
wählen Sie mit einem Klick der mittleren Maustaste auf die entsprechenden
Zahlen aus. Sie können zusammenhängende Seiten ausdrucken, indem Sie
die erste Seite mit der linken und die letzte Seite mit der rechten Maustaste
anklicken; nach der Eingabe von p werden alle diese Seiten gedruckt.
Die Manual-Pages, mit dem Befehl
man
aufgeblättert, verkörpern die höchste Authorität auf einem
UNIX-System. Andere Bücher können zwar die Funktionalität eines
Befehls weitgehend erklären -- und das oft in einer angenehmer zu
lesenden Form -- aber nur in der Man-Page finden Sie alle Details.
Im Abschnitt
»
Manual-Pages
«
in
Kapitel 3
finden Sie alles Wichtige zu den Manual-Pages.
Mit dem Befehl
xman
steht Ihnen eine einfache X-Schnittstelle zu den Manual-Pages zur
Verfügung. Wie es sich für ein Tool zur Anzeige von Texten
gehört, enthält es auch eine ziemlich gute Beschreibung seiner
selbst. Damit Sie diese Dokumentation bequem lesen können, sollten Sie
das Programm mit einem großen Seitenformat starten:
Sie sehen als erstes einen kleinen Kasten mit drei Schaltflächen. Klicken
Sie auf den Button Manual Page, um das Hauptfenster zu öffnen, in dem Sie
den überwiegenden Teil der Arbeit erledigen werden.
Jetzt blicken Sie auf die Dokumentation zu
xman
. Lesen Sie hier bei einer anderen Gelegenheit weiter; im Augenblick sollten
Sie das Menü Options öffnen und den Punkt Search anklicken -- oder
drücken Sie CTRL-S. (Sie können das Options-Menü auch
öffnen, indem Sie die CTRL-Taste gedrückt halten und mit der linken
Maustaste klicken.) Geben Sie in dem Kasten, der sich dann öffnet, einen
Befehl oder eine Funktion ein, über die Sie mehr erfahren möchten;
beenden Sie die Eingabe mit RETURN. Der Inhalt des Hauptfensters wird dann
durch die entsprechende Man-Page ersetzt.
Falls Sie nicht wissen, wonach Sie suchen müssen, können Sie auch
das Menü Sections öffnen oder die CTRL-Taste zusammen mit der
mittleren Maustaste drücken. Wählen Sie aus dem Menü, das dann
erscheint, eine Section (Abschnitt) aus. Sie erhalten eine lange Liste mit den
Namen von Manual-Pages. Sobald Sie einen der Namen mit der linken Maustaste
anklikken, wird die Man-Page auf dem Bildschirm dargestellt.
Eine andere bewährte Methode der Suche nach Information ist der Befehl
apropos
(den wir bereits im Abschnitt
»
Manual-Pages
«
in
Kapitel 3
besprochen haben. Drücken Sie wieder CTRL-S, geben Sie dann einen Begriff
zu dem Thema ein, das Sie interessiert, und klicken Sie dann auf die
Schaltfläche Apropos. Falls es Man-Pages gibt, die zu Ihrem Suchbegriff
passen, werden die Namen zusammen mit einer kurzen Beschreibung angezeigt.
Leider lassen sich die entsprechenden Manual-Pages nicht mit einem Mausklick
aufrufen; diese kleine Vereinfachung fehlt in
xman
. Sie müssen also CTRL-S drücken und den Namen der gesuchten
Man-Page eintippen.
Das Blättern innerhalb einer Manual-Page ist einfach. Mit der SPACE-Taste
oder f bewegen Sie sich um eine Seite weiter, mit b geht es eine Seite
zurück. Sie können auch die Laufleiste benutzen, wie Sie es von
xterm
her gewohnt sind.
Jetzt haben Sie die Dokumentation im Griff! Klicken Sie auf die
Schaltfläche Help in dem kleinen Fenster, das beim Start von
xterm
erscheint. Zum Verlassen des Programms können Sie entweder CTRL-Q
drücken, auf den Button Quit klicken oder den Punkt Quit im Menü
Options anklicken.
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
EndSection
Section "ServerFlags"
# Uncomment this to cause a core dump at the spot where a signal is
# received. This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging
# NoTrapSignals
# Uncomment this to disable the <Crtl><Alt><BS> server abort
sequence
# DontZap
EndSection
Section "Keyboard"
Protocol "Standard"
AutoRepeat 500 5
ServerNumLock
EndSection
Section "Pointer"
Protocol "MouseSystems"
Device "/dev/mouse"
# Baudrate and SampleRate are only for some Logitech mice
# BaudRate 9600
# SampleRate 150
# Emulate3Buttons is an option for 2-button Microsoft mice
# Emulate3Buttons
# ChordMiddle is an option for some 3-button Logitech mice
# ChordMiddle
EndSection
Section "Monitor"
Identifier "CTX 5468 NI"
# These values are for a CTX 5468NI only! Don't attempt to use
# them with your monitor (unless you have this model)
HorizSync 30-38,47-50
VertRefresh 50-90
# Modes: Name dotclock horiz vert
ModeLine "640x480" 25 640 664 760 800 480 491 493 525
ModeLine "800x600" 36 800 824 896 1024 600 601 603 625
ModeLine "1024x768" 65 1024 1088 1200 1328 768 783 789 818
EndSection
HorizSync 31.5, 35.2, 37.9, 35.5, 48.95
ModeLine name dot-clock horiz-werte vertik-werte
# 640x480@60Hz Non-Interlaced mode
# Horizontal Sync = 31.5kHz
# Timing: H=(0.95us, 3.81us, 1.59us), V=(0.35ms, 0.064ms, 1.02ms)
#
# name clock horizontal timing vertical timing flags
"640x480" 25.175 640 664 760 800 480 491 493 525
ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525
Section "Device"
Identifier "#9 GXE 64"
# Noch nichts; wir tragen diese Werte später nach
EndSection
Section "Screen"
Driver "Accel"
Device "#9 GXE 64"
Monitor "CTX 5468 NI"
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 1024 768
EndSubsection
EndSection
Identifier "#9 GXE 64"
Modes "1024x768" "800x600" "640x480"
Informationen zur Grafikkarte eintragen
# X -showconfig
XFree86 Version 3.1 / X Window System
(protocol Version 11, revision 0, vendor release 6000)
Operating System: Linux
Configured drivers:
S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
mmio_928, s3_generic
# X -probeonly > /tmp/x.out 2>&1
% X -probeonly >& /tmp/x.out
XFree86 Version 3.1 / X Window System
(protocol Version 11, revision 0, vendor release 6000)
Operating System: Linux
Configured drivers:
S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
mmio_928, s3_generic
.
.
.
(--) S3: card type: 386/486 localbus
(--) S3: chipset: 864 rev. 0
(--) S3: chipset driver: mmio_928
Section "Device"
# We already had Identifier here...
Identifier "#9 GXE 64"
# Add this line:
Chipset "mmio_928"
EndSection
# chip ram virtual clocks default-mode flags
ET4000 1024 1024 768 25 28 38 36 40 45 32 0 "1024x768"
Clocks 25 28 38 36 40 45 32 0
(--) S3: clocks: 25.18 28.32 38.02 36.15 40.33 45.32 32.00 00.00
ClockChip "icd2061a"
Option "number_nine"
Option "dac_8_bit"
Section "Device"
# Device section for the #9 GXE 64 only !
Identifier "#9 GXE 64"
Chipset "mmio_928"
ClockChip "icd2061a"
Option "number_nine"
Option "dac_8_bit"
EndSection
Die Arbeit unter XFree86
startx
#!/bin/sh
xterm -fn 7x13bold -geometry 80x32+10+50 &
xterm -fn 9x15bold -geometry 80x34+30-10 &
oclock -geometry 70x70-7+7 &
xsetroot -solid midnightblue &
exec twm
Probleme mit XFree86
X > /tmp/x.out 2>&1
X konfigurieren
xinit
1 #!/bin/sh
2 # Sample .xinitrc shell script
3
4 # Start xterms
5 xterm -geometry 80x40+10+100 -fg black -bg white &
6 xterm -geometry -20+10 -fn 7x13bold -fg darkslategray -bg white &
7 xterm -geometry -20-30 -fn 7x13bold -fg black -bg white &
8
9 # Other useful X clients
10 oclock -geometry 70x70+5+5 &
11 xload -geometry 85x60+85+5 &
12 xbiff -geometry +200+5 &
13 xsetroot -solid darkslateblue &
14
15 # Start the window manager
16 exec fvwm
Abbildung 5-2.
Der Bildschirm, den die Beispieldatei .xinitrc erzeugt
xwertxywert+xabstand+yabstand
xterm -geometry -20+10 -fn 7x13bold -fg darkslategray -bg white &
exec fvwm
Die Ressource-Datenbank von X
(AnwendungsKlasse|anwendungsName)*(RessourceKlasse|ressourceName):wert
xterm*background: darkslategray
XTerm*Background: darkslategray
1 Clock*Geometry: 70x70+5+5
2 XLoad*Geometry: 85x50+85+5
3 XBiff*Geometry: +200+5
4
5 ! Defaults for all xterm clients
6 XTerm*Foreground: white
7 XTerm*Background: black
8
9 ! Specific xterms
10 xterm-1*Geometry: 80x40+10+110
11
12 xterm-2*Geometry: -20+10
13 xterm-2*Font: 7x13bold
14 xterm-2*Background: darkslategray
15
16 xterm-3*Geometry: 80x25-20-30
17 xterm-3*Font: 7x13bold
#!/bin/sh
# Sample .xinitrc shell script
# Load resources
xrdb -load $HOME/.Xdefaults
# Start xterms
xterm -name "xterm-1" &
xterm -name "xterm-2" &
xterm -name "xterm-3" &
# Other useful X clients
oclock &
xload &
xbiff &
xsetroot -solid darkslateblue &
# Start the window manager
exec fvwm
Der Fenster-Manager fvwm
fvwm konfigurieren
# Set up colors
StdForeColor white
StdBackColor midnightblue
HiForeColor white
HiBackColor red
Font -adobe-helvetica-medium-r-normal-*-*-120-*
WindowFont -adobe-helvetica-bold-r-normal-*-*-120-*
eggplant$ showrgb | more
# Configure virtual desktop
DeskTopSize 3x3
DeskTopScale 50
Pager -10 -10
EdgeScroll 100 100
Style "XBiff" StaysOnTop
StaysOnTop XBiff
IconFont -adobe-helvetica-medium-r-*-*-*-120-*
IconPath /usr/include/X11/bitmaps/
PixmapPath /usr/include/X11/pixmaps/
IconBox 700 0 1080 50
Style "*" Icon unknown.xpm
Style "XTerm" Icon xterm.xpm
Style "Mosaic" Icon mosaic.xpm
Style "*" Icon unknown.xpm
Icon "" unknown.xpm
Icon "XTerm" xterm.xpm
Icon "Mosaic" mosaic.xpm
Weitere Anpassungen
Popup "Xclients"
Title "Xclients"
Exec "Mosaic" exec Mosaic &
Exec "xterm" exec xterm &
Exec "emacs" exec emacs -w &
Nop ""
Exec "eggplant" exec xterm -e rlogin eggplant &
Exec "papaya" exec xterm -e rlogin papaya &
Nop ""
Exec "screensaver" exec xscreensaver-command -activate &
Exec "xcalc" exec xcalc &
Exec "xman" exec xman &
Exec "xlock" exec xlock -mode rotor &
EndPopup
Popup "Fvwm"
Title "Window Ops"
Move "Move Window"
Resize "Resize Window"
Raise "Raise Window"
Lower "Lower Window"
Iconify "Iconify Window"
Stick "Stick Window"
Nop " "
Popup "Xclients" Xclients
Nop " "
Destroy "Destroy Window"
Delete "Delete Window"
Nop " "
Exec "Load Xdefaults" exec xrdb -load $HOME/.Xdefaults
Restart "Restart Fvwm" fvwm
Restart "Start twm" twm
Quit "Quit Fvwm"
EndPopup
Mouse taste kontext sondertasten funktion
Abbildung 5-3.
Buttons in der fvwm-Titelzeile
# Button Context Modifi Function
Mouse 1 R N PopUp "Fvwm"
Mouse 2 R N PopUp "Xclients"
Mouse 3 R N WindowList
# Window titlebar buttons
Mouse 1 1 N Popup "Fvwm"
Mouse 1 3 N Iconify
Mouse 1 4 N Destroy
Mouse 1 2 N Resize
Key taste kontext sondertaste funktion
Key Up A C Scroll +0 -100
Key Down A C Scroll +0 +100
Key Left A C Scroll -100 0
Key Right A C Scroll +100 +0
X-Anwendungen
xterm -- Ihr Ausgangspunkt
xterm starten
eggplant$ xterm -geometry 80x25-20-30 -fn 7x13bold -sb -name xterm-3
! Defaults for all xterm clients
XTerm*scrollBar: true
! Specific xterms
xterm-3*Geometry: 80x25-20-30
xterm-3*Font: 7x13bold
xterm -name "xterm-3" &
Selection: ausschneiden und einfügen
Abbildung 5-5.
Markierter Text in xterm
Abbildung 5-6.
xterm-Fenster nach dem Einfügen des Textes
Scrollen
eggplant$ ls /bin
eggplant$ ls /usr/bin
eggplant$ cat ~/.*
XTerm*saveLines: 400
Einen Font wählen
-misc-fixed-bold-r-normal--13-100-100-100-c-70-iso8859-1
eggplant$ xlsfonts -fn -*-*-bold-*-*-*-*-*-*-*-m-*-*
xlsfonts: pattern "-*-*-bold-*-*-*-*-*-*-*-m-*-*" unmatched
eggplant$ xlsfonts *x*
eggplant$ xterm -fn -misc-fixed-bold-r-normal--13-100-100-100-c-70-iso8859-1
eggplant$ xfd -fn -misc-fixed-bold-r-normal--13-100-100-100-c-70-iso8859-1
XTerm*Font: 7x13bold
Die Uhren
oclock -geometry 70x70+5+5 &
xclock -geometry 150x150+5+5 &
xclock -digital -geometry +10-10
Die Mail-Programme xbiff und xmh
xbiff*emptyPixmap: mailempty
xbiff*fullPixmap: mailfull
xbiff*volume: 20
Xmh*geometry : 675x700
Xmh.clip*compGeometry : 675x500
eggplant$ xmh
Abbildung 5-8.
xmh-Fenster mit neuem Folder
Abbildung 5-9.
Pick-Fenster in xmh
Abbildung 5-10.
Pick-Fenster in xmh, ausgefüllt
Emacs
eggplant$ emacs -bg ivory -fg slateblue -ms orangered -cr brown
(if (getenv "DISPLAY")
(progn (menu-bar-mode -1)
(scroll-bar-mode -1))
(define-key global-map [S-mouse-1] 'mail)
(define-key global-map [S-C-mouse-1] 'mail)
(add-hook 'c-mode-hook '(lambda () (font-lock-mode 1)))
(add-hook 'c++-mode-hook '(lambda () (font-lock-mode 1)))
(add-hook 'lisp-mode-hook '(lambda () (font-lock-mode 1)))
(add-hook 'emacs-lisp-mode-hook '(lambda () (font-lock-mode 1)))
bold abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
bold-italic abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
default abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
highlight abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
italic abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
modeline abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
region abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
secondary-selection abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
underline abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
(set-background-color "ivory")
(set-foreground-color "slateblue")
(set-cursor-color "brown")
(set-mouse-color "orangered")
(set-face-foreground 'bold "black")
(set-face-background 'bold "lightpink")
(set-face-foreground 'bold-italic "red")
(set-face-background 'bold-italic "wheat")
(set-face-foreground 'italic "darkolivegreen")
(set-face-background 'modeline "lemonchiffon")
(set-face-foreground 'modeline "maroon")
(set-face-foreground 'underline "violet")
Ghostview -- PostScript anzeigen
eggplant$ ghostview article.ps
eggplant$ ghostview -a3 article.ps
Ghostview*pageMedia: A3
export PRINTER=doorway
xman: Per Mausklick zu den Manual-Pages
eggplant$ xman -pagesize 650x600
Fußnoten
Vorherige
Abschnitt
Nächste Abschnitt