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.
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 ':' familyAnmerkung: Kommandofc-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. Unterman 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.
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:
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“.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.
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 infonts-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
undEMBEDDED_BITMAP_LANGAGES
- Präferenzliste generischer Aliase
Verwenden Sie
PREFER_SANS_FAMILIES
,PREFER_SERIF_FAMILIES
,PREFER_MONO_FAMILIES
undSEARCH_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:
Systemweite Änderungen. Bearbeiten Sie die Datei
/etc/fonts/local.conf
. (Standardmäßig enthält diese Datei ein leeresfontconfig
-Element.)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.
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“):
<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).
- 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 1Mit dieser Regel wird ein
serif
-Familienname an das Ende der PFL angehängt.<prefer>
in Regel 2Mit dieser Regel wird „Droid Serif“ direkt vor dem ersten Auftreten von
serif
in der PFL eingefügt, wennAlegreya SC
in der PFL vorliegt.<accept>
in Regel 3Mit 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.
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“).
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.
<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.
- 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:
Reihenfolge |
Aktuelle PFL |
---|---|
Anforderung |
|
| |
| |
| |
| |
|
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):
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
Parsen Sie die neuen Konfigurationsdirektiven in das dconf-Datenbankformat:
tux >
sudo
dconf update
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 UmgebungsvariablenDCONF_PROFILE
definiert werden.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 seat0tux >
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 inteltux >
sudo
prime-select intel2tux >
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