<!-- The FreeBSD Documentation Project $FreeBSD$ $FreeBSDde: de-docproj/books/handbook/x11/chapter.sgml,v 1.71 2010/01/04 17:19:06 bcr Exp $ basiert auf: 1.201 --> <chapter id="x11"> <chapterinfo> <authorgroup> <author> <firstname>Ken</firstname> <surname>Tom</surname> <contrib>Erweitert um X.Orgs X11-Server von </contrib> </author> <author> <firstname>Marc</firstname> <surname>Fonvieille</surname> </author> </authorgroup> <authorgroup> <author> <firstname>Martin</firstname> <surname>Heinen</surname> <contrib>Übersetzt von </contrib> </author> </authorgroup> </chapterinfo> <title>Das X-Window-System</title> <sect1 id="x11-synopsis"> <title>Übersicht</title> <para>Mit X11 steht unter &os; eine leistungsfähige frei verfügbare grafische Benutzeroberfläche zur Verfügung, die sowohl in <application>&xorg;</application> und <application>&xfree86;</application> (sowie in weiteren, hier nicht diskutierten Varianten) implementiert wurde. Bis einschließlich &os; 5.2.1-RELEASE wurde standardmäßig <application>&xfree86;</application>, der X11-Server von The &xfree86; Project, Inc., installiert. Seit &os; 5.3-RELEASE ist <application>&xorg;</application> von der X.Org Foundation der voreingestellte X11-Server, der unter einer Lizenz ähnlich der von &os; steht. Zusätzlich sind einige kommerzielle X-Server für &os; verfügbar.</para> <para>Dieses Kapitel behandelt die Installation und Konfiguration von X11; der Schwerpunkt liegt auf <application>&xorg;</application> &xorg.version;. Informationen zur Konfiguration von <application>&xfree86;</application> (beispielsweise auf älteren Versionen von &os;, unter denen <application>&xfree86;</application> noch der Standard-X-Server war) sowie von äteren <application>&xorg;</application>-Versionen finden Sie weiterhin in den archivierten Versionen des &os;-Handbuchs unter <ulink url="http://docs.FreeBSD.org/doc/"></ulink>.</para> <para>Auskunft über von X11 unterstützte Video-Hardware gibt die Webseite <ulink url="http://www.x.org/">&xorg;</ulink>.</para> <para>Nachdem Sie dieses Kapitel gelesen haben, werden Sie</para> <itemizedlist> <listitem> <para>die Komponenten des X-Window-Systems und ihr Zusammenspiel kennen.</para> </listitem> <listitem> <para>Wissen, wie X11 installiert und konfiguriert wird.</para> </listitem> <listitem> <para>Wissen, wie Sie verschiedene Window-Manager installieren und benutzen.</para> </listitem> <listitem> <para>Wissen, wie &truetype;-Schriftarten mit X11 benutzt werden.</para> </listitem> <listitem> <para>Wissen, wie Sie die grafische Anmeldung (<application>XDM</application>) einrichten.</para> </listitem> </itemizedlist> <para>Bevor Sie dieses Kapitel lesen, sollten Sie</para> <itemizedlist> <listitem><para>wissen, wie Sie Software Dritter installieren (<xref linkend="ports">).</para></listitem> </itemizedlist> </sect1> <sect1 id="x-understanding"> <title>X-Grundlagen</title> <para>Anwendern anderer grafischer Benutzeroberflächen, wie µsoft.windows; oder &macos;, kommt X beim ersten Mal oft befremdlich vor.</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> <sect2> <title>Warum heißt es X?</title> <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> <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> <sect2> <title>Das Client/Server-Modell von X</title> <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>&netscape;</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> <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> <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>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> <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> <sect2> <title>Der Window-Manager</title> <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> <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>X gibt die Verantwortung für all diese Sachen an eine Anwendung ab, die <firstterm>Window-Manager</firstterm> genannt wird. Unter X gibt es zahlreiche Window-Manager: <application>AfterStep</application>, <application>Blackbox</application>, <application>ctwm</application>, <application>Enlightenment</application>, <application>fvwm</application>, <application>Sawfish</application>, <application>twm</application>, <application>Window Maker</application> um nur einige zu nennen. 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. Die eben genannten Window-Manager und viele weitere finden Sie in der Kategorie <filename>x11-wm</filename> der Ports-Sammlung.</para> <para>Die grafischen Benutzeroberflächen <application>KDE</application> und <application>GNOME</application> besitzen eigene Window-Manager, die in den grafischen Arbeitsplatz integriert sind.</para> <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, beispielsweise die Athena-Widgets vom MIT, <application>&motif;</application> (abgeschrägte Ecken und drei Grautöne, danach wurden die Widgets von µsoft.windows; entworfen) oder <application>OpenLook</application>.</para> <para>Die meisten neuen X-Anwendungen benutzen heute modern aussehende Widgets, wie Qt, das von <application>KDE</application> benutzt wird oder GTK+, das von <application>GNOME</application> benutzt wird. Damit wird eine gewisse Einheitlichkeit in Bedienung und Aussehen erreicht, die sicher neuen Benutzern die Arbeit erleichtert.</para> </sect2> </sect1> <sect1 id="x-install"> <title>X11 installieren</title> <para><application>&xorg;</application> ist der Standard-X-Server unter &os;. <application>&xorg;</application> ist der von der X.Org Foundation herausgegebene X-Server des Open-Source X Window Systems. <application>&xorg;</application> beruht auf <application>&xfree86 4.4RC2</application> und X11R6.6. Derzeit ist die Version &xorg.version; von <application>&xorg;</application> in der Ports-Sammlung vorhanden.</para> <para>Die nachstehenden Kommandos bauen und installieren <application>&xorg;</application> aus der Ports-Sammlung:</para> <screen>&prompt.root; <userinput>cd /usr/ports/x11/xorg</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <note> <para>Der komplette Bau von <application>&xorg;</application> benötigt mindestens 4 GB freien Plattenplatz.</para> </note> <para>Mit &man.pkg.add.1; können Sie X11 direkt von fertigen Paketen installieren. Wenn &man.pkg.add.1; die Pakete herunterlädt, lassen Sie die Versionsnummer aus. &man.pkg.add.1; holt automatisch die aktuelle Version eines Pakets.</para> <para>Das <application>&xorg;</application>-Paket holen und installieren Sie wie folgt:</para> <screen>&prompt.root; <userinput>pkg_add -r xorg</userinput></screen> <note> <para>Die obigen Beispiele installieren die vollständige X11-Distribution, die unter anderem Server, Clients und Fonts enthält. Für die einzelnen Teile der Distribution gibt es ebenfalls separate Pakete.</para> </note> <para>Der Rest dieses Kapitels erklärt, wie Sie X11 konfigurieren und sich eine Arbeitsumgebung einrichten.</para> </sect1> <sect1 id="x-config"> <sect1info> <authorgroup> <author> <firstname>Christopher</firstname> <surname>Shumway</surname> <contrib>Beigetragen von </contrib> <!-- July 2001 --> </author> </authorgroup> </sect1info> <title>X11 konfigurieren</title> <indexterm><primary>&xorg;</primary></indexterm> <indexterm><primary>X11</primary></indexterm> <sect2> <title>Vorarbeiten</title> <para>Bevor Sie X11 konfigurieren, benötigen Sie folgende Informationen:</para> <itemizedlist> <listitem> <para>die Spezifikationen des Monitors</para> </listitem> <listitem> <para>den Chipset des Grafikadapters</para> </listitem> <listitem> <para>die Speichergröße des Grafikadapters</para> </listitem> </itemizedlist> <indexterm> <primary>Synchronisationsfrequenz</primary> <secondary>horizontale</secondary> </indexterm> <indexterm> <primary>Synchronisationsfrequenz</primary> <secondary>vertikale</secondary> </indexterm> <para>Aus den Spezifikationen des Monitors ermittelt X11 die Auflösung und die Wiederholrate für den Betrieb des X-Servers. Die Spezifikationen entnehmen Sie der Dokumentation des Monitors oder der Webseite des Herstellers. Sie benötigen die horizontale und die vertikale Synchronisationsfrequenz.</para> <para>Der Chipsatz der Grafikkarte bestimmt den Treiber, den X11 verwendet. Die meisten Chipsätze werden automatisch erkannt, Sie brauchen die Information jedoch, wenn die Erkennung fehlschlägt.</para> <para>Die Speichergröße der Grafikkarte bestimmt die maximal mögliche Auflösung und Farbtiefe.</para> </sect2> <sect2> <title>X11 konfigurieren</title> <para>Ab Version 7.4 kann <application>&xorg;</application> <acronym>HAL</acronym> verwenden, um Tastaturen und Mäuse automatisch zu erkennen. Die Ports <filename role="package">sysutils/hal</filename> und <filename role="package">devel/dbus</filename> werden als Abhängigkeiten von <filename role="package">x11/xorg</filename> installiert, müssen aber durch die folgenden Einträge in <filename>/etc/rc.conf</filename> aktiviert werden:</para> <programlisting>hald_enable="YES" dbus_enable="YES"</programlisting> <para>Diese Dienste sollten (entweder manuell oder durch einen Neustart) gestartet werden, bevor mit der weiteren Konfiguration von <application>&xorg;</application> begonnen wird.</para> <para>Die automatische Konfiguration kann mit bestimmter Hardware fehlschlagen oder gewisse Dinge nicht so einrichten, wie gewünscht. In diesen Fällen ist eine manuelle Konfiguration notwendig.</para> <note> <para>Grafische Oberflächen wie <application>GNOME</application>, <application>KDE</application> oder <application>Xfce</application> besitzen eigene Werkzeuge, die es dem Benutzer erlauben, auf einfache Art und Weise die Bildschirmparameter wie die Auflösung zu ändern. Falls die Standardkonfiguration für Sie nicht akzeptabel ist und die Installation einer grafischen Oberfläche geplant ist, fahren Sie damit fort und benutzen Sie dann das entsprechende Werkzeug für die Bildschirmeinstellungen.</para> </note> <para>Die X11 Konfiguration spielt sich in mehreren Schritten ab. Dazu erstellen Sie als erstes eine Vorgabe für die Konfigurationsdatei. Setzen Sie dazu als <username>root</username> den folgenden Befehl ab:</para> <screen>&prompt.root; <userinput>Xorg -configure</userinput></screen> <para>Die Vorgabe-Konfiguration wird dann unter dem Namen <filename>xorg.conf.new</filename> im Verzeichnis <filename>/root</filename> gespeichert (das verwendete Verzeichnis wird durch die Umgebungsvariable <envar>$HOME</envar> bestimmt und hängt davon ab, wie Sie zu <username>root</username> gewechselt sind). X11 hat in diesem Schritt versucht, die Grafik-Hardware des Systems zu erkennen und eine Konfigurationsdatei ausgeschrieben, die zur Hardware passende Treiber lädt.</para> <para>Im nächsten Schritt wird geprüft, ob <application>&xorg;</application> die Grafik-Hardware des Systems verwenden kann. Für <application>&xorg;</application>-Versionen bis 7.3, setzen Sie dazu den folgenden Befehl ab:</para> <screen>&prompt.root; <userinput>Xorg -config xorg.conf.new</userinput></screen> <para>Mit <application>&xorg;</application> 7.4 und höher produziert dieser Test einen schwarzen Bildschirm, der es unter Umständen schwierig macht zu erkennen, ob X11 korrekt funktioniert. Das alte Verhalten ist immer noch durch die <option>retro</option>-Option verfügbar:</para> <screen>&prompt.root; <userinput>Xorg -config xorg.conf.new -retro</userinput></screen> <para>Wenn jetzt ein graues Raster und der X-Mauszeiger erscheinen, war die Konfiguration erfolgreich. Beenden Sie den Test, indem Sie auf die virtuelle Konsole wechseln, die Sie verwendet haben, um den Test zu starten, durch gleichzeitiges drücken von <keycombo action="simul"> <keycap>Ctrl</keycap> <keycap>Alt</keycap> <keycap>F<replaceable>n</replaceable></keycap> </keycombo> (<keycap>F1</keycap> für die erste virtuelle Konsole) und drücken anschliessend <keycombo action="simul"> <keycap>Ctrl</keycap> <keycap>C</keycap> </keycombo>.</para> <note> <para>Bis zu Version 7.3 von <application>&xorg;</application> konnte die Tastenkombination <keycombo action="simul"> <keycap>Ctrl</keycap> <keycap>Alt</keycap> <keycap>Backspace</keycap> </keycombo> verwendet werden, um <application>&xorg;</application> zu beenden. Um diese in Version 7.4 und danach zu aktivieren, fügen geben Sie entweder den folgenden Befehl von einem X-Terminalemulator ein:</para> <screen>&prompt.user; <userinput>setxkbmap -option terminate:ctrl_alt_bksp</userinput></screen> <para>oder erstellen Sie eine Tastaturkonfigurationsdatei für <application>hald</application>, <filename>x11-input.fdi</filename> genannt, und legen Sie diese im Verzeichnis <filename class="directory">/usr/local/etc/hal/fdi/policy</filename> ab. Diese Datei sollte die folgenden Zeilen enthalten:</para> <programlisting><?xml version="1.0" encoding="ISO-8859-1"?> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.keyboard"> <merge key="input.x11_XkbOptions" type="string">terminate:ctrl_alt_bksp</merge> </match> </device> </deviceinfo></programlisting> <para>Sie müssen anschliessend ihren Computer neu starten, um <application>hald</application> zu zwingen, diese Datei einzulesen.</para> <para>Die folgende Zeile muss ebenfalls zu <filename>xorg.conf.new</filename> hinzugefügt werden, entweder in den Abschnitt <literal>ServerLayout</literal> oder <literal>ServerFlags</literal>:</para> <programlisting>Option "DontZap" "off"</programlisting> </note> <para>Wenn die Maus nicht funktioniert, prüfen Sie, ob die Maus konfiguriert wurde. Die Mauskonfiguration wird in <xref linkend="mouse"> im &os;-Installationskapitel beschrieben. Zusätzlich werden ab Version 7.4 die <literal>InputDevice</literal>-Abschnitte in <filename>xorg.conf</filename> ignoriert, um stattdessen die automatisch erkannten Geräte zu verwenden. Um das alte Verhalten wiederherzustellen, fügen Sie die folgende Zeile zum <literal>ServerLayout</literal>- oder dem <literal>ServerFlags</literal>-Abschnitt dieser Datei hinzu:</para> <programlisting>Option "AutoAddDevices" "false"</programlisting> <para>Eingabegeräte können dann wie in den vorherigen Versionen konfiguriert werden, zusammen mit anderen benötigen Optionen (z.B. wechseln des Tastaturlayouts).</para> <note> <para>Wie zuvor erwähnt, wird seit Version 7.4 standardmässig der <application>hald</application>-Dienst automatisch Ihre Tastatur erkennen. Es kann passieren, dass ihr Tastaturlayout oder das Modell nicht korrekt erkannt wird. Grafische Oberflächen wie <application>GNOME</application>, <application>KDE</application> oder <application>Xfce</application> stellen Werkzeuge für die Konfiguration der Tastatur bereit. Es ist allerdings auch möglich, die Tastatureigenschaften direkt zu setzen, entweder mit Hilfe von &man.setxkbmap.1; oder mit einer Konfigurationsregel von <application>hald</application>.</para> <para>Wenn Sie zum Beispiel eine PC 102-Tasten Tastatur mit französischem Layout verwenden möchten, mössen Sie eine Tastaturkonfigurationsdatei für <application>hald</application>, genannt <filename>x11-input.fdi</filename>, im Verzeichnis <filename class="directory">/usr/local/etc/hal/fdi/policy</filename> ablegen. Diese Datei sollte die folgenden Zeilen enthalten:</para> <programlisting><?xml version="1.0" encoding="ISO-8859-1"?> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.keyboard"> <merge key="input.x11_options.XkbModel" type="string">pc102</merge> <merge key="input.x11_options.XkbLayout" type="string">fr</merge> </match> </device> </deviceinfo></programlisting> <para>Wenn diese Datei bereits existiert, kopieren Sie nur die Zeilen in diese Datei, welche die Tastaturkonfiguration betreffen.</para> <para>Sie mössen Ihren Computer neu starten, um <application>hald</application> zu zwingen, diese Datei einzulesen.</para> <para>Es ist möglich, die gleiche Konfiguration von einem X-Terminal oder einem Skript über den folgenden Befehl heraus zu tätigen:</para> <screen>&prompt.user; <userinput>setxkbmap -model pc102 -layout fr</userinput></screen> <para>Die Datei <filename>/usr/local/share/X11/xkb/rules/base.lst</filename> listet die verschiedenen Tastatur- und Layoutoptionen auf, die Ihnen zur Verfügung stehen.</para> </note> <indexterm> <primary>X11 anpassen</primary> </indexterm> <para>Als Nächstes passen Sie <filename>xorg.conf.new</filename> an. Öffnen Sie die Datei in einem Editor, wie &man.emacs.1; oder &man.ee.1; und fügen Sie die Synchronisationsfrequenzen des Monitors ein. Die Frequenzen werden im Abschnitt <literal>"Monitor"</literal> eingetragen:</para> <programlisting>Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSection</programlisting> <para>Unter Umständen fehlen die Schlüsselwörter <literal>HorizSync</literal> und <literal>VertRefresh</literal>, die Sie dann nachtragen müssen. Geben Sie, wie im Beispiel gezeigt, die horizontale Synchronisationsfrequenz hinter <literal>HorizSync</literal> und die vertikale Synchronisationsfrequenz hinter <literal>VertRefresh</literal> an.</para> <para>X unterstützt die Energiesparfunktionen (DPMS, Energy Star) Ihres Monitors. Mit &man.xset.1; können Sie Zeitschranken für die DPMS-Modi <quote>standby</quote>, <quote>suspend</quote>, <quote>off</quote> vorgeben, oder diese zwingend aktivieren. Die DPMS-Funktionen können Sie mit der nachstehenden Zeile im <literal>"Monitor"</literal>-Abschnitt aktivieren:</para> <programlisting>Option "DPMS"</programlisting> <indexterm> <primary><filename>xorg.conf</filename></primary> </indexterm> <para>Die gewünschte Auflösung und Farbtiefe stellen Sie im Abschnitt <literal>"Screen"</literal> ein:</para> <programlisting>Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSection</programlisting> <para>Mit <literal>DefaultDepth</literal> wird die Farbtiefe des X-Servers vorgegeben. Mit der Option <command>-depth</command> von &man.Xorg.1; lässt sich die vorgegebene Farbtiefe überschreiben. <literal>Modes</literal> gibt die Auflösung für die angegebene Farbtiefe an. Die Farbtiefe im Beispiel beträgt 24 Bits pro Pixel, die zugehörige Auflösung ist 1024x768 Pixel. Beachten Sie, dass in der Voreinstellung nur Standard-VESA-Modi der Grafikkarte angegeben werden können.</para> <para>Sichern Sie die Konfigurationsdatei und testen Sie die Konfiguration wie oben beschrieben.</para> <note> <para>Bei der Fehlersuche sind Ihnen die Protokolle des X11-Servers behilflich. In den Protokollen wird die gefundene Graphik-Hardware protokolliert. Die Protokolle von <application>&xorg;</application> heißen <filename>/var/log/Xorg.<replaceable>0</replaceable>.log</filename>. Die Dateinamen enthalten eine laufende Nummer, der Name variiert daher von <filename>Xorg.0.log</filename> zu <filename>Xorg.8.log</filename>.</para> </note> <para>Wenn alles funktioniert hat, installieren Sie die Datei an einen Ort, an dem &man.Xorg.1; sie findet. Normalerweise wird die Konfigurationsdatei unter <filename>/etc/X11/xorg.conf</filename> oder <filename>/usr/local/etc/X11/xorg.conf</filename> gespeichert:</para> <screen>&prompt.root; <userinput>cp xorg.conf.new /etc/X11/xorg.conf</userinput></screen> <para>Damit ist die X11-Konfiguration beendet und <application>&xorg;</application> kann nun mithilfe von &man.startx.1; gestartet werden. Alternativ können Sie X11 auch mit &man.xdm.1; starten.</para> </sect2> <sect2> <title>Spezielle Konfigurationen</title> <sect3> <title>Konfiguration des &intel; i810 Graphics Chipsets</title> <indexterm><primary>Intel i810 Chipset</primary></indexterm> <para>Der &intel; i810-Chipset benötigt den Treiber <devicename>agpgart</devicename>, die AGP-Schnittstelle von X11. Weitere Informationen finden sich in &man.agp.4;.</para> <para>Ab jetzt kann die Hardware wie jede andere Grafikkarte auch konfiguriert werden. Der Treiber &man.agp.4; kann nicht nachträglich mit &man.kldload.8; in einen laufenden Kernel geladen werden. Er muss entweder fest im Kernel eingebunden sein oder beim Systemstart über <filename>/boot/loader.conf</filename> geladen werden.</para> </sect3> <sect3> <title>Einen Widescreen-Monitor einsetzen</title> <indexterm><primary>Widescreen-Monitor, Konfiguration</primary></indexterm> <para>Dieser Abschnitt geht über die normalen Konfigurationsarbeiten hinaus und setzt einiges an Vorwissen voraus. Selbst wenn die Standardwerkzeuge zur X-Konfiguration bei diesen Geräten nicht zum Erfolg führen, sollten sich in den Logdateien genug Informationen finden, mit denen Sie letztlich doch einen funktionierenden X-Server konfigurieren können. Alles, was Sie dazu noch benötigen, ist ein Texteditor.</para> <para>Aktuelle Widescreen-Formate (wie WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, und andere mehr) unterstützen Seitenverhältnisse wie 16:10 oder 10:9, die unter X Probleme verursachen können. Bei einem Seitenverhältnis von 16:10 sind beispielsweise folgende Auflösungen möglich:</para> <itemizedlist> <listitem><para>2560x1600</para></listitem> <listitem><para>1920x1200</para></listitem> <listitem><para>1680x1050</para></listitem> <listitem><para>1440x900</para></listitem> <listitem><para>1280x800</para></listitem> </itemizedlist> <para>Diese Konfiguration könnte so einfach sein wie das zusätzliche Anlegen eines Eintrags einer dieser Auflösungen als ein möglicher <literal>Mode</literal> in <literal>Section "Screen"</literal>:</para> <programlisting>Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1680x1050" EndSubSection EndSection</programlisting> <para><application>&xorg;</application> ist normalerweise intelligent genug, um die Informationen zu den erlaubten Auflösungen über I2C/DDC zu beziehen, und weiß daher, welche Auflösungen und Frequenzen Ihr Widescreen-Monitor unterstützt.</para> <para>Wenn diese <literal>ModeLines</literal> in den Treiberdateien nicht vorhanden sind, kann es sein, dass Sie <application>&xorg;</application> beim Finden der korrekten Werte unterstützen müssen. Dazu extrahieren Sie die benötigten Informationen aus der Datei <filename>/var/log/Xorg.0.log</filename> und erzeugen daraus eine funktionierende <literal>ModeLine</literal>. Dazu suchen Sie in dieser Datei nach Zeilen ähnlich den folgenden:</para> <programlisting>(II) MGA(0): Supported additional Video Mode: (II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm (II) MGA(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0 (II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 (II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHz</programlisting> <para>Diese Informationen werden auch als EDID-Informationen bezeichnet. Um daraus eine funktionierende <literal>ModeLine</literal> zu erzeugen, müssen Sie lediglich die Zahlen in die korrekte Reihenfolge bringen:</para> <programlisting>ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings></programlisting> <para>Die korrekte <literal>ModeLine</literal> in <literal>Section "Monitor"</literal> würde für dieses Beispiel folgendermaßen aussehen:</para> <programlisting>Section "Monitor" Identifier "Monitor1" VendorName "Bigname" ModelName "BestModel" ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089 Option "DPMS" EndSection</programlisting> <para>Nachdem diese Äderungen durchgeführt sind, sollte X auch auf Ihrem neuen Widescreen-Monitor starten.</para> </sect3> </sect2> </sect1> <sect1 id="x-fonts"> <sect1info> <authorgroup> <author> <firstname>Murray</firstname> <surname>Stokely</surname> <contrib>Beigetragen von </contrib> </author> </authorgroup> </sect1info> <title>Schriftarten in X11 benutzen</title> <sect2 id="type1"> <title>Type 1 Schriftarten</title> <para>Die Schriftarten, die mit X11 geliefert werden, eignen sich ganz und gar nicht für Desktop-Publishing-Anwendungen. Große Schriftarten zeigen bei Präsentationen deutliche Treppenstufen und die kleinen Schriftarten in <application>&netscape;</application> sind fast unleserlich. Es gibt allerdings mehrere hochwertige Type 1 Schriftarten (&postscript;), die mit X11 benutzt werden können. Beispielsweise enthalten die URW-Schriftarten (<filename role="package">x11-fonts/urwfonts</filename>) hochwertige Versionen gängiger Type 1 Schriftarten (zum Beispiel <trademark class="registered">Times Roman</trademark>, <trademark class="registered">Helvetica</trademark>, <trademark class="registered">Palatino</trademark>). Die Sammlung Freefonts (<filename role="package">x11-fonts/freefonts</filename>) enthält noch mehr Schriftarten, doch sind diese für den Einsatz in Grafik-Programmen wie <application>The Gimp</application> gedacht. Es fehlen auch einige Schriftarten, sodass sich die Sammlung nicht für den alltäglichen Gebrauch eignet. Weiterhin kann X11 leicht so konfiguriert werden, dass es &truetype;-Schriftarten verwendet. Mehr dazu erfahren Sie in der Hilfeseite &man.X.7; und im Abschnitt <link linkend="truetype">&truetype; Schriftarten</link>.</para> <para>Die Type 1 Schriftarten lassen sich aus der Ports-Sammlung wie folgt installieren:</para> <screen>&prompt.root; <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <para>Analog lassen sich Freefont und andere Sammlungen installieren. Die neuen Schriftarten müssen Sie in die Konfigurationsdatei des X-Servers im Verzeichnis <filename class="directory">/etc/X11</filename> eintragen. Die Konfigurationsdatei von <application>&xorg;</application> heißt <filename>xorg.conf</filename>. Fügen Sie die folgende Zeile hinzu:</para> <programlisting>FontPath "/usr/local/lib/X11/fonts/URW/"</programlisting> <para>Sie können aber auch in der X-Sitzung das folgende Kommando absetzen:</para> <screen>&prompt.user; <userinput>xset fp+ /usr/local/lib/X11/fonts/URW</userinput> &prompt.user; <userinput>xset fp rehash</userinput></screen> <para>Dann kennt der X-Server die neuen Schriftarten nur bis zum Ende der Sitzung. Wenn die Änderung dauerhaft sein soll, müssen Sie die Kommandos in <filename>~/.xinitrc</filename> eintragen, wenn Sie X mit <command>startx</command> starten, oder in <filename>~/.xsession</filename>, wenn Sie <application>XDM</application> benutzen. Sie können die Schriftarten auch in die neue Datei <filename>/usr/local/etc/fonts/local.conf</filename>, die im Abschnitt <link linkend="antialias">Anti-aliasing</link> beschrieben wird, eintragen.</para> </sect2> <sect2 id="truetype"> <title>&truetype;-Schriftarten</title> <indexterm> <primary>TrueType-Schriftarten</primary> </indexterm> <indexterm> <primary>Schriftarten</primary> <secondary>TrueType</secondary> </indexterm> <para><application>&xorg;</application> kann &truetype;-Schriftarten mithilfe von zwei Modulen darstellen. Im folgenden Beispiel wird das Freetype-Modul benutzt, da es besser mit anderen Werkzeugen, die &truetype;-Schriftarten darstellen, übereinstimmt. Das Freetype-Modul aktivieren Sie im Abschnitt <literal>"Module"</literal> von <filename>/etc/X11/xorg.conf</filename> durch Einfügen der Zeile:</para> <programlisting>Load "freetype"</programlisting> <para>Erstellen Sie ein Verzeichnis für die &truetype;-Schriftarten (z.B. <filename>/usr/local/lib/X11/fonts/TrueType</filename>) und kopieren Sie alle Schriftarten dorthin. Die Schriftarten müssen im &unix;/&ms-dos;/&windows;-Format vorliegen, Schriftarten von einem &macintosh; können Sie nicht direkt übernehmen. Die Schriftarten müssen noch im Katalog <filename>fonts.dir</filename> erfasst werden. Den Katalog erzeugen Sie mit dem Kommando <command>ttmkfdir</command> aus dem Port <filename role="package">x11-fonts/ttmkfdir</filename>:</para> <screen>&prompt.root; <userinput>cd /usr/local/lib/X11/fonts/TrueType</userinput> &prompt.root; <userinput>ttmkfdir -o fonts.dir</userinput></screen> <para>Geben Sie dem System das &truetype;-Verzeichnis, wie im Abschnitt <link linkend="type1">Type 1 Schriftarten</link> beschrieben, bekannt:</para> <screen>&prompt.user; <userinput>xset fp+ /usr/local/lib/X11/fonts/TrueType</userinput> &prompt.user; <userinput>xset fp rehash</userinput></screen> <para>Oder fügen Sie eine <literal>FontPath</literal>-Zeile in die Datei <filename>xorg.conf</filename> ein.</para> <para>Das war's. Jetzt sollten <application>&netscape;</application>, <application>Gimp</application>, <application>&staroffice;</application> und alle anderen X-Anwendungen die &truetype;-Schriftarten benutzen. Extrem kleine Schriftarten (Webseiten, die mit hoher Auflösung betrachtet werden) und sehr große Schriftarten (in <application>&staroffice;</application>) sollten jetzt viel besser aussehen.</para> </sect2> <sect2 id="antialias"> <sect2info> <authorgroup> <author> <firstname>Joe Marcus</firstname> <surname>Clarke</surname> <contrib>Aktualisiert von </contrib> <!-- May 2003 --> </author> </authorgroup> </sect2info> <title>Anti-aliasing</title> <indexterm> <primary>Anti-aliasing</primary> </indexterm> <indexterm> <primary>Schriftarten</primary> <secondary>Anti-aliasing</secondary> </indexterm> <para>Alle Schriftarten in X11, die in den Verzeichnissen <filename>/usr/local/lib/X11/fonts/</filename> und <filename>~/.fonts/</filename> gefunden werden, werden automatisch für Anti-aliasing an Anwendungen zur Verfügung gestellt, die Xft beherrschen. Die meisten aktuellen Anwendungen beherrschen Xft, dazu gehören auch <application>KDE</application>, <application>GNOME</application> und <application>Firefox</application>.</para> <para>In der Datei <filename>/usr/local/etc/fonts/local.conf</filename> werden die Schriftarten, die mit dem Anti-aliasing-Verfahren benutzt werden sollen und die Eigenschaften des Verfahrens festgelegt. In diesem Abschnitt wird nur die grundlegende Konfiguration von Xft beschrieben. Weitere Details entnehmen Sie bitte der Hilfeseite &man.fonts-conf.5;.</para> <indexterm><primary>XML</primary></indexterm> <para>Die Datei <filename>local.conf</filename> ist ein XML-Dokument. Achten Sie beim Editieren der Datei daher auf die richtige Groß- und Kleinschreibung und darauf, dass alle Tags geschlossen sind. Die Datei beginnt mit der üblichen XML-Deklaration gefolgt von einer DOCTYPE-Definition und dem <literal><fontconfig></literal>-Tag:</para> <programlisting> <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> </programlisting> <para>Wie vorher erwähnt, stehen schon alle Schriftarten in <filename>/usr/local/lib/X11/fonts/</filename> und <filename>~/.fonts/</filename> für Anwendungen, die Xft unterstützen, zur Verfügung. Wenn Sie ein Verzeichnis außerhalb dieser beiden Bäume benutzen wollen, fügen Sie eine Zeile wie die nachstehende zu <filename>/usr/local/etc/fonts/local.conf</filename> hinzu:</para> <programlisting><dir>/path/to/my/fonts</dir></programlisting> <para>Wenn Sie neue Schriftarten hinzugefügt haben, müssen Sie den Schriftarten-Cache neu aufbauen:</para> <screen>&prompt.root; <userinput>fc-cache -f</userinput></screen> <para>Das Anti-aliasing-Verfahren zeichnet Ränder leicht unscharf, dadurch werden kleine Schriften besser lesbar und der Treppenstufen-Effekt bei wird großen Schriften vermieden. Auf normale Schriftgrößen sollte das Verfahren aber nicht angewendet werden, da dies die Augen zu sehr anstrengt. Um kleinere Schriftgrößen als 14 Punkt von dem Verfahren auszunehmen, fügen Sie in <filename>local.conf</filename> die nachstehenden Zeilen ein:</para> <programlisting> <match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font"> <test name="pixelsize" compare="less" qual="any"> <double>14</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match></programlisting> <indexterm> <primary>Schriftarten</primary> <secondary>Abstände</secondary> </indexterm> <para>Das Anti-aliasing-Verfahren kann die Abstände einiger Fixschriften falsch darstellen, dies fällt besonders unter <application>KDE</application> auf. Sie können das Problem umgehen, indem Sie die Abstände dieser Schriften auf den Wert <literal>100</literal> festsetzen. Fügen Sie die nachstehenden Zeilen hinzu:</para> <programlisting> <match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match></programlisting> <para>Damit werden die Namen der gebräuchlichen Fixschriften auf <literal>"mono"</literal> abgebildet. Für diese Schriften setzen Sie dann den Abstand fest:</para> <programlisting> <match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match> </programlisting> <para>Bestimmte Schriftarten, wie Helvetica, können Probleme mit dem Anti-Aliasing-Verfahren verursachen. In der Regel erscheinen diese Schriftarten dann vertikal halbiert. Im schlimmsten Fall stürzen Anwendungen als Folge davon ab. Sie vermeiden dies, indem Sie betroffene Schriftarten in <filename>local.conf</filename> von dem Verfahren ausnehmen:</para> <programlisting> <match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match> </programlisting> <para>Wenn Sie <filename>local.conf</filename> editiert haben, stellen Sie bitte sicher, dass die Datei mit dem Tag <literal></fontconfig></literal> endet. Ist das nicht der Fall, werden die Änderungen nicht berücksichtigt.</para> <para>Benutzer können eigene Einstellungen in der Datei <filename>~/.fonts.conf</filename> vornehmen. Achten Sie auch hier auf die richtige XML-Syntax.</para> <indexterm><primary>LCD</primary></indexterm> <indexterm> <primary>Schriftarten</primary> <secondary>auf einem LCD</secondary> </indexterm> <para>Mit einem <acronym>LCD</acronym> können Sie <foreignphrase>sub-pixel sampling</foreignphrase> anstelle von Anti-aliasing einsetzen. Dieses Verfahren behandelt die horizontal getrennten Rot-, Grün- und Blau-Komponenten eines Pixels gesondert und verbessert damit (teilweise sehr wirksam) die horizontale Auflösung. Die nachstehende Zeile in <filename>local.conf</filename> aktiviert diese Funktion:</para> <programlisting> <match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match></programlisting> <note><para>Abhängig von der Art Ihres Bildschirms müssen Sie anstelle von <literal>rgb</literal> eines der folgenden verwenden: <literal>bgr</literal>, <literal>vrgb</literal> oder <literal>vbgr</literal>. Experimentieren Sie und vergleichen, was besser aussieht.</para> </note> </sect2> </sect1> <sect1 id="x-xdm"> <sect1info> <authorgroup> <author> <firstname>Seth</firstname> <surname>Kingsley</surname> <contrib>Beigetragen von </contrib> </author> </authorgroup> </sect1info> <title>Der X-Display-Manager</title> <sect2> <title>Einführung</title> <indexterm><primary>X-Display-Manager</primary></indexterm> <para>Der <firstterm>X-Display-Manager</firstterm> (<application>XDM</application>), eine optionale Komponente des X-Window-Systems, verwaltet Sitzungen. Er kann mit vielen Komponenten, wie minimal ausgestatteten X-Terminals, Arbeitsplatz-Rechnern und leistungsfähigen Netzwerkservern, nutzbringend eingesetzt werden. Da das X-Window-System netzwerktransparent ist, gibt es zahlreiche Möglichkeiten, X-Clients und X-Server auf unterschiedlichen Rechnern im Netz laufen zu lassen. <application>XDM</application> stellt eine grafische Anmeldemaske zur Verfügung, in der Sie den Rechner, auf dem eine Sitzung laufen soll, auswählen können und in der Sie die nötigen Autorisierungs-Informationen, wie Benutzername und Passwort, eingeben können.</para> <para>Die Funktion des X-Display-Managers lässt sich mit der von &man.getty.8; (siehe <xref linkend="term-config">) vergleichen. Er meldet den Benutzer am ausgesuchten System an, startet ein Programm (meist einen Window-Manager) und wartet darauf, dass dieses Programm beendet wird, das heißt der Benutzer die Sitzung beendet hat. Nachdem die Sitzung beendet ist, zeigt <application>XDM</application> den grafischen Anmeldebildschirm für den nächsten Benutzer an.</para> </sect2> <sect2> <title>XDM einrichten</title> <para>Um <application>XDM</application> verwenden zu können, installieren Sie den Port <filename role="package">x11/xdm</filename> (dieser wird standardmässig nicht in aktuellen <application>&xorg;</application>-Versionen mitinstalliert). Der <application>XDM</application>-Dæmon befindet sich dann in <filename>/usr/local/bin/xdm</filename> und kann jederzeit von <username>root</username> gestartet werden. Er verwaltet dann den X-Bildschirm des lokalen Rechners. <application>XDM</application> lässt sich bequem mit einem Eintrag in <filename>/etc/ttys</filename> (siehe <xref linkend="term-etcttys">) bei jedem Start des Rechners aktivieren. In <filename>/etc/ttys</filename> sollte schon der nachstehende Eintrag vorhanden sein:</para> <programlisting>ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure</programlisting> <para>In der Voreinstellung ist dieser Eintrag nicht aktiv. Um den Eintrag zu aktivieren, ändern Sie den Wert in Feld 5 von <literal>off</literal> zu <literal>on</literal> und starten Sie &man.init.8; entsprechend der Anleitung in <xref linkend="term-hup"> neu. Das erste Feld gibt den Namen des Terminals an, auf dem das Programm läuft. Im Beispiel wird <literal>ttyv8</literal> verwendet, das heißt <application>XDM</application> läuft auf dem neunten virtuellen Terminal.</para> </sect2> <sect2> <title>XDM konfigurieren</title> <para>Das Verhalten und Aussehen von <application>XDM</application> steuern Sie mit Konfigurationsdateien, die im Verzeichnis <filename>/usr/local/lib/X11/xdm</filename> stehen. Üblicherweise finden Sie dort die folgenden Dateien vor:</para> <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <thead> <row> <entry>Datei</entry> <entry>Beschreibung</entry> </row> </thead> <tbody> <row> <entry><filename>Xaccess</filename></entry> <entry>Regelsatz, der zur Autorisierung von Clients benutzt wird.</entry> </row> <row> <entry><filename>Xresources</filename></entry> <entry>Vorgabewerte für X-Ressourcen.</entry> </row> <row> <entry><filename>Xservers</filename></entry> <entry>Liste mit lokalen und entfernten Bildschirmen, die verwaltet werden.</entry> </row> <row> <entry><filename>Xsession</filename></entry> <entry>Vorgabe für das Startskript der Sitzung.</entry> </row> <row> <entry><filename>Xsetup_*</filename></entry> <entry>Skript, das dazu dient, Anwendungen vor der Anmeldung zu starten.</entry> </row> <row> <entry><filename>xdm-config</filename></entry> <entry>Konfiguration für alle auf der Maschine verwalteten Bildschirme.</entry> </row> <row> <entry><filename>xdm-errors</filename></entry> <entry>Fehlermeldungen des Servers.</entry> </row> <row> <entry><filename>xdm-pid</filename></entry> <entry>Die Prozess-ID des gerade laufenden <application>XDM</application>-Prozesses.</entry> </row> </tbody> </tgroup> </informaltable> <para>Im Verzeichnis <filename>/usr/local/lib/X11/xdm</filename> befinden sich auch noch Skripten und Programme, die zum Einrichten der <application>XDM</application>-Oberfläche dienen. Der Zweck dieser Dateien und der Umgang mit ihnen wird in der Hilfeseite &man.xdm.1; erklärt. Wir gehen im Folgenden nur kurz auf ein paar der Dateien ein.</para> <para>Die vorgegebene Einstellung zeigt ein rechteckiges Anmeldefenster, in dem der Rechnername in großer Schrift steht. Darunter befinden sich die Eingabeaufforderungen <literal>Login:</literal> und <literal>Password:</literal>. Mit dieser Maske können Sie anfangen, wenn Sie das Erscheinungsbild von <application>XDM</application> verändern wollen.</para> <sect3> <title>Xaccess</title> <para>Verbindungen zu <application>XDM</application> werden über das <quote>X Display Manager Connection Protocol</quote> (<acronym>XDMCP</acronym>) hergestellt. <acronym>XDMCP</acronym>-Verbindungen von entfernten Maschinen werden über den Regelsatz in <filename>Xaccess</filename> kontrolliert. Diese Datei wird allerdings ignoriert, wenn in <filename>xdm-config</filename> keine Verbindungen entfernter Maschinen erlaubt sind (dies ist auch die Voreinstellung).</para> </sect3> <sect3> <title>Xresources</title> <para>In dieser Datei kann das Erscheinungsbild der Bildschirmauswahl und der Anmeldemasken festgelegt werden. Das Format entspricht den Dateien im Verzeichnis <filename>app-defaults</filename>, die in der X11-Dokumentation beschrieben sind.</para> </sect3> <sect3> <title>Xservers</title> <para>Diese Datei enthält eine Liste entfernter Maschinen, die in der Bildschirmauswahl angeboten werden.</para> </sect3> <sect3> <title>Xsession</title> <para>Dieses Skript wird vom <application>XDM</application> aufgerufen, nachdem sich ein Benutzer erfolgreich angemeldet hat. Üblicherweise besitzt jeder Benutzer eine angepasste Version dieses Skripts in <filename>~/.xsession</filename>, das dann anstelle von <filename>Xsession</filename> ausgeführt wird.</para> </sect3> <sect3> <title>Xsetup_*</title> <para>Diese Skripten werden automatisch ausgeführt bevor die Bildschirmauswahl oder die Anmeldemasken angezeigt werden. Für jeden lokalen Bildschirm gibt es ein Skript, dessen Namen aus <filename>Xsetup_</filename> gefolgt von der Bildschirmnummer gebildet wird (zum Beispiel <filename>Xsetup_0</filename>). Normalerweise werden damit ein oder zwei Programme, wie <command>xconsole</command>, im Hintergrund gestartet.</para> </sect3> <sect3> <title>xdm-config</title> <para>Diese Datei enthält Einstellungen, die für jeden verwalteten Bildschirm zutreffen. Das Format entspricht dem der Dateien aus <filename>app-defaults</filename>.</para> </sect3> <sect3> <title>xdm-errors</title> <para>Die Ausgaben jedes X-Servers, den <application>XDM</application> versucht zu starten, werden in dieser Datei gesammelt. Wenn ein von <application>XDM</application> verwalteter Bildschirm aus unbekannten Gründen hängen bleibt, sollten Sie in dieser Datei nach Fehlermeldungen suchen. Für jede Sitzung werden die Meldungen auch in die Datei <filename>~/.xsession-errors</filename> des Benutzers geschrieben.</para> </sect3> </sect2> <sect2> <title>Einrichten eines Bildschirm-Servers auf dem Netzwerk</title> <para>Damit sich Clients mit dem Bildschirm-Server verbinden können, muss der Zugriffsregelsatz editiert und der Listener aktiviert werden. Die Vorgabewerte sind sehr restriktiv eingestellt. Damit <application>XDM</application> Verbindungen annimmt, kommentieren Sie eine Zeile in der <filename>xdm-config</filename> Datei aus:</para> <programlisting>! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0</programlisting> <para>Starten Sie danach <application>XDM</application> neu. Beachten Sie, dass Kommentare in den Ressourcen-Konfigurationsdateien mit einem <literal>!</literal> anstelle des sonst üblichen Zeichens <literal>#</literal> beginnen. Wenn Sie strengere Zugriffskontrollen einrichten wollen, sehen Sie sich die Beispiele in <filename>Xaccess</filename> und die Hilfeseite &man.xdm.1; an.</para> </sect2> <sect2> <title>XDM ersetzen</title> <para>Es gibt mehrere Anwendungen, die <application>XDM</application> ersetzen können, zum Beispiel <application>kdm</application>, der Teil von <application>KDE</application> ist und später in diesem Kapitel besprochen wird. <application>kdm</application> ist ansprechender gestaltet und bietet neben einigen Schnörkeln die Möglichkeit, den zu verwendenden Window-Manager bei der Anmeldung auszuwählen.</para> </sect2> </sect1> <sect1 id="x11-wm"> <sect1info> <authorgroup> <author> <firstname>Valentino</firstname> <surname>Vaschetto</surname> <contrib>Beigetragen von </contrib> </author> <!-- June 2001 --> </authorgroup> </sect1info> <title>Grafische Oberflächen</title> <para>Dieser Abschnitt beschreibt verschiedene grafische Oberflächen, die es für X unter FreeBSD gibt. Eine Oberfläche (<foreignphrase>desktop environment</foreignphrase>) kann alles von einem einfachen Window-Manager bis hin zu kompletten Anwendungen wie <application>KDE</application> oder <application>GNOME</application> sein.</para> <sect2 id="x11-wm-gnome"> <title>GNOME</title> <sect3 id="x11-wm-gnome-about"> <title>Über GNOME</title> <indexterm><primary>GNOME</primary></indexterm> <para><application>GNOME</application> ist eine benutzerfreundliche Oberfläche, mit der Rechner leicht benutzt und konfiguriert werden können. <application>GNOME</application> besitzt eine Leiste, mit der Anwendungen gestartet werden und die Statusinformationen anzeigen kann. Programme und Daten können auf der Oberfläche abgelegt werden und Standardwerkzeuge stehen zur Verfügung. Es gibt Konventionen, die es Anwendungen leicht machen, zusammenzuarbeiten und ein konsistentes Erscheinungsbild garantieren. Benutzer anderer Betriebssysteme oder anderer Arbeitsumgebungen sollten mit der leistungsfähigen grafischen Oberfläche von <application>GNOME</application> sehr gut zurechtkommen. Auf der Webseite <ulink url="http://www.FreeBSD.org/gnome">FreeBSD GNOME Project</ulink> finden Sie weitere Informationen über GNOME auf FreeBSD. Zusätzlich finden Sie dort umfassende FAQs zur Installation, Konfiguration und zum Betrieb von <application>GNOME</application>.</para> </sect3> <sect3 id="x11-wm-gnome-install"> <title>GNOME installieren</title> <para>Am einfachsten installieren Sie <application>GNOME</application> als Paket oder über die Ports-Sammlung.</para> <para>Wenn Sie das <application>GNOME</application>-Paket über das Netz installieren wollen, setzen Sie den nachstehenden Befehl ab:</para> <screen>&prompt.root; <userinput>pkg_add -r gnome2</userinput></screen> <para>Wenn Sie den Quellcode von <application>GNOME</application> übersetzen wollen, benutzen Sie die Ports-Sammlung:</para> <screen>&prompt.root; <userinput>cd /usr/ports/x11/gnome2</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <para>Nachdem <application>GNOME</application> installiert ist, muss der X-Server <application>GNOME</application> anstelle eines Window-Managers starten.</para> <para>Der einfachste Weg, <application>GNOME</application> zu starten, ist <application>GDM</application>, der GNOME Display Manager. <application>GDM</application>, das als Teil des <application>GNOME</application>-Desktops installiert (aber in der Voreinstellung deaktiviert) wird, kann durch das Einfügen von <literal>gdm_enable="YES"</literal> in <filename>/etc/rc.conf</filename> beim Systemstart aktiviert werden. Nach einem Systemneustart wird <application>GNOME</application> nach dem Anmelden automatisch gestartet.</para> <para>Um zusätzlich alle <application>GNOME</application>-Dienste beim Start von <application>GDM</application> zu aktivieren, fügen Sie die Zeile <literal>gnome_enable="YES"</literal> zu der Datei <filename>/etc/rc.conf</filename> hinzu.</para> <para><application>GNOME</application> kann auch von der Kommandozeile gestartet werden, wenn Sie eine entsprechend konfigurierte <filename>.xinitrc</filename> in Ihrem Heimatverzeichnis besitzen. Existiert eine solche Version, ersetzen Sie den Aufruf des Window-Managers durch <application>/usr/local/bin/gnome-session</application>. Wenn <filename>.xinitrc</filename> nicht gesondert angepasst wurde, reicht es, den nachstehenden Befehl abzusetzen:</para> <screen>&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" > ~/.xinitrc</userinput></screen> <para>Rufen Sie danach <command>startx</command> auf, um die <application>GNOME</application> Oberfläche zu starten.</para> <note> <para>Wenn Sie einen älteren Display-Manager wie <application>XDM</application> verwenden, müssen Sie anders vorgehen. Legen Sie eine ausführbare <filename>.xsession</filename> an, die das Kommando zum Start von <application>GNOME</application> enthält. Ersetzen Sie dazu den Start des Window-Managers durch <application>/usr/local/bin/gnome-session</application>:</para> <screen>&prompt.user; <userinput>echo "#!/bin/sh" > ~/.xsession</userinput> &prompt.user; <userinput>echo "/usr/local/bin/gnome-session" >> ~/.xsession</userinput> &prompt.user; <userinput>chmod +x ~/.xsession</userinput></screen> </note> <para>Sie können den Display-Manager auch so konfigurieren, dass der Window-Manager beim Anmelden gewählt werden kann. Im Abschnitt <link linkend="x11-wm-kde-details">Details zu KDE</link> wird das für <application>kdm</application>, den Display-Manager von <application>KDE</application> erklärt.</para> </sect3> </sect2> <sect2 id="x11-wm-kde"> <title>KDE</title> <sect3 id="x11-wm-kde-about"> <title>Über KDE</title> <indexterm><primary>KDE</primary></indexterm> <para><application>KDE</application> ist eine moderne, leicht zu benutzende Oberfläche, die unter anderem Folgendes bietet:</para> <itemizedlist> <listitem> <para>eine schöne und moderne Oberfläche,</para> </listitem> <listitem> <para>eine Oberfläche, die völlig netzwerktransparent ist,</para> </listitem> <listitem> <para>ein integriertes Hilfesystem, das bequem und konsistent Hilfestellungen bezüglich der Bedienung der <application>KDE</application>-Oberfläche und ihrer Anwendungen gibt,</para> </listitem> <listitem> <para>ein konstantes Erscheinungsbild (<foreignphrase>look and feel</foreignphrase>) aller <application>KDE</application>-Anwendungen,</para> </listitem> <listitem> <para>einheitliche Menüs, Werkzeugleisten, Tastenkombinationen und Farbschemata,</para> </listitem> <listitem> <para>Internationalisierung: <application>KDE</application> ist in mehr als 40 Sprachen erhältlich,</para> </listitem> <listitem> <para>durch Dialoge gesteuerte zentrale Konfiguration der Oberfläche,</para> </listitem> <listitem> <para>viele nützliche <application>KDE</application>-Anwendungen.</para> </listitem> </itemizedlist> <para>In <application>KDE</application> ist mit <application>Konqueror</application> auch ein Webbrowser enthalten, der sich durchaus mit anderen Webbrowsern auf &unix;-Systemen messen kann. Weitere Informationen über <application>KDE</application> erhalten Sie auf den <ulink url="http://www.kde.de/">KDE-Webseiten</ulink>. Auf der Webseite <ulink url="http://freebsd.kde.org/">KDE on FreeBSD</ulink> finden Sie weitere FreeBSD-spezifische Informationen über KDE.</para> <para>Es sind zwei Versionen von <application>KDE</application> unter &os; verfügbar. Version 3 ist schon seit einiger Zeit erhältlich und ist sehr ausgereift. Version 4, die nächste Generation, ist ebenfalls über die Ports-Sammlung verfügbar. Beide Versionen können sogar gleichzeitig installiert werden.</para> </sect3> <sect3 id="x11-wm-kde-install"> <title>KDE installieren</title> <para>Am einfachsten installieren Sie <application>KDE</application>, wie jede andere grafische Oberfläche auch, als Paket oder über die Ports-Sammlung.</para> <para>Um <application>KDE3</application> über das Netz zu installieren, setzen Sie den nachstehenden Befehl ab:</para> <screen>&prompt.root; <userinput>pkg_add -r kde</userinput></screen> <para>Um <application>KDE4</application> über das Netzwerk zu installieren, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>pkg_add -r kde4</userinput></screen> <para>&man.pkg.add.1; installiert automatisch die neuste Version einer Anwendung.</para> <para>Benutzen Sie die Ports-Sammlung, wenn Sie den Quellcode von <application>KDE3</application> übersetzen wollen:</para> <screen>&prompt.root; <userinput>cd /usr/ports/x11/kde3</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <para>Um <application>KDE4</application> aus dem Quellcode zu übersetzen, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>cd /usr/ports/x11/kde4</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <para>Nachdem <application>KDE</application> installiert ist, muss der X-Server <application>KDE</application> anstelle eines Window-Managers starten. Legen Sie dazu die Datei <filename>.xinitrc</filename> an:</para> <para>Für <application>KDE3</application>:</para> <screen>&prompt.user; <userinput>echo "exec startkde" > ~/.xinitrc</userinput></screen> <para>Für <application>KDE4</application>:</para> <screen>&prompt.user; <userinput>echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrc</userinput></screen> <para>Wenn das X-Window-System danach mit <command>startx</command> gestartet wird, erscheint die <application>KDE</application>-Oberfläche.</para> <para>Wird ein Display-Manager wie <application>XDM</application> benutzt, muss <filename>.xsession</filename> angepasst werden. Eine Anleitung für <application>kdm</application> folgt gleich in diesem Kapitel.</para> </sect3> </sect2> <sect2 id="x11-wm-kde-details"> <title>Details zu KDE</title> <para>Wenn <application>KDE</application> erst einmal installiert ist, erschließen sich die meisten Sachen durch das Hilfesystem oder durch Ausprobieren. Benutzer von Windows oder &macos; werden sich sehr schnell zurecht finden.</para> <para>Die beste Referenz für <application>KDE</application> ist die Online-Dokumentation. <application>KDE</application> besitzt einen eigenen Webbrowser, sehr viele nützliche Anwendungen und ausführliche Dokumentation. Der Rest dieses Abschnitts beschäftigt sich daher mit Dingen, die schlecht durch einfaches Ausprobieren erlernbar sind.</para> <sect3 id="x11-wm-kde-kdm"> <title>Der KDE-Display-Manager</title> <indexterm> <primary>KDE</primary> <secondary>Display-Manager</secondary> </indexterm> <para>Der Administrator eines Mehrbenutzersystems will den Benutzern vielleicht eine grafische Anmeldung wie mit <link linkend="x-xdm">XDM</link> ermöglichen. <application>KDE</application> besitzt einen eigenen Display-Manager, der schöner aussieht und auch über mehr Optionen verfügt. Insbesondere können sich die Benutzer die Oberfläche für die Sitzung (beispielsweise <application>KDE</application> oder <application>GNOME</application>) aussuchen.</para> <para>Um <application>kdm</application> zu aktivieren, müssen Sie den Eintrag <literal>ttyv8</literal> in der Datei <filename>/etc/ttys</filename> anpassen. Die von Ihnen angepasste Zeile sollte ähnlich der folgenden aussehen:</para> <para>Für <application>KDE3</application>:</para> <programlisting>ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure</programlisting> <para>Für <application>KDE4</application>:</para> <programlisting>ttyv8 "/usr/local/kde4/bin/kdm -nodaemon" xterm on secure</programlisting> </sect3> </sect2> <sect2 id="x11-wm-xfce"> <title>Xfce</title> <sect3 id="x11-wm-xfce-about"> <title>Über Xfce</title> <para><application>Xfce</application> ist eine grafische Oberfläche, die auf den GTK+-Bibliotheken, die auch von <application>GNOME</application> benutzt werden, beruht. Die Oberfläche ist allerdings weniger aufwändig und für diejenigen gedacht, die eine schlichte und effiziente Oberfläche wollen, die dennoch einfach zu benutzen und zu konfigurieren ist. Die Oberfläche sieht ähnlich wie <application>CDE</application> aus, das in kommerziellen &unix; Systemen verwendet wird. Einige Merkmale von <application>Xfce</application> sind:</para> <itemizedlist> <listitem> <para>eine schlichte einfach zu benutzende Oberfläche,</para> </listitem> <listitem> <para>vollständig mit Mausoperationen konfigurierbar, Unterstützung von <foreignphrase>drag and drop</foreignphrase>,</para> </listitem> <listitem> <para>ähnliche Hauptleiste wie <application>CDE</application>, die Menüs enthält und über die Anwendungen gestartet werden können,</para> </listitem> <listitem> <para>integrierter Window-Manager, Datei-Manager und Sound-Manager, <application>GNOME</application>-compliance-Modul,</para> </listitem> <listitem> <para>mit <foreignphrase>Themes</foreignphrase> anpassbar (da GTK+ benutzt wird),</para> </listitem> <listitem> <para>schnell, leicht und effizient: ideal für ältere oder langsamere Maschinen oder Maschinen mit wenig Speicher.</para> </listitem> </itemizedlist> <para>Weitere Information über <application>Xfce</application> erhalten Sie auf der <ulink url="http://www.xfce.org/">Xfce-Webseite</ulink>.</para> </sect3> <sect3 id="x11-wm-xfce-install"> <title>Xfce installieren</title> <para>Das <application>Xfce</application>-Paket installieren Sie mit dem nachstehenden Kommando:</para> <screen>&prompt.root; <userinput>pkg_add -r xfce4</userinput></screen> <para>Mit der Ports-Sammlung können Sie auch den Quellcode übersetzen:</para> <screen>&prompt.root; <userinput>cd /usr/ports/x11-wm/xfce4</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <para>Damit beim nächsten Start des X-Servers <application>Xfce</application> benutzt wird, setzen Sie das folgende Kommando ab:</para> <screen>&prompt.user; <userinput>echo "/usr/local/bin/startxfce4" > ~/.xinitrc</userinput></screen> <para>Wenn Sie einen Display-Manager benutzen, erstellen Sie die Datei <filename>.xsession</filename>, wie im <link linkend="x11-wm-gnome">GNOME Abschnitt</link> beschrieben. Verwenden Sie jetzt allerdings das Kommando <filename>/usr/local/bin/startxfce4</filename>. Sie können auch den Display-Manager wie im <link linkend="x11-wm-kde-kdm">kdm Abschnitt</link> beschrieben, so konfigurieren, dass die Oberfläche für die Sitzung ausgewählt werden kann.</para> </sect3> </sect2> </sect1> </chapter> <!-- Local Variables: mode: sgml sgml-declaration: "../chapter.decl" sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t sgml-parent-document: ("../book.sgml" "part" "chapter") End: -->