Wie funktionieren Font-Einstellungen in gnome, kde und xfce?


8

Mein Debian 8-System (Jessie) ist hauptsächlich ein xfce-System, aber ich verwende auch Gnome- und KDE-Programme. Ich habe keine Desktop-Umgebung installiert, aber ich starte meine xsession mit einer .xsessionDatei. Das Problem ist, dass ich die Schriftarten (und andere Aspekte der Benutzeroberfläche) nicht richtig verstehen kann.

Werkzeuge

Zuerst weiß ich nicht, welches Tool ich verwenden soll. Es gibt Kde's systemsettingsund es gibt gnome-tweak-tool. Ich habe einen gnome-settings-daemonLauf. Änderungen, die im Gnome-Tweak-Tool vorgenommen wurden, manifestieren sich sofort im Thunderbird- und Gnome-Tweak-Tool selbst, wirken sich jedoch z. B. krusaderund k3berst nach einem Neustart aus. Aber selbst dann sind die Schriftarten zu groß, aber zumindest gibt es einen Effekt.

Systemeinstellungen scheinen keinerlei Auswirkungen auf das Ausführen von Anwendungen zu haben. Wenn ich eine kde-Anwendung neu starte, werden die Schriftarten auf die Standardeinstellungen zurückgesetzt.

Das Gnome-Tweak-Tool bietet nur sehr wenige Einstellungen, während die Systemeinstellungen es ermöglichen, die Menüschriftart, die Symbolleistenschriftart usw. separat einzustellen. Ich gehe also davon aus, dass Gnome die feinkörnigen Einstellungen basierend auf einigen von mir vorgenommenen Einstellungen auf eine Weise generieren muss, die "am besten für mich" ist.

Xfce verfügt über ein eigenes xfce4-appearance-settingsTool, scheint jedoch die Schriftarten von Anwendungen nicht zu beeinträchtigen und ermöglicht nur das Festlegen einer einzigen Standardschriftart. Oh, und dann gibt es noch qtconfigzwei Versionen, eine für qt4 und qt5. Ich habe wahrscheinlich sogar ein paar verpasst.

Derzeit entsprechen die angezeigten Schriftarten nicht den Schriftarteinstellungen eines dieser Tools.

Fragen

  • Wie auch immer, ich würde wirklich gerne verstehen, wie das Ganze funktionieren soll. Die Interaktion zwischen den verschiedenen Einstellungswerkzeugen und den Anwendungen und wo sie ihre Daten speichern, ist mir ein Rätsel.
  • Gibt es einen etablierten Standard für die Interaktion dieser Einstellungswerkzeuge?
  • Wenn mir jemand einen Weg zeigen kann, all diese Magie zu beseitigen, wäre ich außerdem sehr dankbar. Früher hat das Einrichten von xrdb einige Zeit in Anspruch genommen, aber zumindest war es ein Prozess, den ich verstehen konnte und der konvergierte.

Speziell

  • Was passiert, wenn ich das Thema ändere?
  • Überschreiben die verschiedenen Einstellungswerkzeuge die Daten des anderen?
  • Was machen die (xfce / gnome) Settings-Daemons?
  • Was macht dconf?

Ich empfehle Ihnen, mit diesem schönen Artikel im Arch-Wiki wiki.archlinux.org/index.php/font_configuration
contemplator

Du benutzt kein DE, aber du benutzt ein WM, oder?
L. Levrel

Ja, ich benutze das xfce WM. Es gibt kein Problem beim Konfigurieren des WM.
Martin Drautzburg

Antworten:


3

Diese Antwort ist nicht vollständig kanonisch - siehe Anmerkung des Antwortenden am Ende.

In dieser Antwort möchte ich kurze Erklärungen geben, die auf den tatsächlichen Erfahrungen mit Debian-basierten Distributionen (Xubuntu und Debian Xfce) basieren. Wie auch immer, ich habe bestätigt, dass die Schriftarteneinstellungen für Qt-Anwendungen in der GTK + -Umgebung von Debian nicht sofort wirksam werden.

In Bezug auf Werkzeuge

Zuerst weiß ich nicht, welches Tool ich verwenden soll.

Wenn Sie ein erfahrener Benutzer sind, verwenden Sie kein Konfigurationstool eines Drittanbieters.

Der Einfachheit halber verwenden Benutzer häufig Tools wie das GNOME Tweak Tool. Verwenden Sie für eine optimale Kompatibilität jedoch lieber grafische Konfigurationstools, die von der Desktop-Umgebung oder den entsprechenden Toolkits bereitgestellt werden. Verwenden Sie andernfalls erweiterte Tools wie Dconf, Xfconf oder GSettings.

Oh, und dann gibt es qtconfig, das in zwei Versionen zu kommen scheint, eine für qt4 und qt5. Ich habe wahrscheinlich sogar ein paar verpasst.

