Ich nutze nach Möglichkeit das mit dem von mir eingesetzten Debian-Release ausgelieferte QGIS. Dass es dabei immer wieder mal zu Problemen kommt, bin ich gewohnt und ist bei einem Entwicklungs-Release wie Debian Testing nicht ungewöhnlich. Als bei der QGIS-Version 3.34 die Fenster und Icons der Bedienoberfläche unvollständig und überlappt angezeigt wurden, bin ich daher zunächst auf ein Flatpak-Paket der QGIS-Version 3.28 umgestiegen. Als die störenden Effekte in der Debian-Version auch nach längerer Zeit nicht verschwunden sind, habe ich mich an die Fehlersuche gemacht.
Zunächst habe ich im Internet nach Berichten über ähnliche Probleme gesucht. Dabei bin ich auf zwei Issues auf dem GitHub-Repository von QGIS gestoßen, die exakt dieselben Effekte beschrieben. Leider gab es dazu aber keine Aktivität von Seite des QGIS-Projekts, nur den Hinweis, dass es sich wahrscheinlich um einen Fehler im QT-Toolkit handele. Allerdings hatte ich mit anderen QT-Anwendungen keine vergleichbaren Probleme.
Versuche, die Effekte durch Ändern der GUI-Einstellungen in den QGIS-Parametern zu beheben, blieben erfolglos. Also habe ich versucht den Fehler einzugrenzen, indem ich QGIS in einer Umgebung ohne eigene Anpassungen gestartet habe. Dazu habe ich einen Test-User neu angelegt und QGIS unter diesem User gestartet. Der Fehler trat nicht auf. Die Vermutung lag nahe, dass das Problem durch eine von mir oder von einer Anwendung gemachte Einstellung verursacht wurde. Ich habe daher folgende Schritte unternommen:
Ich habe meine XFCE4-Einstellungen aus ~/.config/xfce4/
in das Home-Verzeichnis des Test-Users kopiert. Eigenartigerweise wurden die Änderungen an den Dateien in diesem Verzeichnis nach dem Einloggen in den Test-User nicht immer übernommen. Auch ein kompletter Neustart des Desktop-Managers mit
systemctl stop lightdm
# Ändern der Konfigurationsdateien:
# .....
systemctl start lightdm
hat daran nichts geändert. Nach einigem Herumprobieren habe ich festgestellt, dass das an dem Dienst user@<uid>.service
, z.B. user@1000.service
liegt, der auch nach dem Anhalten des Desktopmanagers weiter läuft. Dieser Dienst verwaltet offenbar die über die grafische Oberfläche gemachten Einstellungen und nimmt Änderungen an den Konfigurationsdateien während der Laufzeit nicht zur Kenntnis. Näheres dazu auf der Manpage von user@.service.
Ich habe mein Vorgehen also so geändert:
# Ausloggen im Desktop
systemctl stop user@1000.service
# Ändern der Konfigurationsdateien:
# .....
# Einloggen im Desktop
Anschließend habe ich so die Konfigurationsdateien in ~/.config/xfce4/xfconf/xfce-perchannel-xml/
einzeln gelöscht und überprüft, ob das QGIS-GUI in Ordnung ist. Schon bei der Datei xsettings.xml
hatte ich damit Erfolg. Es stellte sich heraus, dass das Problem dadurch ausgelöst wurde, dass die Auflösung der Xft-Schriften von standardmäßig 96dpi auf 94dpi umgestellt war. In xsettings.xml
geschieht das im Abschnitt Xft:
<property name="Xft" type="empty">
<property name="DPI" type="int" value="94"/>
<property name="Antialias" type="empty"/>
<property name="Hinting" type="int" value="0"/>
<property name="HintStyle" type="string" value="hintnone"/>
<property name="RGBA" type="string" value="none"/>
</property>
Auf dem Desktop findet man diese Einstellung im Dialog Erscheinungsbild:
Setzt man den Wert auf 96, ist das QGIS-GUI wieder ok.