Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einleitung
2 Die Installation
3 Erste Schritte
4 Linux als Workstation für Einsteiger
5 Der Kernel
6 Die Grundlagen aus Anwendersicht
7 Die Shell
8 Reguläre Ausdrücke
9 Konsolentools
10 Die Editoren
11 Shellskriptprogrammierung mit der bash
12 Die C-Shell
13 Benutzerverwaltung
14 Grundlegende Verwaltungsaufgaben
15 Netzwerkgrundlagen
16 Anwendersoftware für das Netzwerk
17 Netzwerkdienste
18 Mailserver unter Linux
19 LAMP
20 DNS-Server
21 Secure Shell
22 Die grafische Oberfläche
23 Window-Manager und Desktops
24 X11-Programme
25 Multimedia und Spiele
26 Prozesse und IPC
27 Bootstrap und Shutdown
28 Dateisysteme
29 Virtualisierung und Emulatoren
30 Softwareentwicklung
31 Crashkurs in C und Perl
32 Einführung in die Sicherheit
33 Netzwerksicherheit überwachen
A Lösungen zu den einzelnen Aufgaben
B Kommandoreferenz
C X11-InputDevices
D MBR
E Die Buch-DVDs
F Glossar
G Literatur
Stichwort

Download:
- ZIP, ca. 15,7 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Linux von Johannes Pl&ouml;tner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
geb., mit 2 DVDs
1302 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1704-0
Pfeil 22 Die grafische Oberfläche
  Pfeil 22.1 Geschichtliches
  Pfeil 22.2 Und so funktioniert's
    Pfeil 22.2.1 Client, Server, Protokoll
    Pfeil 22.2.2 Toolkit und XLib
    Pfeil 22.2.3 Wohin soll die Reise gehen?
    Pfeil 22.2.4 Zugriffskontrolle
    Pfeil 22.2.5 xhost
    Pfeil 22.2.6 Benutzer und xauth
    Pfeil 22.2.7 Terminals
  Pfeil 22.3 Weitere Standardtools für X11
  Pfeil 22.4 Konfiguration
    Pfeil 22.4.1 xorgconfig
  Pfeil 22.5 /etc/X11/xorg.conf
    Pfeil 22.5.1 Section »Module«
    Pfeil 22.5.2 Section »Files«
    Pfeil 22.5.3 Section »ServerFlags«
    Pfeil 22.5.4 Section »InputDevice«
    Pfeil 22.5.5 Section »Monitor«
    Pfeil 22.5.6 Section »Device«
    Pfeil 22.5.7 Section »Screen«
    Pfeil 22.5.8 Section »ServerLayout«
    Pfeil 22.5.9 Optionale Sections
  Pfeil 22.6 Treiber für Nvidia- und ATI-Karten
    Pfeil 22.6.1 Nvidia-Grafikkarten
    Pfeil 22.6.2 ATI-Grafikkarten
    Pfeil 22.6.3 Funktionstest
    Pfeil 22.6.4 Welche Karte ist die beste?
  Pfeil 22.7 3D-Desktop und Transparenz
  Pfeil 22.8 Window-Manager und Desktops
    Pfeil 22.8.1 Aufgaben
    Pfeil 22.8.2 Konzepte
    Pfeil 22.8.3 Was steht zur Auswahl?
  Pfeil 22.9 Grafischer Login
  Pfeil 22.10 Tuning
    Pfeil 22.10.1 Xinerama und DualHead
    Pfeil 22.10.2 X11 in einem Fenster
    Pfeil 22.10.3 Mehrere X-Sessions
  Pfeil 22.11 Becoming Root
  Pfeil 22.12 Zusammenfassung
  Pfeil 22.13 Aufgabe


Galileo Computing - Zum Seitenanfang

22.2 Und so funktioniert's  Zur nächsten ÜberschriftZur vorigen Überschrift

Nun werden wir uns etwas genauer mit der Funktionsweise des X-Window-Systems auseinandersetzen. Dazu sei zunächst gesagt, dass X11 client/server-basiert ist.


Galileo Computing - Zum Seitenanfang

22.2.1 Client, Server, Protokoll  Zur nächsten ÜberschriftZur vorigen Überschrift

Das X-Window-System ist also client/server-basiert. Der X-Server kümmert sich dabei um die Steuerung der Geräte, etwa um die Maus- und Tastatureingabe und die Bildschirmausgabe des Rechners, an dem der Anwender arbeitet.

Einen X-Client hingegen findet man in Form eines X11-Programms, etwa eines grafischen Terminals oder eines Textverarbeitungsprogramms. Diese Programme können auf Remote-Systemen oder lokal gestartet werden und kommunizieren dann mit dem jeweils gewünschten X-Server. Der X-Client sendet also beispielsweise seine Ausgabewünsche für den Bildschirm an den X-Server, der diese anschließend ausgibt. Der X-Server hingegen sendet beispielsweise die Tastatureingabe zur Verarbeitung an den X-Client. X-Server und X-Client kommunizieren dabei über ein entsprechendes X-Protokoll, dessen Quellen frei zugänglich sind.