Verwenden Sie qt4-qtconfigfür Qt4 und ähnlich qt5ctfür Qt5.

Um zu überprüfen, welche Version von Qt von einer bestimmten Anwendung verwendet wird, verfolgen Sie die Paketabhängigkeiten mithilfe von APT. Zum Beispiel habe ich VLC in Xubuntu installiert. Da VLC Qt verwendet, kann ich den APT-Cache abfragen und 'qt' als Schlüsselwort verwenden, um alle Qt-Abhängigkeiten zu filtern.

$ apt-cache depends vlc | grep 'qt'
  Depends: libqtcore4
  Depends: libqtgui4

In diesem Fall deutete das Ergebnis darauf hin, dass VLC das Qt4-Toolkit verwendet.

Eine andere Möglichkeit besteht darin, zu überprüfen, ob Qt-Pakete installiert wurden. Dies kann durch Ausführen des Befehls Dpkg erfolgen. Ich habe mich dafür entschieden, das Paket zu filtern, das diese Schlüsselwörter 'libqt' und 'gui' enthält, da der frühere APT-Befehl dies oben angedeutet hat.

$ dpkg-query -W | grep 'libqt' | grep 'gui'
libqtgui4:i386  4:4.8.5+git192-g085f851+dfsg-2ubuntu4.1

In diesem Fall zeigt das Ergebnis, dass Qt4 von Version 4.8.x installiert ist. Wenn das Qt5-Paket installiert ist, enthält das Ergebnis libqt5gui5anstelle von libqtgui4. Die Benennung für Qt5 ist anders, weshalb ich grepdas Ergebnis zweimal filtere .

Derzeit entsprechen die angezeigten Schriftarten nicht den Schriftarteinstellungen eines dieser Tools.

Wie bereits von L. Levrel angedeutet, ist das System-Setup unübersichtlich. Egal für GNOME / KDE / Qt-Anwendungen, aber gnome-settings-daemonim Xfce-System? Xfce verfügt über einen eigenen Einstellungsdämon xfsettingsd, der von diesem Paket xfce4-settingsin Debian bereitgestellt wird .

Diskrepanz zwischen den Schrifteinstellungen

In den folgenden Screenshots verwende ich Xfce Appearance, Qt 4 Settings und VLC Media Player in einer Xfce-Desktop-Umgebung mit Xubuntu und Debian Xfce. Dann habe ich die Standardschriftart von "Droid Sans (Regular)" in "Droid Sans (Bold)" bei gleicher Schriftgröße 10 geändert.

Für Xubuntu wurden die Schriftarteinstellungen sofort für GTK + - und Qt-Anwendungen angewendet. Die in Xfce Appearance angegebene Schriftart war ausreichend, um das gesamte System zu beeinflussen, unabhängig vom verwendeten Toolkit.

Schriftarteinstellungen in Xubuntu 14.04

Für Debian Xfce wurden die Schriftarteinstellungen sofort nur für GTK + -Anwendungen angewendet. Ich musste die Qt 4-Einstellungen verwenden, um die Standardschriftart in Qt von "Sans Serif (Normal)" in "Droid Sans Mono (Regular)" zu ändern. Ich musste auch manuell in der Menüleiste speichern, bevor die Änderungen übernommen wurden.

Schriftarteinstellungen in Debian Xfce 8

Obwohl sowohl Xubuntu als auch Debian Xfce ausgeführt wurden xfsettingsd, hat Debian Xfce die Schriftarteinstellungen aus irgendeinem Grund nicht automatisch berücksichtigt. Möglicher Hinweis: Debian Xfce fehlen möglicherweise bestimmte Pakete, mit denen Qt-Anwendungen die Systemeinstellungen automatisch lesen können.

In Bezug auf Fragen

Gibt es einen etablierten Standard für die Interaktion dieser Einstellungswerkzeuge?

Wahrscheinlich nein. Aus diesem Grund sollte der Benutzer kein Drittanbieter-Tool zum Konfigurieren der Systemeinstellungen verwenden. Endbenutzer würden nicht wissen, wie diese Tools miteinander interagieren, oder es ist unwahrscheinlich, dass diese Tools in einer solchen gemischten Setup-Umgebung funktionieren.

Überschreiben die verschiedenen Einstellungswerkzeuge die Daten des anderen?

Dies hängt davon ab, wie das Konfigurationstool funktioniert. Wenn zwei verschiedene Tools dieselbe zugrunde liegende Konfigurationsmethode verwenden, z. B. GSettings, lesen beide angeblich dieselbe Konfigurationsdatei.

