Update to r42828:

Renames this section to "Terminology".
Separates window manager and desktop environment.

Reviewed by:	bcr
Differential Revision:	https://reviews.freebsd.org/D3860
This commit is contained in:
Bjoern Heidotting 2015-10-09 21:29:46 +00:00
parent 7700be84c4
commit a12d288c49
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=47528

View file

@ -4,7 +4,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/x11/chapter.xml,v 1.79 2012/04/30 16:18:12 bcr Exp $
basiert auf: r42655
basiert auf: r42828
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="x11">
<info><title>Das X-Window-System</title>
@ -73,218 +73,163 @@
</sect1>
<sect1 xml:id="x-understanding">
<title>X-Grundlagen</title>
<title>Terminologie</title>
<para>Anwendern anderer grafischer Benutzeroberflächen, wie
&microsoft.windows; oder &macos;, kommt X beim ersten Mal oft
befremdlich vor.</para>
<para>Obwohl es nicht nötig ist, alle Details der verschiedenen
Komponenten des X Window Systems und deren Zusammenspiel zu
verstehen, kann es trotzdem nützlich sein die Grundlagen dieser
Komponenten zu verstehen:</para>
<para>Man braucht kein weitreichendes Verständnis der
X-Komponenten und Ihres Zusammenspiels, um X anzuwenden. Um die
Stärken von X auszunutzen, sollten Sie allerdings die Grundlagen
verstehen.</para>
<variablelist>
<varlistentry>
<term>X-Server</term>
<sect2>
<title>Warum heißt es X?</title>
<listitem>
<para>X wurde von Anfang an netzwerktransparent entworfen
und verwendet ein <quote>Client-Server-Modell</quote>. In
diesem Modell läuft der <quote>X-Server</quote> auf dem
Rechner, an dem die Tastatur, der Bildschirm und die Maus
angeschlossen ist. Der Server ist für Dinge wie die
Verwaltung des Bildschirms und die Verarbeitung von
Tastatur- und Maus-Eingaben sowie anderer Ein- und
Ausgabegeräte, wie beispielsweise ein Tablet oder ein
Videoprojektor, verantwortlich.</para>
</listitem>
</varlistentry>
<para>X ist nicht die erste grafische Benutzeroberfläche,
die für &unix; geschrieben wurde. Die Entwickler von
X arbeiteten vorher an einem anderen System, das W (von engl.
<foreignphrase>window</foreignphrase>: Fenster) hieß.
X ist schlicht der nächste Buchstabe im Alphabet.</para>
<varlistentry>
<term>X-Client</term>
<para>X wird <quote>X</quote>, <quote>X-Window-System</quote>
oder <quote>X11</quote> genannt. Sagen Sie bitte nicht
<quote>X-Windows</quote>: das kommt bei einigen Leuten schlecht an
(die Hilfeseite &man.X.7; führt dies näher aus).</para>
</sect2>
<listitem>
<para>Jede X-Anwendung, wie beispielsweise
<application>XTerm</application> oder
<application>Firefox</application> ist ein
<quote>X-Client</quote>. Der Client
sendet dem Server Nachrichten wie <quote>Zeichne an diesen
Koordinaten ein Fenster</quote> und der Server sendet dem
Client Nachrichten der Art <quote>Der Benutzer hat gerade
den Ok-Knopf gedrückt</quote>.</para>
<sect2>
<title>Das Client/Server-Modell von X</title>
<para>In kleinen Umgebungen laufen der X-Server und die
X-Clients auf demselben Rechner. Es ist auch möglich, den
X-Server auf einem weniger leistungsfähigen Rechner laufen
zu lassen und die X-Anwendungen auf einem
leistungsfähigeren Rechner zu betreiben. In diesem Fall
kommunizieren der X-Server und die X-Clients über das
Netzwerk.</para>
</listitem>
</varlistentry>
<para>X wurde von Anfang an netzwerktransparent entworfen und
verwendet ein Client-Server-Modell. In diesem Modell läuft
der Server auf dem Rechner, an dem die Tastatur, der Bildschirm
und die Maus angeschlossen ist. Der Server ist für Dinge
wie die Verwaltung des Bildschirms und die Verarbeitung von
Tastatur- und Maus-Eingaben sowie anderer Ein- und
Ausgabegeräte (beispielsweise könnte ein
<quote>Tablet</quote> zur Eingabe oder ein Videoprojektor
zur Ausgabe verwendet werden) verantwortlich. Jede X-Anwendung,
beispielsweise ein <application>XTerm</application> oder
<application>Firefox</application> ist ein Client. Der Client
sendet dem Server Nachrichten wie <quote>Zeichne an diesen
Koordinaten ein Fenster</quote> und der Server sendet dem Client
Nachrichten der Art <quote>Der Benutzer hat gerade den Ok-Knopf
gedrückt</quote>.</para>
<varlistentry>
<term>Window-Manager</term>
<para>In kleinen Umgebungen laufen der X-Server und die X-Clients auf
demselben Rechner. Es ist aber durchaus möglich, den X-Server
auf einem weniger leistungsfähigen Arbeitsplatzrechner laufen
zu lassen und die X-Anwendungen (die Clients) auf dem
leistungsfähigen und teuren Server der Arbeitsgruppe
zu betreiben. In diesem Fall kommunizieren der X-Server und die
X-Clients über das Netz.</para>
<listitem>
<para>X schreibt nicht vor, wie Fenster auf dem Bildschirm
auszusehen haben, wie sie mit der Maus zu verschieben
sind, welche Tastenkombinationen benutzt werden sollen um
zwischen den Fenstern zu wechseln, wie die Fensterrahmen
aussehen, oder ob diese Schaltflächen zum schließen haben.
Stattdessen gibt X die Verantwortung für all diese Sachen
an eine separate <firstterm>Window-Manager</firstterm>
Anwendung ab. Es stehen <uri
xlink:href="http://xwinman.org/">zahlreiche
Window-Manager</uri> zur Verfügung. Jeder
Window-Manager bietet ein anderes Erscheinungsbild:
einige unterstützen virtuelle Bildschirme, andere erlauben
Tastenkombinationen zur Verwaltung des Bildschirms.
Einige besitzen eine <quote>Start</quote> Schaltfläche und
in manchen lässt sich das Aussehen und Verhalten der
Anwendung über <foreignphrase>Themes</foreignphrase>
beliebig einstellen. Window-Manager stehen in der
Kategorie <filename>x11-wm</filename> der Ports-Sammlung
zur Verfügung.</para>
<para>Dieses Modell verwirrt viele Leute, die erwarten, dass der
X-Server der dicke Rechner im Maschinenraum und der X-Client ihr
Arbeitsplatzrechner ist.</para>
<para>Jeder Window-Manager wird unterschiedlich
konfiguriert. Einige erwarten eine manuell erstellte
Konfigurationsdatei, während andere ein grafisches
Werkzeug für die meisten Konfigurationsarbeiten
anbieten.</para>
</listitem>
</varlistentry>
<para>Merken Sie sich einfach, dass der X-Server der Rechner mit dem
Bildschirm und der Maus ist und die X-Clients Programme sind, die
in den Fenstern laufen.</para>
<varlistentry>
<term>Desktop-Umgebungen</term>
<para>Das X-Protokoll ist unabhängig vom verwendeten
Betriebssystem und Rechnertyp. Ein X-Server kann durchaus auch
unter &microsoft.windows; oder Apples &macos; betrieben werden,
wie viele kostenlose und kommerzielle Anwendungen zeigen.</para>
</sect2>
<listitem>
<para>Einige Window-Manager, wie
<application>KDE</application> und
<application>GNOME</application> werden als
Desktop-Umgebungen bezeichnet, da sie eine ganze Reihe von
Anwendungen für typische Desktop-Aufgaben enthalten. Dazu
zählen beispielsweise Office-Pakete, Webbrowser und
Spiele.</para>
</listitem>
</varlistentry>
<sect2>
<title>Der Window-Manager</title>
<varlistentry>
<term>Fokus</term>
<para>Die X-Philosophie <quote>Werkzeuge statt Richtlinien</quote>
ist wie die UNIX-Philosophie. Es wird nicht vorgeschrieben, wie
eine Aufgabe zu lösen ist, stattdessen erhält der
Benutzer Werkzeuge, über die er frei verfügen
kann.</para>
<listitem>
<para>Der Window-Manager ist für die Methode verantwortlich,
mit der ein Fenster den Fokus bekommt. Jedes System, das
Fenster verwendet muss entscheiden, wie ein Fenster
aktiviert wird, damit es Eingaben empfangen kann. Das
aktive Fenster sollte zudem sichtbar gekennzeichnet
werden.</para>
<para>Dies geht so weit, dass X nicht bestimmt, wie Fenster auf dem
Bildschirm auszusehen haben, wie sie mit der Maus zu verschieben
sind, welche Tastenkombination benutzt werden muss, um zwischen
den Fenstern zu wechseln (z.B.
<keycombo action="simul">
<keycap>Alt</keycap>
<keycap>Tab</keycap>
</keycombo> unter &microsoft.windows;), oder ob die
Fensterrahmen Schaltflächen zum Schließen haben.</para>
<para>Eine Methode wird <quote>click-to-focus</quote>
genannt. Ein Fenster wird aktiv, wenn es mit der Maus
angeklickt wird. Eine weitere Methode ist
<quote>focus-follows-mouse</quote>. Hier hat liegt der
Fokus auf dem Fenster, auf dem sich der Mauszeiger
befindet. Wird der Mauszeiger in ein anderes Fenster
bewegt, so erhält dieses Fenster den Fokus. Eine dritte
Methode ist <quote>sloppy-focus</quote>. Hier wechselt der
Fokus nur dann, wenn sich der Mauszeiger in ein neues
Fenster bewegt und nicht, wenn er das aktive Fenster
verlässt. Ist der Mauszeiger auf der Desktop Oberfläche,
so hat kein Fenster den Fokus und alle Eingaben gehen
verloren. Bei der Methode <quote>click-to-focus</quote>
wird das aktive Fenster durch einen Mausklick festgelegt.
Dabei kann das Fenster vor alle anderen Fenster gesetzt
werden. Alle Eingaben werden dann, unabhängig von der
Position des Mauszeigers, dem aktiven Fenster
zugeordnet.</para>
<para>X gibt die Verantwortung für all diese Sachen an eine
Anwendung ab, die <firstterm>Window-Manager</firstterm> genannt
wird. Unter X gibt es <uri
xlink:href="http://xwinman.org/">zahlreiche Window-Manager</uri>.
Jeder dieser Window-Manager sieht anders aus: Manche stellen
virtuelle Bildschirme zur Verfügung, in anderen lassen sich
die Tastenkombinationen zur Verwaltung des Bildschirms anpassen,
einige besitzen eine Startleiste
oder etwas Ähnliches und in manchen lässt sich das
Aussehen und Verhalten über die Anwendung von
<foreignphrase>Themes</foreignphrase> beliebig einstellen.
Window-Manager finden Sie in der
Kategorie <filename>x11-wm</filename> der Ports-Sammlung.</para>
<para>Die verschiedenen Window-Manager unterstützen noch
andere Methoden. Alle unterstützen jedoch
<quote>click-to-focus</quote> und die meisten von ihnen
auch die anderen Methoden. Lesen Sie die Dokumentation
des Window-Managers um festzustellen, welche Methoden zur
Verfügung stehen.</para>
</listitem>
</varlistentry>
<para>Die grafischen Benutzeroberflächen
<application>KDE</application> und
<application>GNOME</application> besitzen eigene Window-Manager,
die in den grafischen Arbeitsplatz integriert sind.</para>
<varlistentry>
<term>Widgets</term>
<para>Die Window-Manager werden unterschiedlich konfiguriert. Einige
erwarten eine manuell erstellte Konfigurationsdatei, andere bieten
grafische Werkzeuge für die meisten Konfigurationsarbeiten
an. Die Konfigurationsdatei von <application>Sawfish</application>
ist sogar in einem Lisp-Dialekt geschrieben.</para>
<note>
<title>Fokus</title>
<para>Der Window-Manager ist für die Methode, mit
der ein Fenster den Fokus bekommt, verantwortlich. Jedes System,
das Fenster verwendet, muss entscheiden, wie ein Fenster
aktiviert wird, damit es Eingaben empfangen kann. Das aktive
Fenster sollte zudem sichtbar gekennzeichnet werden.</para>
<para>Eine geläufige Methode, den Fokus zu wechseln,
wird <quote>click-to-focus</quote> genannt. Die Methode wird
in &microsoft.windows; benutzt: Ein Fenster wird aktiv, wenn
es mit der Maus angeklickt wird.</para>
<para>X legt nicht fest, wie der Fokus einzustellen ist,
stattdessen bestimmt der Window-Manager welches Fenster den Fokus
zu einem gegebenen Zeitpunkt erhält. Alle Window-Manager
stellen die Methode <quote>click-to-focus</quote> bereit, die
meisten stellen auch noch andere Methoden bereit.</para>
<para>Verbreitete Methoden, den Fokus einzustellen, sind:</para>
<variablelist>
<varlistentry>
<term>focus-follows-mouse</term>
<listitem>
<para>Den Fokus hat das Fenster, unter dem sich der
Mauszeiger befindet. Das muss nicht unbedingt das Fenster,
sein, das sich vorne befindet. Wird der Mauszeiger in ein
anderes Fenster bewegt, so erhält dieses Fenster den
Fokus, ohne das es angeklickt werden muss.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>sloppy-focus</term>
<listitem>
<para>Diese Methode erweitert die Methode
<quote>focus-follows-mouse</quote>. Wenn die Maus mit
<quote>focus-follows-mouse</quote> aus dem Fenster auf die
Oberfläche bewegt wird, verliert das aktive Fenster
den Fokus. Da dann kein Fenster mehr den Fokus hat,
gehen alle Eingaben verloren. Die Methode
<quote>sloppy-focus</quote> wechselt
den Fokus nur, wenn sich der Mauszeiger in ein neues
Fenster bewegt und nicht, wenn er das aktive Fenster
verlässt.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>click-to-focus</term>
<listitem>
<para>Das aktive Fenster wird durch einen Mausklick
festgelegt (dabei kann das Fenster vor alle anderen
Fenster gesetzt werden).
Alle Eingaben werden dann, unabhängig von der Position
des Mauszeigers, dem aktiven Fenster zugeordnet.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Viele Window-Manager unterstützen noch andere Methoden,
so wie Abwandlungen der hier vorgestellten Methoden. Schauen Sie
sich dazu bitte die Hilfeseiten Ihres Window-Managers an.</para>
</note>
</sect2>
<sect2>
<title>Widgets</title>
<para>Die X-Philosophie dehnt sich auch auf die Widgets aus, die von
den Anwendungen benutzt werden.</para>
<para>Ein <firstterm>Widget</firstterm> bezeichnet Objekte, die
manipuliert werden können, wie
<foreignphrase>buttons</foreignphrase> (Schaltflächen),
<foreignphrase>check buttons</foreignphrase> (Mehrfachauswahlknopf),
<foreignphrase>radio buttons</foreignphrase> (Einfachauswahlknopf),
Icons und Auswahllisten. Unter &microsoft.windows; werden Widgets
<firstterm>Controls</firstterm> genannt.</para>
<para>&microsoft.windows; und Apples &macos; geben strenge
Richtlinien für Widgets vor: Von den Entwicklern wird erwartet,
dass Sie Anwendungen mit einheitlichem Aussehen und einheitlicher
Bedienung (<foreignphrase>look and feel</foreignphrase>) entwickeln.
X gibt weder einen Stil noch Widgets vor, die benutzt werden
müssen.</para>
<para>Erwarten Sie daher nicht, dass alle X-Anwendungen gleich
aussehen oder sich gleich bedienen lassen. Es gibt mehrere
verbreitete Widget-Sammlungen, einschließlich Qt, das von
<application>KDE</application> benutzt wird, und GTK+, das von
<application>GNOME</application> benutzt wird. Damit wird
eine gewisse Einheitlichkeit in Bedienung und Aussehen des
&unix;-Desktops erreicht, die sicher neuen Benutzern die
Arbeit erleichtert.</para>
</sect2>
<listitem>
<para><firstterm>Widget</firstterm> bezeichnet Objekte, die
in irgendeiner Weise geklickt oder manipuliert werden
können. Dazu gehören
<foreignphrase>buttons</foreignphrase> (Schaltflächen),
<foreignphrase>check buttons</foreignphrase>
(Schaltfläche für Mehrfachauswahlen),
<foreignphrase>radio buttions</foreignphrase>
(Schaltfläche für Einfachauswahlen), Icons und
Auswahllisten. Eine Widget-Sammlung ist eine Reihe von
Widgets, die verwendet werden um grafische Anwendungen zu
erstellen. Es gibt mehrere populäre Widget-Sammlungen,
einschließlich Qt, das von <application>KDE</application>
benutzt wird, und GTK+, das von
<application>GNOME</application> benutzt wird. Als Folge
dessen, haben Anwendungen einen bestimmten
<foreignphrase>look and feel</foreignphrase>, je nachdem
welche Widget-Sammlung benutzt wurde, um die Anwendung zu
erstellen.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 xml:id="x-install">
@ -1676,7 +1621,7 @@ DisplayManager.requestPort: 0</programlisting>
eingehängtes &man.procfs.5; Dateisystem, sowie folgende
Zeile in <filename>/etc/rc.conf</filename>:</para>
<programlisting>kdm4_enable="YES" HIER</programlisting>
<programlisting>kdm4_enable="YES"</programlisting>
</sect3>
</sect2>