Die Schriftgröße ändert sich nach dem Ausführen von xrandr --off

8

Ich habe einen Laptop mit einem externen Monitor und wechseln zwischen beiden Bildschirmen mit xrandr --autound xrandr --off. Manchmal, wenn ich den Bildschirm ändere, ist die Schriftgröße in Programmen plötzlich komisch groß. Dies wirkt sich nicht auf Programme aus, die zuvor gestartet wurden. Ich benutze Lubuntu 16.04.

Ich konnte den Fehler mit dieser Befehlskette mehrmals reproduzieren :

xrandr --output eDP1 --off && sleep 1 && xrandr --output eDP1 --auto

Der externe Monitor hat nichts damit zu tun. Es reicht aus, nur den Laptop-Bildschirm (eDP1) zu deaktivieren und erneut zu aktivieren, um diese seltsamen Probleme mit der Schriftgröße zu lösen.

Bearbeiten : Was wirklich geändert wurde, xrandr --offist die DPI des Bildschirms , siehe hier:

$ xdpyinfo | grep dots
  resolution:    96x96 dots per inch                                                                                                                                              
$ xrandr --output eDP1 --off && sleep 1 && xrandr --output eDP1 --auto 
$ xdpyinfo | grep dots
  resolution:    204x205 dots per inch

Beispiele

Für die Skalierung: Die Tasten haben eine normale Größe. Normales VLC-Fenster im Hintergrund, eines im Vordergrund geändert.

vlc

GnuCash

Was ich bisher versucht habe

Ich habe versucht, mit den (unberührten) Schriftarteneinstellungen von Lubuntu herumzuspielen, und kann die Schriftarten durch Auswahl von Schriftgröße 6 auf den Normalwert (der 11 sein sollte) zurücksetzen. Die Schriftarten in bereits geöffneten Anwendungen (Bedienfeld usw.) werden dann jedoch auf die tatsächliche Größe 6 geändert Die einzige Möglichkeit, den Normalzustand wiederherzustellen, besteht darin, sich abzumelden und wieder anzumelden oder systemctl restart lightdm.service.

Ich habe eine mögliche Problemumgehung entdeckt : Zumindest bis heute ist das Problem nicht aufgetreten, da ich darauf geachtet habe, dass immer mindestens ein Monitor aktiviert ist . Also, um von Monitor eDP1 zu DP2 zu wechseln, mache ich

xrandr --output DP2 --auto && xrandr --output eDP1 --off

Dies funktioniert vorerst, löst das Problem aber natürlich nicht.

Wie kann ich in diesem Fall die Schriftgröße zurücksetzen?

Terminalbefehlsausgänge

  • xrandr, externer Monitor (DP2) angeschlossen und aktiviert, Laptop-Bildschirm (eDP1) ausgeschaltet
Dessert
quelle
Überprüfen Sie die Datei ~ / .xsession-Errors. Sie enthält möglicherweise Hinweise auf Gründe. (Diese Datei enthält stderr aller X-Anwendungen).
George Shuklin
Du machst etwas Seltsames. Meine .xsession-errorsDatei ist ungefähr 4k Zeilen lang und wächst.
George Shuklin
@dessert, leider ohne Ausgabe von Software ist es wirklich schwer zu erraten. Das Problem liegt nicht in xradr, daher müssen alle Fehlermeldungen in der Sitzung angezeigt werden, um eine Problemquelle zu erraten. Versuchen Sie, eine andere benutzerbezogene Protokollierungsfunktion zu finden. Kann sein journalctl --user? Oder mit der Ausgabe von .xsession-error stimmt etwas nicht. Versuchen Sie zu berühren und neu zu starten. (Ende der Vermutungsliste).
George Shuklin

Antworten:

2

Sie können die Schriftgröße für zukünftige geöffnete Fenster ändern, indem Sie das Terminal öffnen und Folgendes verwenden:

xrandr --dpi 96

Verwenden Sie für Monitore mit höherer Auflösung (1920 x 1080) Folgendes:

xrandr --dpi 144

Ich verwende dies für Programme, die selbst keine HiDPI-Skalierung implementieren. Obwohl es Ihr Problem möglicherweise nicht erklärt, kann es es lösen. Oder es kann nicht ... YMMV.

WinEunuuchs2Unix
quelle
Herzlichen Glückwunsch, diese einfache Lösung hat das Problem vollständig gelöst! Ich habe den Fehler reproduziert, ausgeführt xrandr --dpi 96und die Schriftgröße für neu geöffnete Fenster auf den Normalwert zurückgesetzt.
Nachtisch
xdpyinfo | grep dotsmacht die von ausgegebene DPI-Änderung xrandrsichtbar.
Nachtisch
@dessert Ja, ich wusste etwas über sdpyinfo | grep dotsEnde letzten Jahres, habe aber vergessen, wie ich es finden kann, um es in meine Antwort aufzunehmen. Vielen Dank für Ihre beiden Kommentare :)
WinEunuuchs2Unix