Inhaltsverzeichnis
Das X Window-System (X11) ist der Industriestandard für grafische Bedienoberflächen unter UNIX. X ist netzwerkbasiert und ermöglicht es, auf einem Host gestartete Anwendungen auf einem anderen, über eine beliebige Art von Netzwerk (LAN oder Internet) verbundenen Host anzuzeigen. In diesem Kapitel werden die Einrichtung und die Optimierung der X Window-Systemumgebung beschrieben. Sie erhalten dabei Hintergrundinformationen zur Verwendung von Schriften in SUSE® Linux Enterprise Server.
![]() | IBM-System z: Konfigurieren der grafischen Bedienoberfläche |
|---|---|
IBM-System z verfügt über keine von X.Org unterstützten Eingabe- oder Ausgabegeräte. Daher treffen keine der in diesem Abschnitt beschriebenen Konfigurationsverfahren zu. Weitere relevante Informationen für IBM-System z finden Sie in Kapitel 4, Installation auf IBM System z (↑Bereitstellungshandbuch). | |
Standardmäßig ist das X Window System mit der unter Abschnitt „Einrichten von Grafikkarte und Monitor“ (Kapitel 8, Einrichten von Hardware-Komponenten mit YaST, ↑Bereitstellungshandbuch) beschriebenen SaX2-Schnittstelle konfiguriert. Alternativ kann er manuell konfiguriert werden, indem Sie die entsprechenden Konfigurationsdateien bearbeiten.
![]() | Fehlerhafte X-Konfigurationen können Ihre Hardware beschädigen |
|---|---|
Seien Sie sehr vorsichtig, wenn Sie die Konfiguration des X Window-Systems ändern. Starten Sie auf keinen Fall das X Window-System, bevor die Konfiguration abgeschlossen ist. Ein falsch konfiguriertes System kann Ihre Hardware irreparabel beschädigen (dies gilt insbesondere für Monitore mit fester Frequenz). Die Autoren dieses Buchs und die Entwickler von SUSE Linux Enterprise Server übernehmen keine Haftung für mögliche Schäden. Die folgenden Informationen basieren auf sorgfältiger Recherche. Es kann jedoch nicht garantiert werden, dass alle hier aufgeführten Methoden fehlerfrei sind und keinen Schaden an Ihrer Hardware verursachen können. | |
Das Kommando sax2 erstellt die Datei/etc/X11/xorg.conf. Dabei handelt es sich um die primäre Konfigurationsdatei des X Window System. Hier finden Sie alle Einstellungen, die Grafikkarte, Maus und Monitor betreffen.
![]() | Verwenden von X -configure |
|---|---|
Verwenden Sie X -configure zur Konfiguration Ihres X-Setups, wenn vorherige Versuche mit SaX2 von SUSE Linux Enterprise Server nicht erfolgreich waren. Wenn Ihre Einrichtung proprietäre ausschließlich binäre Treiber umfasst, funktioniert X -configure nicht. | |
In den folgenden Abschnitten wird die Struktur der Konfigurationsdatei /etc/X11/xorg.conf beschrieben. Sie ist in mehrere Abschnitte gegliedert, die jeweils für bestimmte Aspekte der Konfiguration verantwortlich sind. Jeder Abschnitt beginnt mit dem Schlüsselwort Section <Bezeichnung> und endet mit EndSection. Die folgende Konvention gilt für alle Abschnitte:
Section "designation" entry 1 entry 2 entry n EndSection
Die verfügbaren Abschnittstypen finden Sie in Tabelle 15.1, „Abschnitte in /etc/X11/xorg.conf“.
Tabelle 15.1. Abschnitte in /etc/X11/xorg.conf¶
Monitor, Device und Screen werden genauer erläutert. Weitere Informationen zu den anderen Abschnitten finden Sie auf den man-Seiten von X.Org und xorg.conf.
Die Datei xorg.conf kann mehrere unterschiedliche Abschnitte vom Typ Monitor und Device enthalten. Manchmal gibt es sogar mehrere Abschnitte vom Typ Screen. Der Abschnitt ServerLayout legt fest, welche dieser Abschnitte verwendet werden.
Der Abschnitt „Screen“ kombiniert einen Monitor mit einem Device-Abschnitt und legt fest, welche Auflösung und Farbtiefe verwendet werden sollen. Der Abschnitt „Screen“ kann beispielsweise wie in Beispiel 15.1, „Abschnitt „Screen“ der Datei /etc/X11/xorg.conf“ aussehen.
Beispiel 15.1. Abschnitt „Screen“ der Datei /etc/X11/xorg.conf¶
Section "Screen"DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1152x864" "1024x768" "800x600"
Virtual 1152x864
EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" EndSubSection SubSection "Display" Depth 32 Modes "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1280x1024" EndSubSection Device "Device[0]" Identifier "Screen[0]"
Monitor "Monitor[0]" EndSection
Im Abschnitt „Device“ wird eine bestimmte Grafikkarte beschrieben. xorg.conf kann beliebig viele Grafikkarteneinträge enthalten. Jedoch muss der Name der Grafikkarten eindeutig sein. Hierfür wird das Schlüsselwort Identifier verwendet. Wenn mehrere Grafikkarten installiert sind, werden die Abschnitte einfach der Reihe nach nummeriert. Die erste wird als Device[0], die zweite als Device[1] usw. eingetragen. Die folgende Datei zeigt einen Auszug aus dem Abschnitt Device eines Computers mit einer Matrox Millennium PCI-Grafikkarte (wie von SaX2 konfiguriert):
Section "Device" BoardName "MGA2064W" BusID "0:19:0"Driver "mga"
Identifier "Device[0]" VendorName "Matrox" Option "sw_cursor" EndSection
Das Verhalten des X-Servers bzw. des Treibers kann außerdem durch weitere Optionen beeinflusst werden. Ein Beispiel hierfür ist die Option sw_cursor, die im Abschnitt „Device“ festgelegt wird. Diese deaktiviert den Hardware-Mauszeiger und stellt den Mauszeiger mithilfe von Software dar. Je nach Treibermodul können verschiedene Optionen verfügbar sein. Diese finden Sie in den Beschreibungsdateien der Treibermodule im Verzeichnis /usr/share/doc/packages/. Allgemeingültige Optionen finden Sie außerdem auf den entsprechenden man-Seiten (man Paketname xorg.conf, man 4 und man <Treibermodul>4 ).
chips
Wenn die Grafikkarte über mehrere Videoanschlüsse verfügt, können die verschiedenen an der Karte angeschlossenen Geräte in SaX2 als eine Ansicht konfiguriert werden.
So wie die Abschnitte vom Typ Device jeweils für eine Grafikkarte verwendet werden, beschreiben die Abschnitte Monitor und Modes jeweils einen Monitor. Die Konfigurationsdatei /etc/X11/xorg.conf kann beliebig viele Abschnitte vom Typ Monitor enthalten. Jeder Monitor-Abschnitt verweist, sofern verfügbar, auf einen Modes-Abschnitt mit der Zeile UseModes. Wenn für den Abschnitt Monitor kein Modes-Abschnitt zur Verfügung steht, berechnet der X-Server aus den allgemeinen Synchronisierungswerten passende Werte. Der Abschnitt „ServerLayout“ gibt an, welcher Monitor-Abschnitt zu verwenden ist.
Monitordefinitionen sollten nur von erfahrenen Benutzern festgelegt werden. Die Modelines stellen einen bedeutenden Teil der Monitor-Abschnitte dar. Modelines legen die horizontalen und vertikalen Frequenzen für die jeweilige Auflösung fest. Die Monitoreigenschaften, insbesondere die zulässigen Frequenzen, werden im Abschnitt Monitor gespeichert. Standard-VESA-Modi können auch mit dem Dienstprogramm cvt generiert werden. Weitere Informationen über cvt erhalten Sie auf der man-Seite man cvt.
![]() | |
Die Modelines sollten Sie nur ändern, wenn Sie sich sehr gut mit den Bildschirmfunktionen und der Grafikkarte auskennen, da der Bildschirm durch eine falsche Änderung dieser Zeilen ernsthaft Schaden nehmen kann. | |
Falls Sie Ihre eigenen Monitorbeschreibungen entwickeln möchten, sollten Sie sich eingehend mit der Dokumentation unter /usr/share/X11/doc vertraut machen. Installieren Sie das Paket xorg-x11-doc, um PDFs und HTML-Seiten zu finden.
Heutzutage ist es nur sehr selten erforderlich, Modelines manuell festzulegen. Wenn Sie mit einem modernen Multisync-Monitor arbeiten, können die zulässigen Frequenzen und die optimalen Auflösungen in aller Regel vom X-Server direkt per DDC vom Monitor abgerufen werden, wie im SaX2-Konfigurationsabschnitt beschrieben. Ist dies aus irgendeinem Grund nicht möglich, können Sie auf einen der VESA-Modi des X-Servers zurückgreifen. Dies funktioniert in Verbindung mit den meisten Kombinationen aus Grafikkarte und Monitor.
Die Installation zusätzlicher Schriften unter SUSE® Linux Enterprise Server ist sehr einfach. Kopieren Sie einfach die Schriften in ein beliebiges Verzeichnis im X11-Pfad für Schriften (siehe Abschnitt 15.2.1, „X11 Core-Schriften“). Damit die Schriften verwendet werden können, sollte das Installationsverzeichnis ein Unterverzeichnis der Verzeichnisse sein, die in /etc/fonts/fonts.conf konfiguriert sind (siehe Abschnitt 15.2.2, „Xft“), oder es sollte über /etc/fonts/suse-font-dirs.conf in diese Datei eingefügt worden sein.
Nachfolgend ein Ausschnitt aus der Datei /etc/fonts/fonts.conf. Diese Datei ist die Standard-Konfigurationsdatei, die für die meisten Konfigurationen geeignet ist. Sie definiert auch das eingeschlossene Verzeichnis /etc/fonts/conf.d. Alle Dateien und symbolischen Links in diesem Verzeichnis, die mit einer zweistelligen Zahl beginnen, werden von fontconfig geladen. Ausführliche Erläuterungen zu dieser Funktion finden Sie in der Datei /etc/fonts/conf.d/README.
<!-- Font directory list --> <dir>/usr/share/fonts</dir> <dir>/usr/X11R6/lib/X11/fonts</dir> <dir>/opt/kde3/share/fonts</dir> <dir>/usr/local/share/fonts</dir> <dir>~/.fonts</dir>
/etc/fonts/suse-font-dirs.conf wird automatisch generiert, um Schriften abzurufen, die mit Anwendungen (meist von anderen Herstellern) wie LibreOffice, Java oder Adobe Reader geliefert werden. Ein typischer Eintrag würde wie folgt aussehen:
<dir>/usr/lib/Adobe/Reader9/Resource/Font</dir> <dir>/usr/lib/Adobe/Reader9/Resource/Font/PFM</dir>
Kopieren Sie zur systemweiten Installation zusätzlicher Schriften die Schriftdateien manuell (als root ) in ein geeignetes Verzeichnis, beispielsweise /usr/share/fonts/truetype. Alternativ kann diese Aktion auch mithilfe des KDE-Schrift-Installationsprogramms im KDE-Kontrollzentrum durchgeführt werden. Das Ergebnis ist dasselbe.
Anstatt die eigentlichen Schriften zu kopieren, können Sie auch symbolische Links erstellen. Beispielsweise kann dies sinnvoll sein, wenn Sie lizenzierte Schriften auf einer gemounteten Windows-Partition haben und diese nutzen möchten. Führen Sie anschließend SuSEconfig --module fonts aus.
SuSEconfig --module fonts startet das für die Schriftenkonfiguration zuständige Skript /usr/sbin/fonts-config. Weitere Informationen zu diesem Skript finden Sie auf der man-Seite man fonts-config.
Die Vorgehensweise ist für Bitmap-, TrueType- und OpenType-Schriften sowie Type1-Schriften (PostScript) dieselbe. Alle diese Schriften können in einem beliebigen Verzeichnis installiert werden.
X.Org enthält zwei komplett unterschiedliche Schriftsysteme: das alte und das neu entwickelte System . In den folgenden Abschnitten wird kurz auf diese beiden Systeme eingegangen.
Heute unterstützt das X11 Core-Schriftsystem nicht nur Bitmap-Schriften, sondern auch skalierbare Schriften wie Type1-, TrueType- und OpenType-Schriften. Skalierbare Schriften werden nur ohne Antialiasing und Subpixel-Rendering unterstützt und das Laden von großen skalierbaren Schriften mit Zeichen für zahlreiche Sprachen kann sehr lange dauern. Unicode-Schriften werden ebenfalls unterstützt, aber ihre Verwendung kann mit erheblichem Zeitaufwand verbunden sein und erfordert mehr Speicher.
Das X11 Core-Schriftsystem weist mehrere grundsätzliche Schwächen auf. Es ist überholt und kann nicht mehr sinnvoll erweitert werden. Zwar muss es noch aus Gründen der Abwärtskompatibilität beibehalten werden, doch das modernere System „Xft/fontconfig“ sollte immer verwendet werden, wenn es möglich ist.
Der X-Server muss die verfügbaren Schriften und deren Speicherorte im System kennen. Dies wird durch Verwendung der Variablen FontPath erreicht, in der die Pfade zu allen gültigen Schriftverzeichnissen des Systems vermerkt sind. In jedem dieser Verzeichnisse sind die dort verfügbaren Schriften in einer Datei mit dem Namen fonts.dir aufgeführt. Der FontPath wird vom X Server beim Systemstart erzeugt. Der Server sucht an jedem Speicherort, auf den die FontPath-Einträge der Konfigurationsdatei /etc/X11/xorg.conf verweisen, nach einer gültigen fonts.dir-Datei. Diese Einträge befinden sich im Abschnitt Files. Der FontPath lässt sich mit dem Befehl xset q anzeigen. Dieser Pfad kann auch zur Laufzeit mit dem Befehl xset geändert werden. Zusätzliche Pfade werden mit xset+fp <Pfad> hinzugefügt. Unerwünschte Pfade können mit xset-fp <Pfad> gelöscht werden.
Wenn der X-Server bereits aktiv ist, können Sie neu installierte Schriften in eingehängten Verzeichnissen mit dem Befehl xsetfp rehash verfügbar machen. Dieser Befehl wird von SuSEconfig--module fonts ausgeführt. Da zur Ausführung des Befehls xset der Zugriff auf den laufenden X-Server erforderlich ist, ist dies nur möglich, wenn SuSEconfig--module fonts von einer Shell aus gestartet wird, die Zugriff auf den laufenden X-Server hat. Am einfachsten erreichen Sie dies, indem Sie su und das root-Passwort eingeben und dadurch root-Berechtigungen erlangen. su überträgt die Zugriffsberechtigungen des Benutzers, der den X Server gestartet hat, auf die root-Shell. Wenn Sie überprüfen möchten, ob die Schriften ordnungsgemäß installiert wurden und über das X11 Core-Schriftsystem verfügbar sind, geben Sie den Befehl xlsfonts ein, um alle verfügbaren Schriften aufzulisten.
Standardmäßig arbeitet SUSE Linux Enterprise Server mit UTF-8-Gebietsschemata. Daher sollten nach Möglichkeit Unicode-Schriften verwendet werden (Schriftnamen, die in der von xlsfonts ausgegebenen Liste auf iso10646-1 enden). Alle verfügbaren Unicode-Schriften lassen sich über den Befehl xlsfonts | grep iso10646-1 auflisten. Praktisch alle Unicode-Schriften, die unter SUSE Linux Enterprise Server zur Verfügung stehen, umfassen zumindest die für europäische Sprachen erforderlichen Schriftzeichen (früher als iso-8859-* kodiert).
Die Programmierer von Xft haben von Anfang an sichergestellt, dass auch skalierbare Schriften, die Antialiasing nutzen, problemlos unterstützt werden. Bei Verwendung von Xft werden die Schriften von der Anwendung, die die Schriften nutzt, und nicht vom X-Server gerendert, wie es beim X11 Core-Schriftsystem der Fall ist. Auf diese Weise hat die jeweilige Anwendung Zugriff auf die eigentlichen Schriftdateien und kann genau steuern, wie die Zeichen gerendert werden. Dies bildet eine optimale Basis für die ordnungsgemäße Textdarstellung für zahlreiche Sprachen. Direkter Zugriff auf die Schriftdateien ist sehr nützlich, wenn Schriften für die Druckausgabe eingebettet werden sollen. So lässt sich sicherstellen, dass der Ausdruck genau der Bildschirmdarstellung entspricht.
Unter SUSE Linux Enterprise Server nutzen die beiden Desktop-Umgebungen (KDE und GNOME), Mozilla und zahlreiche andere Anwendungen bereits standardmäßig Xft. Xft wird inwischen von mehr Anwendungen genutzt als das alte X11 Core-Schriftsystem.
Xft greift für die Suche nach Schriften und für deren Darstellung auf die fontconfig-Bibliothek zurück. Die Eigenschaften von fontconfig werden durch die globale Konfigurationsdatei /etc/fonts/fonts.conf gesteuert. Spezielle Konfigurationen sollten zu /etc/fonts/local.conf und der benutzerspezifischen Konfigurationsdatei ~/.fonts.conf hinzugefügt werden. Jede dieser fontconfig-Konfigurationsdateien muss folgendermaßen beginnen:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
Enden müssen die Dateien wie folgt:
</fontconfig>
Wenn Sie möchten, dass weitere Verzeichnisse nach Schriften durchsucht werden sollen, fügen Sie Zeilen in der folgenden Weise hinzu:
<dir>/usr/local/share/fonts/</dir>
Dies ist jedoch in der Regel nicht erforderlich. Standardmäßig ist das benutzerspezifische Verzeichnis ~/.fonts bereits in die Datei /etc/fonts/fonts.conf eingetragen. Entsprechend müssen Sie die zusätzlichen Schriften einfach nur nach ~/.fonts kopieren, um sie zu installieren.
Außerdem können Sie Regeln angeben, die die Darstellung der Schriften beeinflussen. Geben Sie beispielsweise Folgendes ein:
<match target="font"> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>
Hierdurch wird das Antialiasing für alle Schriften aufgehoben. Wenn Sie hingegen
<match target="font"> <test name="family"> <string>Luxi Mono</string> <string>Luxi Sans</string> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>
eingeben, wird das Antialiasing nur für bestimmte Schriften aufgehoben.
Standardmäßig verwenden die meisten Anwendungen die Schriftbezeichnungen sans-serif (bzw. sans), serif oder monospace. Hierbei handelt es sich nicht um eigentliche Schriften, sondern nur um Aliasnamen, die je nach Spracheinstellung in eine passende Schrift umgesetzt werden.
Benutzer können problemlos Regeln zur Datei ~/.fonts.conf hinzufügen, damit diese Aliasnamen in ihre bevorzugten Schriften umgesetzt werden:
<alias> <family>sans-serif</family> <prefer> <family>FreeSans</family> </prefer> </alias> <alias> <family>serif</family> <prefer> <family>FreeSerif</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>FreeMono</family> </prefer> </alias>
Da fast alle Anwendungen standardmäßig mit diesen Aliasnamen arbeiten, betrifft diese Änderung praktisch das gesamte System. Daher können Sie nahezu überall sehr einfach Ihre Lieblingsschriften verwenden, ohne die Schrifteinstellungen in den einzelnen Anwendungen ändern zu müssen.
Mit dem Befehl fc-list finden Sie heraus, welche Schriften installiert sind und verwendet werden können. Der Befehl fc-list gibt eine Liste aller Schriften zurück. Wenn Sie wissen möchten, welche der skalierbaren Schriften (:scalable=true) alle erforderlichen Zeichen für Hebräisch (:lang=he) enthalten und Sie deren Namen (family), Schnitt (style) und Stärke (weight) sowie die Namen der entsprechenden Schriftdateien anzeigen möchten, geben Sie folgendes Kommando ein:
fc-list ":lang=he:scalable=true" family style weight
Auf diesen Befehl kann beispielsweise Folgendes zurückgegeben werden:
Lucida Sans:style=Demibold:weight=200 DejaVu Sans:style=Bold Oblique:weight=200 Lucida Sans Typewriter:style=Bold:weight=200 DejaVu Sans:style=Oblique:weight=80 Lucida Sans Typewriter:style=Regular:weight=80 DejaVu Sans:style=Book:weight=80 DejaVu Sans:style=Bold:weight=200 Lucida Sans:style=Regular:weight=80
In der folgenden Tabelle finden Sie wichtige Parameter, die mit dem Befehl fc-list abgefragt werden können:
Tabelle 15.2. Parameter zur Verwendung mit fc-list¶
|
Parameter |
Bedeutung und zulässige Werte |
|---|---|
|
|
Der Name der Schriftamilie, z. B. |
|
|
Der Hersteller der Schrift, z. B. |
|
|
Der Schriftschnitt, z. B. |
|
|
Die Sprache, die von dieser Schrift unterstützt wird, z. B. |
|
|
Die Schriftstärke, z. B. |
|
|
Die Schriftneigung, in der Regel |
|
|
Der Name der Schriftdatei. |
|
|
|
|
|
|
|
|
|
|
|
Schriftgröße in Pixel. In Verbindung mit dem Befehl „fc-list“ ist diese Option nur bei Bitmap-Schriften sinnvoll. |
Installieren Sie die Pakete xorg-x11-doc und howtoenh , um detailliertere Informationen zu X11 zu erhalten. Weitere Informationen zur X11-Entwicklung finden Sie auf der Startseite des Projekts unter http://www.x.org.
Viele der Treiber, die mit dem Paket xorg-x11-driver-video geliefert werden, sind ausführlich in einer man-Seite beschrieben. Wenn Sie beispielsweise den nv-Treiber verwenden, erhalten Sie weitere Informationen auf der man-Seite man 4 nv.
Informationen über Treiber von anderen Herstellern sollten in /usr/share/doc/packages/<paketname> zur Verfügung stehen. Beispielsweise ist die Dokumentation von x11-video-nvidiaG01 nach der Installation des Pakets in /usr/share/doc/packages/x11-video-nvidiaG01 verfügbar.