Abbildung 22.1  X-Window-System


Der X-Server läuft also auf der lokalen Workstation des Anwenders, und ein X-Client kann sowohl auf dem lokalen als auch auf einem beliebigen anderen System laufen.


Daher ist es nur logisch, dass die hardwareabhängigen Komponenten von den hardwareunabhängigen Komponenten des Systems getrennt sind.


Galileo Computing - Zum Seitenanfang

22.2.2 Toolkit und XLib  Zur nächsten ÜberschriftZur vorigen Überschrift

Mit dem X-Window-System wird eine Library, die XLib, ausgeliefert, mit der X11- Programme entwickelt werden können. Die XLib kümmert sich dabei um die Kommunikation mit dem X-Server. Da die Programmierung mit der XLib jedoch äußerst komplex ist, gibt es für eben diese Library verschiedene Toolkits wie Qt, Gtk oder Tk, auf denen auch große Oberflächen wie KDE oder GNOME aufsetzen.

Man entwickelt daher Programme nicht direkt mit XLib, sondern mit der Abstraktionsebene der Toolkits. Dies spart Zeit, Quellcode und hält den Code übersichtlicher. Außerdem bringen die Toolkits mittlerweile eine ganze Reihe von Features mit, die man in der reinen XLib nicht findet und erst durch aufwendigen Code erzeugen müsste.

Der Vorteil von XLib und Toolkits besteht aber auch darin, dass sich weder Entwickler noch Anwender um die Kommunikation zwischen X-Client und X-Server kümmern müssen; die gesamte Kommunikation läuft transparent ab. Man spricht hierbei auch von Netzwerktransparenz. Es macht folglich keinen Unterschied, ob man eine Anwendung lokal oder von einem entfernten Rechner startet. Zudem können X-Clients aufgrund ihrer Hardwareunabhängigkeit hervorragend auf andere Systeme portiert werden.

Einen Einblick in die Programmierung mit der XLib und in die Programmierung mit dem Gtk-Toolkit erhalten Sie in [Wolf06A].


Galileo Computing - Zum Seitenanfang

22.2.3 Wohin soll die Reise gehen?  Zur nächsten ÜberschriftZur vorigen Überschrift

Wenn nun ein X-Client auf einem Rechner gestartet wird, muss dieser wissen, mit welchem X-Server er kommunizieren soll. Dazu verwendet man die Shellvariable DISPLAY. In dieser werden die Adresse des X-Servers, die Display-Nummer und die Nummer des virtuellen Desktops angegeben. Damit kann genau festgelegt werden, wo das bzw. die Anwendungsfenster angezeigt werden soll(en). Der Aufbau der Variablen wird dabei in der Form Adresse:Display.Desktop gehalten:

$ echo $DISPLAY
192.168.0.3:0.0

Listing 22.1  DISPLAY-Variable

Dabei ist Display Nummer 0 immer das erste Display, und »0« ist auch immer der erste virtuelle Desktop. Möchte man sich nur mit dem lokalen X-Server verbinden, genügt es übrigens, die DISPLAY-Variable auf den Wert :0 zu setzen, also Adresse und virtuellen Desktop wegzulassen.


Galileo Computing - Zum Seitenanfang

22.2.4 Zugriffskontrolle  Zur nächsten ÜberschriftZur vorigen Überschrift

Um wenigstens den Hauch von Sicherheit in dieses Netzwerksystem zu bringen, implementierte man die Zugriffskontrolle auf den X-Server. Damit verhindert man, dass fremde Rechner oder Benutzer den X-Server ansprechen können.


Galileo Computing - Zum Seitenanfang

22.2.5 xhost  Zur nächsten ÜberschriftZur vorigen Überschrift

Die Zugriffskontrolle für X11 steuert man mit dem Programm xhost, das Bestandteil der Oberfläche ist. Ist man nämlich nicht unter den auserwählten autorisierten Hosts, bekommt man beim Versuch, einen X-Client zu starten, eine entsprechende Fehlermeldung von der XLib.

Error: Can't open display: :0.0.
Xlib: connection to ":0.0" refused by server

Listing 22.2  Keine Rechte für X

Um einem Host den Zugriff auf den X-Server zu erlauben bzw. zu untersagen, genügt ein xhost-Aufruf mit dem + (erlauben) bzw. – (verbieten) vor dem Hostnamen, um die Autorisierung des X-Servers abzuändern.

# xhost +localhost

Listing 22.3  xhost


Galileo Computing - Zum Seitenanfang

22.2.6 Benutzer und xauth  Zur nächsten ÜberschriftZur vorigen Überschrift

NIS

