Hässliche horizontale Linien werden in Kate und Konsole mit fraktionierter HiDPI-Skalierung angezeigt

18

Hier ist ein Bild des Problems:

Bildbeschreibung hier eingeben

Beachten Sie, dass alle Textzeilen horizontale Linien aufweisen, die der Unterstreichung ähneln. Dies ist jedoch ein Nur-Text-Editor (Kate), der nicht unterstrichen wird. Auf diesen Text wird keine Formatierung angewendet.

Ich habe den Text ausgewählt, damit die Linien auf einem Foto besser angezeigt werden. Aber die Zeilen existieren auch ohne Auswahl des Textes. Manchmal sind sie viel dicker und dunkler. Manchmal sind sie leicht. Manchmal sind sie gar nicht da, nur um zufällig zurückzukommen.

Konsole hat das gleiche Problem. Mit weißem Text auf schwarzem Hintergrund zeigt Konsole manchmal mehrfarbige horizontale Linien. Manchmal hat jede Zeile in Konsole diese hässliche und ablenkende Unterstreichung. Manchmal hat es nur ein Teil der Zeilen.

Manchmal sind die Zeilen so dicht und überwältigend, dass es schwierig ist, den Text zu lesen. Zu anderen Zeiten sind die Linien mild, wie auf dem beigefügten Foto.

Ich habe dieses Problem vor ungefähr zehn Monaten zum ersten Mal auf einem Desktop-Computer gesehen. Ich dachte, der Benutzer hätte gerade etwas wirklich Verrücktes in den Schrifteinstellungen gemacht. Aber jetzt sehe ich das Problem auf einem neuen Laptop ohne wesentliche Änderungen der Standardeinstellungen.

Beide Systeme führen ein vollständig aktualisiertes Arch Linux KDE aus. Auf diesem Laptop habe ich alle Schrifteinstellungen (in den Systemeinstellungen) auf die Standardwerte zurückgesetzt. Ich habe auch das Erscheinungsbild des Konsole-Profils auf die Standardeinstellungen zurückgesetzt (obwohl die Standardeinstellungen bereits verwendet wurden).

Die horizontalen Linien verschwinden jedoch nicht.

Die Anwendungen funktionieren ordnungsgemäß (außer dass sie manchmal schwer lesbar sind). Der kopierte Text enthält keine horizontalen Linien. Befehle in Konsole werden nicht durch horizontale Linien beeinflusst. Es scheint ein Anzeigefehler zu sein, aber es ist nicht spezifisch für eine GPU (betrifft Intel oder nvidia) oder einen Bildschirm (ich habe verschiedene Monitore auf dem Desktop getestet) oder für irgendetwas anderes, was ich bestimmen kann.

Ich habe in den letzten zehn Monaten verschiedene Korrekturen auf dem betroffenen Desktop versucht und sie auch auf diesem Computer nicht behoben.

Ich habe mehrere andere Arch KDE-Computer, die das Problem nicht haben.

Hat jemand eine Ahnung, was dies verursachen könnte? Hat es noch jemand gesehen?

Bearbeiten: Bitte lesen Sie den KDE-Fehlerbericht für Konsole:
373232 - Horizontale Linien mit fraktionierter HiDPI-Skalierung

MountainX-for-Monica
quelle
Vorübergehende Lösung: QT_SCREEN_SCALE_FACTORS=1 konsole. Mit diesem Befehl können Sie einen Desktopanwendungslink erstellen.
Drinor

Antworten:

9

Dies wurde Berichten zufolge in QTBUG-66036 mit Version 5.12 behoben . Zum Zeitpunkt, an dem ich dies schreibe, ist QT unter Arch Linux Version 5.11.2-1. Andere verbreitete Distributionen haben ebenfalls keine Pakete mit Qt 5.12 veröffentlicht. Wenn Qt 5.12 veröffentlicht wird, erwarten die Entwickler jedoch, dass dieses Problem behoben ist.