Beachten Sie im ersten Screenshot, dass in den Qt 4-Einstellungen weiterhin "Droid Sans (Regular)" anstelle von "Droid Sans (Bold)" angezeigt wird. Die systemweiten Einstellungen in Xubuntu haben sich geändert, aber die Qt 4-Einstellungen spiegeln die Änderungen nicht sofort wider, möglicherweise aufgrund eines anderen verwendeten Toolkits. Beim Beenden und erneuten Starten werden in den Qt 4-Einstellungen jetzt die neuesten Schriftarteneinstellungen "Droid Sans (Bold)" angezeigt.

Für den Rest der Fragen würde ich vorschlagen, die folgenden verlinkten Seiten zur weiteren Lektüre zu lesen.

Haftungsausschluss : Diese Antwort basiert hauptsächlich auf meinen Erfahrungen mit Xubuntu 14.04 und Debian 8 Xfce (beide mit Xfce 4.10). Trotz der Ausführung einer ähnlichen Desktop-Umgebung war die Erfahrung etwas anders, damit die Schriftarteinstellungen wirksam werden. Bekannte Einschränkungen sind wie folgt.

  • Wie meine Erfahrung mit Xfce würde ich davon ausgehen, dass andere Systeme, auf denen eine ähnliche Umgebung ausgeführt wird, die Schriftarteinstellungen nicht unbedingt automatisch berücksichtigen.
  • Ich habe nicht alle möglichen Konfigurationen einer gemischten Umgebung untersucht. Einige der besprochenen Punkte sind möglicherweise nicht vollständig auf Systeme anwendbar, die manuell konfiguriert werden.
  • Ich habe die Schriftarteinstellungen für KDE-Anwendungen nicht getestet. Einige KDE-Anwendungen wie der Dolphin-Dateimanager hängen sowohl von KDE- als auch von Qt-Paketen ab. Qt-Anwendungen hängen jedoch ausschließlich von Qt-Paketen ab. Diese Antwort ist möglicherweise für KDE-Anwendungen nicht relevant.

TL; DR Mischen Sie keine Tools, die für eine andere Umgebung erstellt wurden. Verwenden Sie keine Konfigurationstools von Drittanbietern. Verwenden Sie ein grafisches Tool, das von der Desktop-Umgebung oder den entsprechenden Toolkits bereitgestellt wird.


Anmerkung des Antwortenden : Ich hatte diese Antwort als ausreichend, aber zu diesem Zeitpunkt nicht vollständig kanonisch geschrieben. Daher ist diese Antwort jetzt ein Community-Wiki, sodass jeder mit minimalem Ruf diesen Beitrag verbessern kann, um mit den neuesten Änderungen in jedem Toolkit Schritt zu halten, oder sogar die Diskrepanz zwischen den Schriftarteinstellungen anhand eines präziseren Beispiels erneut erklären kann (falls dies der Fall ist, entfernen Sie relevante Text aus "Haftungsausschluss").


0

Es sieht für mich auch nach einem Durcheinander aus. Ich werde teilen, was ich weiß, obwohl es keine vollständige Lösung für das Rätsel gibt.

  • Für GUI-Software, die auf GTK basiert, werden die GTK-Widgets in der Toolkit-Konfigurationsdatei konfiguriert, z .gtkrc-2.0
  • Qt-Apps funktionieren wahrscheinlich genauso mit einer .qtrcDatei
  • Die traditionellere X-Software wird pro App in .Xdefaults/ konfiguriert.Xresources
  • Fenstermanager haben ihre eigenen Konfigurationsdateien, normalerweise in einem Unterverzeichnis von .config(außer Gnome in .gnomeoder .gconfähnlichem und KDE in .kde[34]).

Das fontconfigSystem, das durch Dateien unter konfiguriert wird, /etc/fontsführt eine Art Aliase ein. Versuchen Sie zB diese Kommandozeile : fc-match Mono. Wenn also eine App (direkt oder über ihr Toolkit) für die Verwendung Sanskonfiguriert ist, z. B. können Sie die entsprechende Schriftart ändern, indem Sie fontconfig konfigurieren. Eine Möglichkeit ist die Verwendung des Subsystems "infinality", dessen Konfiguration sich befindet /etc/fonts/infinality/infinality.conf(enthält Kommentare zur Verwendung).


Ich habe einige spezifischere Fragen hinzugefügt. Siehe "speziell" in meiner ursprünglichen Frage.
Martin Drautzburg

Es tut mir leid, dass ich nicht mehr helfen kann. Sie können die Änderungszeit der wenigen Dateien, die ich erwähne, beobachten, um herauszufinden, welche von den einzelnen Tools betroffen sind.
L. Levrel

0

Sie können auch eine andere Methode zum Rendern von Schriftarten ausprobieren. Infinality ist ein cooles Projekt, das Ihren Bedürfnissen entsprechen könnte. Obwohl ich die inneren Besonderheiten der Funktionsweise des Dings nicht kenne, kann ich Ihnen sagen, dass es bei meiner 8.1-Debian-Installation einwandfrei funktioniert.

Besuchen Sie das Debian-Wiki über Infinalität

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.