Wer aufgepasst hat, wird vielleicht bemerkt haben, dass hier nur ganze Hosts den Zugriff auf das System bekommen – oder eben nicht bekommen. Einzelne Benutzer können auf diese Weise nicht mit einer Autorisierung bedacht werden. Mittels Remote Procedure Calls (RPC) und NIS, das wir in Abschnitt 13.5 besprachen, ließe sich dieses Problem zwar beheben, aber auf diese Weise würde man mit Kanonen auf Spatzen schießen. Aber der Vollständigkeit halber sei gesagt, dass sich die Administration dann mit folgendem Befehl erledigt:

# xhost +nis:user@domain

Listing 22.4  xhost und NIS

xauth

Die Alternative zu xhost nennt sich xauth und erspart einem genau diesen Administrationsaufwand. Bei diesem System verfügt der Benutzer über einen oder mehrere Schlüssel, die in der Datei ~/.Xauthority im Heimatverzeichnis eingetragen werden. Mit diesen Schlüsseln kann dann die Anmeldung am X-Server über verschiedene kryptografische Algorithmen wie etwa Tripple-DES erfolgen. Die Möglichkeiten, die Ihnen hierbei zur Verfügung stehen, finden Sie in der jeweiligen Manpage zu Xsecurity sowie in unserem Buch »Praxisbuch Netzwerksicherheit«. An dieser Stelle muss der Hinweis auf diese Möglichkeit genügen.


Galileo Computing - Zum Seitenanfang

22.2.7 Terminals  topZur vorigen Überschrift

Damit man auch unter X11 nicht auf die Shell verzichten muss, gibt es Software, die eine Shell in einem Anwendungsfenster ausführt. Die Eingaben werden dabei an die Shell weitergeleitet, und die Ausgaben der Shell werden im Anwendungsfenster ausgegeben. Solche Terminalsoftware ist die wohl wichtigste Anwendersoftware unter X11. Standardmäßig wird der Xterm mit X11 ausgeliefert. Es gibt aber auch viele weitere Implementierungen anderer Entwickler, die zusätzliche Features wie einen transparenten Hintergrund implementieren. Außerdem bringen viele Desktopsysteme wie etwa KDE und GNOME ihre eigenen Terminals mit. Doch dazu mehr an späterer Stelle.

Dieser Abschnitt behandelt den Xterm, da dieser zum Standardumfang des X-Window-Systems gehört. Für Desktopsysteme und weitere Anwendersoftware sind jeweils eigene Kapitel vorgesehen.

Xterm

Der Xterm ist wie gesagt das Standardterminal unter X11. Die Funktionalitäten von Xterm fallen dabei minimalistisch aus. Trotzdem kann diese Software – mit Ausnahme von multiplen Terminals in einem Fenster – alle wirklich wichtigen Anforderungen des Anwenders befriedigen.

Typischerweise übergibt man Xterm nicht allzu viele Parameter. Nützlich ist jedoch vor allem der Parameter -e. Er bewirkt, dass im Terminal ein bestimmtes Programm ausgeführt wird. Dies eignet sich unter anderem hervorragend zur Prozessüberwachung mit top: xterm -e top.

Ebenfalls beliebt sind die Parameter zur Farbkonfiguration, die mit -bgcolor <Farbe> für den Hintergrund und -fgcolor <Farbe> für den Vordergrund bestimmt werden können. Gültige Werte finden Sie in der Manpage zu xterm. [Hier dennoch einige Beispiele zum Ausprobieren: green, blue, black, lightblue, lightgreen, darkgreen, cyan3, gray90.]

Abbildung 22.2  Xterm und Farben

Die Konfiguration von Xterm kann aber auch ganz einfach via Mausklick erfolgen. Dazu drückt man die Taste Strg und dazu entweder

  • die linke Maustaste, um die Hauptoptionen zu verändern (hierzu gehört auch das Senden von Signalen),
  • die mittlere Maustaste für Optionen, die das virtuelle Terminal selbst betreffen (etwa das Ein- und Ausschalten der Scrollbar), oder
  • die rechte Maustaste für die Optionen der Schrift und des Zeichensatzes (kleine Schriften, große Schriften, UTF-8-Unterstützung usw.).

Abbildung 22.3  Xterm-Optionen

Weitere X11-Terminals

Neben dem Xterm gibt es noch weitere, bekannte Terminals wie die KDE-Konsole oder den Eterm. Beide unterstützen übrigens auch transparente Hintergründe.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Linux, Ausgabe 2011






Linux, Ausgabe 2011
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux-Server






 Linux-Server


Zum Katalog: Linux Hochverfügbarkeit






 Linux Hoch-
 verfügbarkeit


Zum Katalog: LPIC-1






 LPIC-1


Zum Katalog: Debian GNU/Linux






 Debian GNU/Linux


Zum Katalog: openSUSE 11.2






 openSUSE 11.2


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2011
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de