[Next] [Previous] [Top]
UNIX-Lehrtext
Das X-Window-System ist ein frei erhältliches Window-System, das am MIT entwickelt wurde. Es läuft auf vielen verschiedenen Plattformen und gestattet es, sich Fenster über das Netz von einer anderen Maschine öffnen zu lassen. Die Portabilität und die Netzwerkfähigkeit von X machen es anderen Window-Systemen (wie etwa Sunview) überlegen. Es gibt einige kommerzielle Produkte (z.B. Openlook und Motif), die auf X aufbauen und daher ähnlich zu benutzen sind. Die derzeit aktuelle Version von X ist X11, momentan Release 5 (oft als X11R5 bezeichnet). Die folgenden Ausführungen beziehen sich auf X11. In graphischen Oberflächen, die auf X11 aufbauen, haben die Kommandos oft andere Namen und Optionen. Die prinzipielle Funktionsweise ist aber dieselbe.
Loggt man sich an einer X-fähigen Maschine ein, so erfolgt oft schon das Login unter X, und nach dem Einloggen erscheinen dann meistens mehrere Fenster. An manchen Systemen muss X11, d.h. der X-Server, erst gestartet werden. Das dafür notwendige Kommando ist oft so etwas wie xinit oder xstart, eine feste Regel gibt es jedoch nicht.
Es gibt viele Anwendungen unter X11:
- der xterm Terminal-Emulator (das sind die netten Fenster, in denen man Kommandos absetzen kann); ein ganz einfaches xterm wird mit dem Kommando "xterm &" gestartet.
- diverse Window-Manager; diese kümmern sich um die (Un)Ordnung der Fenster sowie deren funktionelle und dekorative Verzierungen.
- das Informationssystem von IBM, Info-Explorer genannt, kann mit info aktiviert werden (im AIX).
- einige hübsche kleine Programme, z.B. die Uhr xclock oder xbiff, ein Programm, das visuell und akustisch über neue E-Mail informiert.
- Graphik-Programme; davon gibt es sehr viele. Einige gebräuchliche, frei erhältliche Programme sind die beiden Viewer ghostview und xv. Das Programm ghostview dient dazu, PostScript-Dokumente oder EPS-Files zu betrachten, während xv dazu dient, Bilder anzuschauen und deren Format zu konvertieren.
- mit X kann man sich selbst die graphischen Oberflächen von Programmen zusammenstellen
Viele Dinge um X herum, z.B. welcher Window-Manager verwendet wird oder welche Graphikprogramme zur Verfügung stehen, sind völlig von der lokalen Installation abhängig und werden daher hier nicht diskutiert. Auf den folgenden Seiten werden einige grundlegende Dinge zu X erklärt, so dass es Ihnen möglich sein sollte, sich durch Ihr lokales System durchzukämpfen -- auch wenn es sich dabei um einen wahren X-Dschungel handeln sollte!
11.1 Die Rolle der Maus
Sitzt man vor einem X-Window-Bildschirm mit einigen offenen Fenstern, so sieht man, dass das Bewegen der Maus den sog. Mauscursor über den Bildschirm bewegt. Wenn er sich innerhalb eines Fensters befindet, so kann dieses als aktiv, d.h. zur Eingabe bereit, markiert werden. So eine Markierung erfolgt etwa über einen Farbwechsel der Titelleiste. Manche Window-Manager verlangen hingegen, dass ein Fenster durch eine zusätzliche Aktion wie das Drücken eines Mausknopfes aktiviert wird. Wenn kein Fenster aktiv ist und man dennoch eine Eingabe versucht, so geschieht überhaupt nichts.
Der reine Hintergrund, auf dem sich all die Fenster und sonstigen Anwendungen befinden, heisst "Root Window".
Die Wirkung, die durch das Drücken eines der drei Mausknöpfe erzielt wird, hängt vom Kontext ab, in dem dieser Knopf gedrückt wird. Der Kontext bestehtaus
- dem Hintergrund, vor dem sich der Mauscursor bei Drücken des Knopfes befindet: war es vor dem Root Window, vor einem Fensterkörper oder vor einer Titelleiste?
- den Tasten, die gleichzeitig mit dem Mausknopf gedrückt werden.
Hier ist eine Liste von gebräuchlichen Kontexts und ihren Wirkungen. Die resultierenden Aktionen, die in dieser Liste aufgeführt werden, können nur Beispiele sein, da sie in den meisten Fällen vom Window-Manager - z.B. mwm - und lokalen Konfigurationen abhängen.
- Titelleiste eines Fensters
- Bewegen eines Fensters, sowie Aendern der Position des Fensters im Fenster-Stapel; abhängig vom Windowmanager.
- Grössenversteller in der Titelleiste
- dient zum Aendern der Fenster-Grösse; hängt vom Windowmanager ab, wird aber sehr häufig verwendet (oft ein kleines Kästchen am rechten Rand der Titelleiste). Der genaue Mechanismus ist aber für verschiedene Windowmanager unterschiedlich.
- Icon-Marke in der Titelleiste
- verwandelt das Fenster in ein kleines Kästchen (Icon), das am Rand des Bildschirms erscheint. Hängt vom Windowmanager ab, wird aber sehr häufig verwendet.
- Icon
- der Mausdruck auf ein Icon restauriert das Fenster wieder, von dem das Icon erzeugt wurde.
Am besten probieren Sie gleich einmal aus, welchen Effekt die verschiedenen Mausknöpfe auf den diversen Kontexten auf Ihrem System haben!
Aehnlich wie die Shell hat auch das X-Window-System Startup-Dateien. Diese kontrollieren z.B., welche Farbe und Schriftart ein xterm als Voreinstellung hat, welche Anwendungen automatisch nach dem Login gestartet werden, wo System-Meldungen erscheinen sollen usw. Leider gibt es keine Konventionen, wie diese Startup-Dateien heissen. Die Namen hängen daher von der lokalen Installation ab. Beispiele: ".xinitrc", ".Xdefaults", usw.
Dieses Ding ist -- neben Ihnen -- verantwortlich für das Chaos auf Ihrem Bildschirm. Meistens führt der Windowmanager an der Seite des Bildschirms eine Liste aller derzeit laufenden X-Anwendungen. Er stattet die xterms mit Titelleiste, Grössenversteller und Icon-Marke aus. Oft werden auch mehrere Pull-Down-Menüs zur Verfügung gestellt, die durch Drücken der Mausknöpfe vor dem Root-Window zugänglich werden.
Eine der Aufgaben des Windowmanagers ist es, Fenster zu bewegen und an die richtige Stelle zu setzen. Erscheint ein neues Fenster, so zeigt der Windowmanager meist ein Gitter, das am Maus-Cursor hängt. Mithilfe des Mauscursors kann nun dieses Gitter an die gewünschte Stelle des Bildschirmes gebracht werden. Drücken eines Mausknopfes positioniert das Fenster.
Auch der Windowmanager hat eine Startup-Datei. So heisst die Startup-Datei des twm ".twmrc", bzw. des mwm ".mwmrc". In dieser Datei befindet sich u.a. die Beschreibung der Menüs, die unter verschiedenen Kontexten verfügbar sind.
11.4 Die Terminalemulation xterm
Der einfachste Weg, ein xterm zu starten, ist durch Eingabe des Kommandos
xterm &
Dabei nicht das &-Zeichen für den Start im Hintergrund vergessen, da sonst das Terminal, von dem aus das Kommando abgesetzt wurde, darauf wartet, dass das neue xterm beendet ist, bevor der Prompt wieder erscheint.
Es gibt einige Optionen, mit denen man das Erscheinungsbild des xterm steuern kann. Hier eine kleine Liste:
- -fn <Schriftart>
- das Fenster erscheint mit der angegebenen Schriftart (Font). Leider gibt es keine einfache und bequeme Möglichkeit, sich alle verfügbaren Schriftarten anzusehen. Die Kommandos xlsfonts, xfd fontname und xfontsel können dabei helfen, sofern sie auf Ihrem System vorhanden sind (siehe auch die entsprechenden Manuale). Einige gebräuchliche Schriftarten sind 6x10 (sehr klein), 6x13, 7x14, 10x20 (gross). Diese Fontnamen sind übrigens Abkürzungen; Fontnamen unter X sind nämlich sehr lang. Siehe dazu auch die Manuale zu X und xterm.
- -geometry <Geometrie>
- dient zur Angabe von Grösse und Plazierung des Fensters. Geometrie ist ein Ausdruck der Form "Spalten x Reihen +xoffset +yoffset". Das bedeutet, dass ein xterm so viele Zeichen pro Zeile haben soll, wie Spalten, und so viele Zeilen, wie Reihen angegeben sind. xoffset und yoffset bestimmen den Ort des Fensters. Sie werden in Pixeln vom linken Bildrand bzw. vom oberen Bildrand aus gemessen. Ersetzt man die "+" Zeichen durch "-", so wird von rechts bzw. von unten aus gemessen. Es können auch nur die Reihen und Spalten oder nur die Plazierung angegeben werden. Innerhalb der Option dürfen keine Leerzeichen auftauchen.
- -bg <Farbe>
- setzt die Hintergrund-Farbe. Farben können mit besonderen Farbnamen angegeben werden. Die Farbnamen können durch showrgb aufgerufen werden.
- -fg <Farbe>
- setzt die Farbe des Fenstervordergrundes.
- -n <Name>
- Der Name des Fenster im iconifizierten Zustand.
- -T <Titel>
- Der Titel des Fensters, der in der Titelleiste erscheint.
- -e <Kommando>
- Kommando wird ausgeführt, wenn das Fenster aktiviert wurde. Diese Option muss als letzte angegeben werden.
xterm -fn 7x14 -g 80x60 -n Manual -T Manual -e man xterm &
startet ein langes Fenster mit einem etwas grösseren Font, das als Icon und in der Titelleiste "Manual" genannt wird. In diesem Fenster wird die Manualseite für xterm aufgerufen. Einige Windowmanager können einen Teil dieser Optionen ignorieren.
11.5 Benutzung von X im Netzwerk (xhost, DISPLAY)
Stellen Sie sich ein xterm vor, in dem Sie ein rlogin an eine andere Maschine laufen haben. Sie wollen nun auf dieser anderen Maschine eine X-Anwendung starten, aber diese natürlich auf der Maschine, vor der Sie sitzen, dargestellt haben. Diese Situation ist ziemlich häufig gegeben, wenn spezielle Programme nur an einigen Maschinen verfügbar sind. Damit das funktioniert, müssen Sie nun zwei Dinge tun:
1.) xhost
Erlauben Sie der entfernten Maschine, Fenster auf Ihrem Bildschirm zu öffnen. Dies könnte theoretisch durch Absetzen des Kommandos
xhost Name_der_entfernten_Maschine
auf der lokalen Maschine geschehen.
Aber Achtung! Irgendein User auf der entfernten Maschine, z.B. rzuaix, kann
sich nun Ihren Bildschirm anschauen. Das Zentrum Informatikdienste empfiehlt daher eine zweite Methode, den MAGIC-COOKIE-Mechanismus, der an einem anderen Ort beschrieben ist... Siehe
man xauth
Dabei befindet sich auf der lokalen Maschine im Homedirectory ein File mit dem Schlüssel, das nur der Eigentümer lesen kann; es heisst ".Xauthority". Dieser Schlüssel muss dem zutrittsberechtigten User geschickt werden, welcher den Schlüssel in sein eigenes .Xauthority-File einbaut. Dieses File, das angeschaut werden kann, wird mit dem xauth-Programm verwaltet. Das Ganze ist etwas umständlich und muss nach jedem Starten des X-Servers auf der lokalen Maschine neu gemacht werden (.xinitrc), da der Schlüssel neu generiert wird und nicht ewig gilt.
2.) DISPLAY
Teilen Sie der entfernten Maschine mit, wo die X-Anwendung dargestellt werden soll. Dazu setzen Sie die Variable DISPLAY auf der entfernten Maschine auf den Display-Namen Ihrer lokalen Maschine. Der Display-Name ist
Maschinenname:0
falls an der Maschine nur ein Bildschirm hängt. Bei mehreren Bildschirmen ändert sich lediglich die Ziffer am Ende des Display-Namens. Das Setzen der DISPLAY Variable würde in ksh durch folgendes Kommando auf der entfernten Maschine geschehen:
export DISPLAY=lokaler_Maschinenname:0
Sind diese beiden Schritte durchlaufen, so genügt es, das Kommando für die X-Anwendung auf der entfernten Maschine zu geben.
Es gibt einige besonders dumme Programme, die sich unter X beschweren, wenn man sie auf der eigenen, lokalen Maschine ausführen will. Zunächst sollte man nachsehen, ob die Variable DISPLAY richtig gesetzt ist (das gilt auch für weniger dumme Programme) und sie eventuell richtig setzen. Hilft das immer noch nichts, muss man das Kommando xhost auf der lokalen Maschine mit dem lokalen Maschinennamen angeben.
- 11.1 Die Rolle der Maus
-
- 11.2 Startup-Dateien in X
-
- 11.3 Der Window-Manager
-
- 11.4 Die Terminalemulation xterm
-
- 11.5 Benutzung von X im Netzwerk (xhost, DISPLAY)
-
UNIX-Lehrtext - 23 SEP 94
[Next] [Previous] [Top]
Generated with WebMaker