Um Ihre Qt-Version zu überprüfen, können Sie ein Terminal öffnen und Folgendes eingeben:

qmake --version

Die Ausgabe sieht ungefähr so ​​aus

QMake version 3.1
Using Qt version 5.11.1 in /usr/lib

Wenn Sie Qt Version 5.12 sehen, können Sie mit einer Auflösung rechnen. Wenn nicht, informieren Sie die Entwickler unter QTBUG-66036 .

In der Zwischenzeit gibt es eine Problemumgehung, wie im Fehlerbericht unten beschrieben

Schritte zum Reproduzieren:

  1. Anzeigen -> Skala -> Skalierungsfaktor: 1.3 (oder 1.4 usw.)
  2. Neustart
  3. Öffne Konsole oder Kate, gib Zeug ein

Umgehung: Setzen Sie den Skalierungsfaktor auf 1,0 (oder auf eine Ganzzahl wie 2 oder 3) zurück.

Es gibt einen ähnlichen Fehlerbericht für Konsole hier

373232 - Horizontale Linien mit fraktionierter HiDPI-Skalierung
https://bugs.kde.org/show_bug.cgi?id=373232

BugBuddy
quelle
4
Diese
Problemumgehung
2
Ja, ich stimme zu, dass die Problemumgehung schrecklich ist. Ich freue mich auf eine richtige Lösung.
BugBuddy
fanden heraus, dass ganzzahlige Faktoren gut funktionieren (z. B. 2,0, 3,0, ...)
Tomasb
Bitte fügen Sie dem Fehlerbericht einen Kommentar hinzu: bugs.kde.org/show_bug.cgi?id=373232
MountainX-for-Monica
3
@tomasb - Wenn Sie dieses Problem beheben möchten, sollten Sie ein Login erstellen, damit Sie den Entwicklern mitteilen können, dass Sie davon betroffen sind. Wenn Sie zu faul sind, um dies zu tun, haben Sie kein Recht, sich darüber zu beschweren, dass die Problemumgehung (oder etwas anderes) "absurd" ist. Wenn Sie Open Source verwenden, suchen Sie nach Möglichkeiten, einen Beitrag zu leisten, auch wenn Sie nur über Fehlerberichte abstimmen oder diese kommentieren. Sei ein Teil der Community.
BugBuddy
8

Ein Upgrade auf Qt 5.12 ist in Ordnung, scheint das Problem jedoch nicht sofort zu beheben. Ändern Sie in den Konsole-Profileinstellungen auf der Registerkarte " Erweitert " den Eintrag "Zeilenabstand" in "1" . Dies hat das Problem mit horizontalen Linien für mich behoben.

ismay7
quelle
musste es auf 5 erhöhen, funktionierte aber gut. Danke.
User1291
2
Die Option "Zeilenabstand" ist in Konsole Version 19.8 nicht verfügbar.
WeKa
1
Rechtsklick> Aktuelles Profil bearbeiten ...> Darstellung> Verschiedenes> Zeilenabstand
ooXei1sh
Ich kann den Zeilenabstand bis zu 8 ändern, aber manchmal gibt es immer noch Zeilen. Es ist überhaupt keine funktionale Lösung, da der Abstand die Schnittstelle ruiniert.
Misantroop
2

Um dieses Problem zu umgehen, können Sie die DPI der Schriftarten ändern :

  1. gehe zu Fonts, markiere das KästchenForce Fonts DPI
  2. auf einen angemessenen Wert setzen (ich verwende 144auf einem 2560x1440 Bildschirm, vielleicht möchtest du es 192in 4K versuchen )
    • Höhere DPI-Werte führen zu größerem Text auf Ihrem Bildschirm
  3. Setzen Sie den Skalierungsfaktor Ihres Displays auf 1 zurück
  4. Abmelden und sich bei Ihrem Benutzer anmelden (oder neu starten)

Zu diesem Zeitpunkt sollten die horizontalen Linien verschwunden sein und Sie sollten in der Lage sein, alles auf Ihrem Bildschirm zu lesen

