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:
parent
7700be84c4
commit
a12d288c49
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=47528
1 changed files with 142 additions and 197 deletions
|
|
@ -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
|
||||
µsoft.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 µsoft.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 µsoft.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 µsoft.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 µsoft.windows; werden Widgets
|
||||
<firstterm>Controls</firstterm> genannt.</para>
|
||||
|
||||
<para>µsoft.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>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue