Zum Inhalt springenZur Seitennavigation springen: vorherige Seite [Zugriffstaste p]/nächste Seite [Zugriffstaste n]
documentation.suse.com / SUSE Linux Enterprise Server-Dokumentation / Verwaltungshandbuch / System / Über die grafische Benutzeroberfläche
Gilt für SUSE Linux Enterprise Server 15 SP3

21 Über die grafische Benutzeroberfläche

SUSE Linux Enterprise Server umfasst den X.org-Server und den GNOME-Desktop. In diesem Kapitel wird die Konfiguration der grafischen Benutzeroberfläche für alle Benutzer beschrieben.

21.1 X Window System

Der X.org-Server ist die allgemeine Norm für die Implementierung des X11-Protokolls. 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 der Regel muss das X Window System nicht konfiguriert werden. Die Hardware wird beim Starten von X dynamisch erkannt. Die Nutzung von xorg.conf ist daher überholt. Wenn Sie die Funktionsweise von X dennoch mit benutzerdefinierten Optionen ändern möchten, können Sie die Konfigurationsdateien unter /etc/X11/xorg.conf.d/ entsprechend bearbeiten.

Tipp
Tipp: IBM Z: Konfigurieren der grafischen Benutzeroberfläche

IBM Z verfügt nicht über Eingabe- oder Ausgabegeräte, die von X.Org unterstützt werden, daher gelten keine der in diesem Abschnitt beschriebenen Vorgehensweisen für diese Systeme. Weitere relevante Informationen für IBM Z finden Sie im Kapitel 5, Installation unter IBM Z und LinuxONE.

Installieren Sie das xorg-docs-Paket, um detailliertere Informationen zu X11 zu erhalten. Auf der man-Seite man 5 xorg.conf finden Sie weitere Informationen zum Format der manuellen Konfiguration (falls erforderlich). Weitere Informationen zur X11-Entwicklung finden Sie auf der Startseite des Projekts unter http://www.x.org.

Die Treiber befinden sich in xf86-video-*-Paketen, beispielsweise xf86-video-ati. Viele der Treiber, die mit diesen Paketen geliefert werden, sind ausführlich in der zugehörigen man-Seite beschrieben. Wenn Sie beispielsweise den ati-Treiber verwenden, erhalten Sie weitere Informationen auf der man-Seite man 4 ati.

Informationen über Treiber von anderen Herstellern stehen in /usr/share/doc/packages/<paketname> zur Verfügung. Beispielsweise ist die Dokumentation von x11-video-nvidiaG04 nach der Installation des Pakets in /usr/share/doc/packages/x11-video-nvidiaG03 verfügbar.

21.2 Installation und Konfiguration von Schriften

Schriften in Linux lassen sich in zwei Gruppen gliedern:

Outline- oder Vektorschriften

Enthält eine mathematische Beschreibung als Informationen zum Zeichnen der Form einer Glyphe. Die Glyphen können dabei auf eine beliebige Größe skaliert werden, ohne dass die Qualität darunter leidet. Bevor Sie eine solche Schrift (oder Glyphe) verwenden können, müssen die mathematischen Beschreibungen in ein Raster überführt werden. Dieser Vorgang wird als Schriftrasterung bezeichnet. Beim Schrift-Hinting (in der Schrift eingebettet) wird das Rendering-Ergebnis für eine bestimmte Größe optimiert. Die Rasterung und das Hinting erfolgen mit der FreeType-Bibliothek.

Unter Linux werden häufig die Formate PostScript Typ 1 und Typ 2, TrueType und OpenType verwendet.

Bitmap- oder Rasterschriften

Besteht aus einer Pixelmatrix, die auf eine bestimmte Schriftgröße abgestimmt ist. Bitmap-Schriften lassen sich äußerst schnell und einfach rendern. Im Gegensatz zu Vektorschriften können Bitmap-Schriften jedoch nicht ohne Qualitätseinbußen skaliert werden. Diese Schriften werden daher meist in unterschiedlichen Größen bereitgestellt. Selbst heute noch werden Bitmap-Schriften in der Linux-Konsole und teils auch auf Terminals verwendet.

Unter Linux sind das Portable Compiled Format (PCF) und das Glyph Bitmap Distribution Format (BDF) die häufigsten Formate.

Das Erscheinungsbild dieser Schriften wird durch zwei wichtige Faktoren beeinflusst:

  • Auswählen einer geeigneten Schriftfamilie

  • Rendern der Schrift mit einem Algorithmus, der optisch ansprechende Ergebnisse bewirkt.

Der letzte Punkt ist nur für Vektorschriften relevant. Die beiden obigen Punkte sind stark subjektiv; dennoch müssen einige Standardvorgaben festgelegt werden.

Linux-Schriftrenderingsysteme bestehen aus mehreren Bibliotheken mit unterschiedlichen Beziehungen. Die grundlegende Schriftrenderingbibilothek FreeType konvertiert die Schriftglyphen von unterstützten Formaten in optimierte Bitmap-Glyphen. Der Renderingvorgang wird durch einen Algorithmus und die zugehörigen Parameter gesteuert (unter Umständen patentrechtlich geschützt).

Alle Programme und Bibliotheken, die mit FreeType arbeiten, sollten auf die Fontconfig-Bibliothek zurückgreifen. In dieser Bibliothek werden die Schriftkonfigurationen von Benutzern und vom System gesammelt. Wenn ein Benutzer die Fontconfig-Einstellung ergänzt, entstehen durch diese Änderung Fontconfig-fähige Anwendungen.

Ein eingehenderes OpenType-Shaping für Skripte wie Arabic, Han oder Phags-Pa und andere höhere Textverarbeitung erfolgt mit Harfbuzz oder Pango.

21.2.1 Anzeigen der installierten Schriften

Mit dem Kommando rpm oder fc-list erhalten Sie einen Überblick über die Schriften, die auf dem System installiert sind. Beide Kommandos liefern eine aussagekräftige Antwort, geben dabei jedoch (je nach System- und Benutzerkonfiguration) ggf. unterschiedliche Listen zurück:

rpm

rpm zeigt die auf dem System installierten Software-Pakete an, in denen sich Schriften befinden:

tux > rpm -qa '*fonts*'

Alle Schriftpakete sollten mit diesem Ausdruck aufgefunden werden. Unter Umständen gibt das Kommando jedoch einige falsch positive Einträge zurück, beispielsweise fonts-config (dies ist weder eine Schrift noch sind hier Schriften enthalten).

fc-list

Mit fc-list erhalten Sie einen Überblick darüber, welche Schriftfamilien verfügbar sind und ob diese auf dem System oder in Ihrem Benutzerverzeichnis installiert sind:

tux > fc-list ':' family
Anmerkung
Anmerkung: Kommando fc-list

Das Kommando fc-list ist eine Erweiterung zur Fontconfig-Bibliothek. Aus Fontconfig – oder genauer gesagt, aus dem Cache – lassen sich zahlreiche interessante Informationen ermitteln. Unter man 1 fc-list finden Sie weitere Einzelheiten.

21.2.2 Anzeigen von Schriften

Mit dem Kommando ftview (Paket ft2demos) sowie unter http://fontinfo.opensuse.org/ sehen Sie, wie eine installierte Schriftfamilie dargestellt wird. Soll beispielsweise die Schrift FreeMono in 14 Punkt angezeigt werden, verwenden Sie ftview wie folgt:

tux > ftview 14 /usr/share/fonts/truetype/FreeMono.ttf

Unter http://fontinfo.opensuse.org/ erfahren Sie, welche Schriftschnitte (normal, fett, kursiv etc.) und welche Sprachen unterstützt werden.

21.2.3 Abfragen von Schriften

Mit dem Kommando fc-match fragen Sie ab, welche Schrift für ein angegebenes Muster verwendet wird.

Wenn das Muster beispielsweise eine bereits installierte Schrift enthält, gibt fc-match den Dateinamen, die Schriftfamilie und den Schriftschnitt zurück:

tux > fc-match 'Liberation Serif'
LiberationSerif-Regular.ttf: "Liberation Serif" "Regular"

Ist die gewünschte Schrift nicht auf dem System vorhanden, greifen die Ähnlichkeitsregeln von Fontconfig und es werden verfügbare Schriften mit der größtmöglichen Ähnlichkeit gesucht. Ihre Anforderung wird also ersetzt:

tux > fc-match 'Foo Family'
DejaVuSans.ttf: "DejaVu Sans" "Book"

Fontconfig unterstützt Aliase: Ein Name wird durch den Namen einer anderen Schriftfamilie ersetzt. Ein typisches Beispiel sind generische Namen wie sans-serif, serif und monospace. Diese Alias-Namen können durch echte Familiennamen und sogar durch eine Präferenzliste mit Familiennamen ersetzt werden:

tux > for font in serif sans mono; do fc-match "$font" ; done
DejaVuSerif.ttf: "DejaVu Serif" "Book"
DejaVuSans.ttf: "DejaVu Sans" "Book"
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"

Das Ergebnis auf Ihrem System kann abweichen, abhängig davon, welche Schriften derzeit installiert sind.

Anmerkung
Anmerkung: Ähnlichkeitsregeln in Fontconfig

Fontconfig gibt immer eine reale Schriftfamilie (sofern mindestens eine Familie installiert ist) für die angegebene Anforderung zurück, die so ähnlich ist wie möglich. Die Ähnlichkeit ist abhängig von den internen Metriken von Fontconfig sowie von den Fontconfig-Einstellungen des Benutzers oder Administrators.

21.2.4 Installieren von Schriften

Zum Installieren einer neuen Schrift stehen die folgenden wichtigsten Verfahren zur Auswahl:

  1. Installieren Sie die Schriftdateien (z. B. *.ttf oder *.otf) manuell in ein bekanntes Schriftverzeichnis. Wenn die Schriften systemweit verfügbar sein sollen, verwenden Sie das Standardverzeichnis /usr/share/fonts. Für die Installation in Ihrem Benutzerverzeichnis verwenden Sie ~/.config/fonts.

    Falls Sie nicht die standardmäßigen Verzeichnisse verwenden möchten, können Sie in Fontconfig ein anderes Verzeichnis auswählen. Hierzu geben Sie das Element <dir> an. Weitere Informationen finden Sie in Abschnitt 21.2.5.2, „Kurzer Einblick in Fontconfig-XML“.

  2. Installieren Sie die Schriften mit zypper. Zahlreiche Schriften sind bereits als Paket verfügbar, beispielsweise in der SUSE-Distribution oder im Repository M17N:fonts. Fügen Sie das Repository mit dem nachfolgenden Kommando in die Liste ein. So fügen Sie beispielsweise ein Repository für SUSE Linux Enterprise Server 15 SP3 hinzu:

    tux > sudo zypper ar
         https://download.opensuse.org/repositories/M17N:/fonts/SLE_15/

    FONT_FAMILY_NAME ermitteln Sie mit dem folgenden Kommando:

    tux > zypper se 'FONT_FAMILY_NAME*fonts'

21.2.5 Konfigurieren der Darstellung von Schriften

Je nach Renderingmedium und Schriftgröße entstehen womöglich keine zufriedenstellenden Ergebnisse. Ein durchschnittlicher Monitor hat beispielsweise eine Auflösung von 100dpi. Bei dieser Auflösung sind die Pixel zu groß und die Glyphen wirken plump und unförmig.

Für niedrigere Auflösungen stehen mehrere Algorithmen bereit, z. B. Anti-Aliasing (Graustufenglättung), Hinting (Anpassen an das Raster) oder Subpixel-Rendering (Verdreifachen der Auflösung in eine Richtung). Diese Algorithmen können dabei von Schriftformat zu Schriftformat unterschiedlich sein.

Wichtig
Wichtig: Patentprobleme beim Subpixel-Rendering

Das Subpixel-Rendering kommt in SUSE-Distributionen nicht zum Einsatz. FreeType2 unterstützt zwar diesen Algorithmus, allerdings unterliegt er mehreren Patenten, die Ende 2019 auslaufen. Die eingestellten Optionen für das Subpixel-Rendering in Fontconfig wirken sich daher nur dann aus, wenn das System eine FreeType2-Bibilothek enthält, in der das Subpixel-Rendering kompiliert ist.

Mit Fontconfig können Sie den Rendering-Algorithmus für einzelne Schriften oder auch für eine Gruppe von Schriften gleichzeitig auswählen.

21.2.5.1 Konfigurieren von Schriften mit sysconfig

SUSE Linux Enterprise Server umfasst eine sysconfig-Schicht oberhalb von Fontconfig. Dies ist ein guter Ausgangspunkt, um mit der Schriftkonfiguration zu experimentieren. Zum Ändern der Standardeinstellungen bearbeiten Sie die Konfigurationsdatei /etc/sysconfig/fonts-config. (Alternativ verwenden Sie das YaST-Modul sysconfig.) Führen nach dem Bearbeiten der Datei fonts-config aus:

tux > sudo /usr/sbin/fonts-config

Starten Sie die Anwendung neu, damit der Effekt sichtbar wird. Beachten Sie Folgendes:

  • Einige Anwendungen müssen nicht neu gestartet werden. Firefox liest die Fontconfig-Konfiguration beispielsweise in regelmäßigen Abständen aus. Auf soeben erstellten oder neu geladenen Registerkarten werden die Schriftkonfigurationen erst später sichtbar.

  • Nach jedem Installieren oder Entfernen eines Pakets wird automatisch das Skript fonts-config aufgerufen. (Ist dies nicht der Fall, so ist das Schriften-Software-Paket fehlerhaft.)

  • Jede sysconfig-Variable kann vorübergehend mit der Kommandozeilenoption fonts-config überschrieben werden. Weitere Informationen finden Sie in fonts-config --help.

Es können verschiedene sysconfig-Variablen geändert werden. Weitere Informationen finden Sie auf der man-Seite man 1 fonts-config oder auf der Hilfeseite des YaST-Moduls sysconfig. Beispiele für Variablen:

Verwendung der Rendering-Algorithmen

Nutzen Sie ggf. FORCE_HINTSTYLE, FORCE_AUTOHINT, FORCE_BW, FORCE_BW_MONOSPACE, USE_EMBEDDED_BITMAPS und EMBEDDED_BITMAP_LANGAGES

Präferenzliste generischer Aliase

Verwenden Sie PREFER_SANS_FAMILIES, PREFER_SERIF_FAMILIES, PREFER_MONO_FAMILIES und SEARCH_METRIC_COMPATIBLE

In der nachfolgenden Liste finden Sie einige Konfigurationsbeispiele, sortiert von den am leichtesten lesbaren Schriften (stärkerer Kontrast) zu den ansprechendsten Schriften (stärker geglättet).

Bitmap-Schriften

Mit den Variablen PREFER_*_FAMILIES können Sie Bitmap-Schriften den Vorzug geben. Beachten Sie das Beispiel im Hilfeabschnitt zu diesen Variablen. Bitmap-Schriften werden schwarzweiß dargestellt und nicht geglättet und sie stehen nur in bestimmten Größen zur Verfügung. Nutzen Sie ggf.

SEARCH_METRIC_COMPATIBLE="no"

zum Deaktivieren der Ersetzungen der Familienname auf Basis der Metrikkompatibilität.

Skalierbare, schwarzweiß dargestellte Schriften

Skalierbare Schriften, die ohne Antialiasing gerendert werden, können ähnliche Ergebnisse liefern wie Bitmap-Schriften, wobei die Schriften weiterhin skalierbar bleiben. Verwenden Sie Schriften mit gutem Hinting, beispielsweise die Liberation-Schriftfamilien. Bislang sind leider nur wenige Schriften mit gutem Hinting erhältlich. Mit der folgenden Variablen erzwingen Sie diese Methode:

FORCE_BW="yes"
Nichtproportionale schwarzweiß dargestellte Schriften

Nichtproportionale Schriften werden nur ohne Antialiasing gerendert; ansonsten verwenden Sie die Standardeinstellungen:

FORCE_BW_MONOSPACE="yes"
Standardeinstellungen

Alle Schriften werden mit Antialiasing gerendert. Schriften mit gutem Hinting werden mit dem Byte-Code-Interpreter) gerendert, die übrigen Schriften mit Autohinter (hintstyle=hintslight). Behalten Sie die Standardeinstellungen für alle relevanten sysconfig-Variablen bei.

CFF-Schriften

Die Schriften werden im CFF-Format verwendet. Im Hinblick auf die aktuellen Verbesserungen in FreeType2 sind diese Schriften im Allgemeinen leichter lesbar als die standardmäßigen TrueType-Schriften. Probieren Sie sie aus, indem Sie das Beispiel PREFER_*_FAMILIES verwenden. Auf Wunsch können Sie sie wie folgt dunkler und fetter darstellen:

SEARCH_METRIC_COMPATIBLE="no"

Standardmäßig werden sie mit hintstyle=hintslight gerendert. Eine weitere Möglichkeit:

SEARCH_METRIC_COMPATIBLE="no"
Nur Autohinter

Auch für Schriften mit gutem Hinter wird Autohinter aus FreeType2 verwendet. Dies kann zu fetteren, manchmal unscharfen Buchstaben mit niedrigerem Kontrast führen. Mit der folgenden Variablen aktivieren Sie dies:

FORCE_AUTOHINTER="yes"

Mit FORCE_HINTSTYLE steuern Sie den Hinting-Grad.

21.2.5.2 Kurzer Einblick in Fontconfig-XML

Bei Fontconfig wird das Konfigurationsformat eXtensible Markup Language (XML) genutzt. Diese wenigen Beispiele sollen keine erschöpfende Referenz darstellen, sondern lediglich einen kurzen Überblick bieten. Weitere Informationen und Anregungen finden Sie in man 5 fonts-conf oder /etc/fonts/conf.d/.

Die zentrale Fontconfig-Konfigurationsdatei ist /etc/fonts/fonts.conf und umfasst unter anderem das gesamte Verzeichnis /etc/fonts/conf.d/. Änderungen an Fontconfig können an zwei Stellen vorgenommen werden:

Fontconfig-Konfigurationsdateien
  1. Systemweite Änderungen.  Bearbeiten Sie die Datei /etc/fonts/local.conf. (Standardmäßig enthält diese Datei ein leeres fontconfig-Element.)

  2. Benutzerspezifische Änderungen.  Bearbeiten Sie die Datei ~/.config/fontconfig/fonts.conf. Speichern Sie die Fontconfig-Konfigurationsdateien in das Verzeichnis ~/.config/fontconfig/conf.d/.

Benutzerspezifische Änderungen überschreiben die systemweiten Einstellungen.

Anmerkung
Anmerkung: Veraltete Benutzerkonfigurationsdatei

Die Datei ~/.fonts.conf ist als veraltet gekennzeichnet und darf nicht mehr verwendet werden. Verwenden Sie stattdessen die Datei ~/.config/fontconfig/fonts.conf.

Jede Konfigurationsdatei muss ein fontconfig-Element enthalten. Die minimale Datei sieht daher wie folgt aus:

<?xml version="1.0"?>
   <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
   <fontconfig>
   <!-- Insert your changes here -->
   </fontconfig>

Falls die Standardverzeichnisse nicht ausreichen, fügen Sie das dir-Element mit dem gewünschten Verzeichnis ein:

<dir>/usr/share/fonts2</dir>

Fontconfig sucht rekursiv nach den Schriften.

Mit dem folgenden Fontconfig-Snippet können Sie die Algorithmen für das Schriftrendering auswählen (siehe Beispiel 21.1, „Festlegen von Rendering-Algorithmen“):

Beispiel 21.1: Festlegen von Rendering-Algorithmen
<match target="font">
 <test name="family">
  <string>FAMILY_NAME</string>
 </test>
 <edit name="antialias" mode="assign">
  <bool>true</bool>
 </edit>
 <edit name="hinting" mode="assign">
  <bool>true</bool>
 </edit>
 <edit name="autohint" mode="assign">
  <bool>false</bool>
 </edit>
 <edit name="hintstyle" mode="assign">
  <const>hintfull</const>
 </edit>
</match>

Sie können verschiedene Eigenschaften der Schriften zunächst ausprobieren. Mit dem <test>-Element können Sie beispielsweise die Schriftfamilie (siehe Beispiel), das Größenintervall, den Zeichenabstand, das Schriftformat und andere Eigenschaften testen. Wenn Sie <test> vollständig löschen, werden alle <edit>-Elemente auf sämtliche Schriften angewendet (globale Änderung).

Beispiel 21.2: Aliasse und Ersetzungen von Familiennamen
Regel 1
<alias>
 <family>Alegreya SC</family>
 <default>
  <family>serif</family>
 </default>
</alias>
Regel 2
<alias>
 <family>serif</family>
 <prefer>
  <family>Droid Serif</family>
 </prefer>
</alias>
Regel 3
<alias>
 <family>serif</family>
 <accept>
  <family>STIXGeneral</family>
 </accept>
</alias>

Mit den Regeln in Beispiel 21.2, „Aliasse und Ersetzungen von Familiennamen“ wird eine priorisierte Familienliste (PFL) erzeugt. Je nach Element werden verschiedene Aktionen ausgeführt:

<default> in Regel 1

Mit dieser Regel wird ein serif-Familienname an das Ende der PFL angehängt.

<prefer> in Regel 2

Mit dieser Regel wird Droid Serif direkt vor dem ersten Auftreten von serif in der PFL eingefügt, wenn Alegreya SC in der PFL vorliegt.

<accept> in Regel 3

Mit dieser Regel wird ein STIXGeneral-Familienname direkt nach dem ersten Auftreten des serif-Familiennamens in die PFL eingefügt.

Wenn alle Snippets in der Reihenfolge Regel 1 - Regel 2 - Regel 3 ausgeführt werden und der Benutzer Alegreya SC anfordert, wird die PFL wie in Tabelle 21.1, „Erzeugen einer PFL aus Fontconfig-Regeln“ dargestellt erzeugt.

Tabelle 21.1: Erzeugen einer PFL aus Fontconfig-Regeln

Reihenfolge

Aktuelle PFL

Anforderung

Alegreya SC

Regel 1

Alegreya SC, serif

Regel 2

Alegreya SC, Droid Serif, serif

Regel 3

Alegreya SC, Droid Serif, serif, STIXGeneral

In den Fontconfig-Metriken hat der Familienname die höchste Priorität vor anderen Mustern wie Schriftschnitt, Größe usw. Fontconfig prüft, welche Familie derzeit auf dem System installiert ist. Wenn Alegreya SC installiert ist, gibt Fontconfig diese Schrift zurück. Ansonsten wird Droid Serif angefordert usw.

Gehen Sie vorsichtig vor. Wenn die Reihenfolge der Fontconfig-Snippets geändert wird, gibt Fontconfig unter Umständen andere Ergebnisse zurück (siehe Tabelle 21.2, „Ergebnisse beim Erzeugen der PFL aus Fontconfig-Regeln mit anderer Reihenfolge“).

Tabelle 21.2: Ergebnisse beim Erzeugen der PFL aus Fontconfig-Regeln mit anderer Reihenfolge

Reihenfolge

Aktuelle PFL

Hinweis

Anforderung

Alegreya SC

Dieselbe Anforderung wie oben.

Regel 2

Alegreya SC

serif nicht in PFL, kein Ersatz

Regel 3

Alegreya SC

serif nicht in PFL, kein Ersatz

Regel 1

Alegreya SC, serif

Alegreya SC in PFL vorhanden, Ersatz vorgenommen

Anmerkung
Anmerkung: Implikation

Betrachten Sie das Alias <default> als Klassifizierung oder Einbeziehung dieser Gruppe (sofern nicht installiert). Wie das Beispiel zeigt, muss <default> stets vor den Aliasen <prefer> und <accept> dieser Gruppe stehen.

Die Klassifizierung <default> ist nicht auf die generischen Aliase serif, sans-serif und monospace beschränkt. Ein ausführlicheres Beispiel finden Sie in /usr/share/fontconfig/conf.avail/30-metric-aliases.conf.

Mit dem nachfolgenden Fontconfig-Snippet in Beispiel 21.3, „Aliase und Ersetzungen von Familiennamen“ wird eine serif-Gruppe erstellt. Jede Familie in dieser Gruppe kann andere Familien ersetzen, wenn eine vorangehende Schrift nicht installiert ist.

Beispiel 21.3: Aliase und Ersetzungen von Familiennamen
<alias>
 <family>Alegreya SC</family>
 <default>
  <family>serif</family>
 </default>
</alias>
<alias>
 <family>Droid Serif</family>
 <default>
  <family>serif</family>
 </default>
</alias>
<alias>
 <family>STIXGeneral</family>
 <default>
  <family>serif</family>
 </default>
</alias>
<alias>
 <family>serif</family>
 <accept>
  <family>Droid Serif</family>
  <family>STIXGeneral</family>
  <family>Alegreya SC</family>
 </accept>
</alias>

Die Priorität ergibt sich aus der Reihenfolge im Alias <accept>. Ebenso können stärkere Aliase <prefer> verwendet werden.

Beispiel 21.2, „Aliasse und Ersetzungen von Familiennamen“ wird durch Beispiel 21.4, „Aliasse und Ersetzungen von Familiennamen“ ergänzt.

Beispiel 21.4: Aliasse und Ersetzungen von Familiennamen
Regel 4
<alias>
 <family>serif</family>
 <accept>
  <family>Liberation Serif</family>
 </accept>
</alias>
Regel 5
<alias>
 <family>serif</family>
 <prefer>
  <family>DejaVu Serif</family>
 </prefer>
</alias>

Die erweiterte Konfiguration aus Beispiel 21.4, „Aliasse und Ersetzungen von Familiennamen“ würde die folgende PFL-Entwicklung bewirken:

Tabelle 21.3: Ergebnisse beim Erzeugen einer PFL aus Fontconfig-Regeln

Reihenfolge

Aktuelle PFL

Anforderung

Alegreya SC

Regel 1

Alegreya SC, serif

Regel 2

Alegreya SC, Droid Serif, serif

Regel 3

Alegreya SC, Droid Serif, serif, STIXGeneral

Regel 4

Alegreya SC, Droid Serif, serif, Liberation Serif, STIXGeneral

Regel 5

Alegreya SC, Droid Serif, DejaVu Serif, serif, Liberation Serif, STIXGeneral

Anmerkung
Anmerkung: Auswirkungen.
  • Wenn mehrere <accept>-Deklarationen für denselben generischen Namen vorhanden sind, hat die zuletzt geparste Deklaration Vorrang. Beim Erstellen einer systemweiten Konfiguration sollten Sie <accept> nach Möglichkeit nicht nach dem Benutzer(/etc/fonts/conf.d/*-user.conf) angeben.

  • Wenn mehrere <prefer>-Deklarationen für denselben generischen Namen vorhanden sind, hat die zuletzt geparste Deklaration Vorrang. In der systemweiten Konfiguration sollten Sie <prefer> nicht vor dem Benutzer angeben.

  • Jede <prefer>-Deklaration überschreibt die <accept>-Deklarationen für denselben generischen Namen. Wenn der Administrator dem Benutzer die Möglichkeit geben möchte, <accept> zu verwenden (nicht nur <prefer>), sollte der Administrator <prefer> nicht in der systemweiten Konfiguration angeben. Die meisten Benutzer beschränken sich jedoch lediglich auf <prefer>, sodass dies keine negativen Auswirkungen haben sollte. <prefer> kommt auch in systemweiten Konfigurationen zum Einsatz.

21.3 GNOME-Konfiguration für Administratoren

21.3.1 Das dconf-System

Die Konfiguration des GNOME-Desktops wird mit dconf verwaltet. Dabei handelt es sich um eine hierarchisch strukturierte Datenbank oder eine Registrierung, über die Benutzer persönliche Einstellungen bearbeiten können. Administratoren können darüber standardmäßige oder obligatorische Werte für alle Benutzer festlegen. dconf ersetzt das gconf-System von GNOME 2.

Mit dconf-editor werden die dconf-Optionen in einer grafischen Benutzeroberfläche angezeigt. Mit dconf können Sie über die Kommandozeile auf die Konfigurationsoptionen zugreifen und diese Optionen bearbeiten.

Das GNOME-Tool Tweaks bietet eine unkomplizierte Benutzeroberfläche mit zusätzlichen Konfigurationsoptionen, die über die normale GNOME-Konfiguration hinausgehen. Das Werkzeug lässt sich wahlweise über das GNOME-Anwendungsmenü oder auch über die Befehlszeile mit dem Befehl gnome-tweak-tool starten.

21.3.2 Systemweite Konfiguration

Im Verzeichnis /etc/dconf/db/ können globale dconf-Konfigurationsparameter festgelegt werden. Hierzu gehört beispielsweise die Konfiguration für GDM oder das Sperren bestimmter Konfigurationsoptionen für die Benutzer.

So erstellen Sie eine systemweite Konfiguration (Beispiel):

  1. Erstellen Sie unter /etc/dconf/db/ ein neues Verzeichnis, das auf .d endet. Dieses Verzeichnis kann beliebig viele Textdateien mit Konfigurationsoptionen enthalten. Für dieses Beispiel erstellen Sie die Datei /etc/dconf/db/network/00-proxy mit dem folgenden Inhalt:

    # This is a comment
    [system/proxy/http]
    host='10.0.0.1'
    enabled=true
  2. Parsen Sie die neuen Konfigurationsdirektiven in das dconf-Datenbankformat:

    tux > sudo dconf update
  3. Tragen Sie die neue network-Konfigurationsdatenbank in das Standard-Benutzerprofil ein. Erstellen Sie hierzu die Datei /etc/dconf/profiles/user. Fügen Sie dann den folgenden Inhalt ein:

    system-db:network

    Die Datei /etc/dconf/profiles/user fungiert als GNOME-Standard. Andere Profile können in der Umgebungsvariablen DCONF_PROFILE definiert werden.

  4. Optional: Wenn die Proxy-Konfiguration für die Benutzer gesperrt werden soll, erstellen Sie die Datei /etc/dconf/db/network/locks/proxy. Fügen Sie dann eine Zeile mit den Schlüsseln, die nicht geändert werden dürfen, in diese Datei ein:

    /system/proxy/http/host
    /system/proxy/http/enabled

Mit dem grafischen dconf-editor können Sie ein Profil mit einem einzelnen Benutzer erstellen und dann mit dconf dump / eine Liste aller Konfigurationsoptionen abrufen. Die Konfigurationsoptionen können dann in einem globalen Profil gespeichert werden.

Eine ausführliche Beschreibung der globalen Konfiguration finden Sie unter https://wiki.gnome.org/Projects/dconf/SystemAdministrators

21.3.3 Weitere Informationen

Weitere Informationen finden Sie im http://help.gnome.org/admin/.

21.4 Umschalten zwischen Intel- und NVIDIA Optimus-GPUs mit SUSE Prime

SUSE Prime ist ein Werkzeug zum Umschalten zwischen Intel-On-Board-Grafikprozessoren (GPUs) und NVIDIA-GPUs mit der Optimus-Technologie von NVIDIA für „umschaltbare Grafik“. Optimus bietet einen Mechanismus für das einfache Umschalten zwischen einer On-Board-Intel-GPU und einer separaten NVIDIA-GPU. Damit kann ein Laptop wahlweise im Energiesparmodus oder mit maximaler Leistung genutzt werden: Die Intel-GPU spart Strom, die NVIDIA-GPU erweckt 3D-Anwendungen zum Leben.

SUSE Prime ist nur auf Systemen mit X11 nutzbar, nicht auf Systemen mit Wayland. Wenn auf Ihrem System Wayland ausgeführt wird, müssen Sie Wayland deaktivieren und ein Fallback auf X11 vornehmen, wenn Sie SUSE Prime nutzen möchten (siehe Abschnitt 21.4.1, „Voraussetzungen“).

21.4.1 Voraussetzungen

Es dürfen keine Datei /etc/X11/xorg.conf und keine Konfigurationsdateien mit aktiven Abschnitten „ServerLayout“, „Device“ oder „Screen“ im Verzeichnis /etc/X11/xorg.conf.d vorhanden sein.

SUSE Prime ist nur unter X11 nutzbar. Prüfen Sie mit dem Kommando loginctl, ob Ihr System X11 oder Wayland verwendet:

tux > loginctl
   SESSION        UID USER             SEAT             TTY             
         2       1000 tux             seat0               
tux > loginctl show-session 2|grep Type
Type=x11

Wenn Ihr System Wayland verwendet, deaktivieren Sie Wayland. Bearbeiten Sie hierzu die Datei /etc/gdm/custom.conf und entfernen Sie den Kommentar WaylandEnable=false. Starten Sie dann neu.

21.4.2 Installieren und Verwenden von SUSE Prime

Ihre NVIDIA-Grafikkarte sollte bereits installiert und funktionsfähig sein. Andernfalls finden Sie weitere Informationen hierzu unter Abschnitt 21.4.3, „Installieren von NVIDIA-Treibern“.

Installieren Sie das Paket suse-prime :

tux > sudo zypper install suse-prime

Zum Umschalten Ihrer GPU führen Sie einen der folgenden Kommandos aus; melden Sie sich dann ab und wieder an:

tux > sudo prime-select intel
tux > sudo prime-select intel2
tux > sudo prime-select nvidia

Verwenden Sie den intel-Treiber, wenn dies der Modesetting-Treiber ist. intel2 ist für Systeme mit dem Treiber xf86-video-intel vorgesehen. Diese Informationen erhalten Sie durch Installieren und Ausführen von inxi:

tux > inxi -G
Graphics: Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
          Display Server: x11(X.org 1.20.1 ) drivers: modesetting (unloaded: fbdev, vesa)
          Resolution: 1920x1080@60.00hz
          OpenGL: renderer: Mesa DRI Intel Haswell Desktop version: 4.5 Mesa 18.2.8

Welche GPU ist derzeit aktiv?

tux > sudo /usr/sbin/prime-select get-current
Driver configured: intel

21.4.3 Installieren von NVIDIA-Treibern

Wenn Sie Ihre NVIDIA-Karte identifizieren müssen, damit Sie den zu verwendenden Treiber ermitteln können, führen Sie folgendes Kommando aus:

tux > /sbin/lspci | grep VGA

Installieren Sie die Treiber anhand dieser Schritte mit Zypper.

Listen Sie die verfügbaren Treiberpakete auf:

tux > sudo zypper se nvidia

Installieren Sie dann die Treiber für Ihre NVIDIA-Grafikkarte:

tux > sudo zypper se packagename