nico
quelle
1
Dies ist die einzige Lösung, die derzeit funktioniert und die Skalierung der Benutzeroberflächenelemente (nicht nur der Schriftgröße) anpasst. Die spezielle Funktion "Anzeige skalieren" ist immer noch fehlerhaft und führt dazu, dass mehrere KDE-Anwendungen mit Linienartefakten gerendert werden.
Tiguchi
2

Eine andere Problemumgehung besteht darin, den Zeilenabstand unter Einstellungen -> Aktuelles Profil bearbeiten ... -> Erweitert -> Terminalfunktionen auf 1 zu setzen. Es ist fast unbemerkt (ein zusätzlicher Pixel zwischen den Zeilen), behebt aber das Problem.

J. Doe
quelle
0

Bildbeschreibung hier eingebenBildbeschreibung hier eingebenBildbeschreibung hier eingebenDie beste Lösung für mich wäre:

  1. Verwenden Sie Breeze Dark.
  2. Skaliere auf 1.3.1.4, was immer du willst.
  3. Verwenden Sie GTK-Alternativen. Weil jeder QT-basierte Editor diesen Fehler beim Rendern von Text bekommt.
  4. Für Konsole bevorzuge ich Tilix (das am wenigsten GTK-Abhängigkeiten wie 5 MB hat). Informationen zur Integration von Dolphin-Terminals finden Sie unter https://bbs.archlinux.org/viewtopic.php?id=211524 . Verwenden Sie den Dienst "Tilix hier öffnen" (Sie können ihn über Dolphin Configuration> Service Menu herunterladen). Erstellen Sie einfach einen Ordner in Ihrem Zuhause, wie oben in der Dokumentation erwähnt. Und ändern Sie Ihr Standardterminal über KDE-Einstellungen> Standardanwendungen, sodass Sie mit Umschalt + F4 von Dolphin in Tilix wechseln können.
  5. Für Kate oder Kwrite bevorzuge ich Gedit oder IDEs wie Brackets oder SublimeText oder Atom.
MPK99
quelle
0

Nachdem Sie Nicos Anweisungen zum Ändern des Systemtext-DPI-Werts in einen höheren Wert wie 144, 192 usw. befolgt haben, können Sie die Skalierung des Displays wieder aktivieren und Kate gut aussehen lassen. Die Ergebnisse können jedoch zwischen Desktopumgebungen variieren.

Stellen Sie Ihre Anzeigeskalierung auf den gewünschten Bruchwert ein (ich verwende zufällig das 1,5-fache).

Sie können die Umgebungsvariable QT_SCREEN_SCALE_FACTORS=1für einen einzelnen Aufruf von Kate festlegen .

QT_SCREEN_SCALE_FACTORS=1 kate

Und Sie können ein Wrapper-Skript für alle Anrufe an Kate erstellen

#!/bin/bash
cd $HOME
# Add home binaries directory & cd into it
mkdir -p bin && cd bin
# Symlink Kate executable as kate0
ln -s $(which kate) kate0
# Create the wrapper script
echo '#!/bin/bash' > kate
# This tells Kate to use a 1x scale factor, and to pass all arguments from wrapper
echo 'QT_SCREEN_SCALE_FACTORS=1 kate0 "$@"' >> kate
# Make the wrapper script executable
chmod +x kate

Dann stellen Sie sicher, dass $HOME/bindas in Ihrem ist $PATH. Wenn dies nicht der Fall ist, können Sie es mit hinzufügen

export PATH="$HOME/bin:$PATH"

Fügen Sie das hinzu, ~/.profileum es dauerhaft zu machen.

Beachten Sie, dass Ihre Home-Skripte vor dem Pfad der ursprünglichen ausführbaren Kate-Datei (z. B. /usr/bin) in Ihrer $PATHUmgebungsvariablen stehen müssen, damit dies funktioniert .

Tarocco
quelle