Rozmiar czcionki zmienia się po uruchomieniu xrandr --off

8

Mam laptopa z zewnętrznym monitorem i przełączam się między oboma ekranami za pomocą xrandr --autoi xrandr --off. Czasami, kiedy zmieniam ekran, rozmiar czcionki w programach nagle staje się dziwnie duży. Nie wpływa to na programy, które były wcześniej uruchamiane. Używam Lubuntu 16.04.

Byłem w stanie odtworzyć błąd przy użyciu tego łańcucha poleceń wiele razy:

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

Zewnętrzny monitor nie ma z tym nic wspólnego, wystarczy wyłączyć ekran laptopa (eDP1) i włączyć go ponownie, aby uzyskać te dziwne problemy z rozmiarem czcionki.

Edit : Co naprawdę została zmieniona przez xrandr --offto DPI ekranu jest , zobacz tutaj:

$ 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

Przykłady

Dla skali: Przyciski mają normalny rozmiar. Normalne okno VLC w tle, zmieniono jedno na pierwszym planie.

vlc

GnuCash

Co próbowałem do tej pory

Starałem się bawić z ustawieniami (nietknięte) czcionek LUBUNTU i może przywrócić czcionki Normalny (co powinno być 11), wybierając rozmiar czcionki 6, ale czcionki w już otwartych aplikacji (panel itd.), A następnie przejść do tego, co jest naprawdę rozmiar 6 Jedynym sposobem na ustawienie normalnego trybu pracy jest wylogowanie i ponowne zalogowanie lub systemctl restart lightdm.service.

Odkryłem możliwe obejście problemu : Przynajmniej do dzisiaj problem nie powrócił, ponieważ oczekuję włączenia co najmniej jednego monitora w dowolnym momencie. Tak więc, aby zmienić monitor eDP1 na DP2, robię to

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

Na razie to działa, ale oczywiście nie rozwiązuje problemu.

Jak mogę zresetować rozmiar czcionki, gdy to nastąpi?

Wyjścia poleceń terminalu

  • xrandr, monitor zewnętrzny (DP2) podłączony i włączony, ekran laptopa (eDP1) wyłączony
deser
źródło
sprawdź plik ~ / .xsession-error, może zawierać wskazówki dotyczące przyczyn. (Ten plik zawiera stderr wszystkich aplikacji X).
George Shuklin,
Robisz coś dziwnego. Mój .xsession-errorsplik ma około 4 tys. Linii i rośnie.
George Shuklin,
@dessert niestety bez żadnego wyjścia z oprogramowania naprawdę trudno zgadnąć. Problem nie występuje w xradr, więc trzeba zobaczyć wszystkie komunikaty o błędach w sesji, aby odgadnąć źródło problemów. Spróbuj znaleźć inne narzędzie rejestrowania związane z użytkownikiem. Może być journalctl --user? Lub coś jest nie tak z wyjściem .xsession-error. Spróbuj dotknąć i zrestartować komputer. (koniec listy zgadywania).
George Shuklin,

Odpowiedzi:

2

Możesz zmienić rozmiar czcionek dla przyszłych okien otwieranych, otwierając terminal i używając:

xrandr --dpi 96

W przypadku monitorów o wyższej rozdzielczości (1920 x 1080) spróbuj użyć:

xrandr --dpi 144

Używam tego w programach, które same nie implementują skalowania HiDPI. Chociaż może nie wyjaśniać problemu, może go rozwiązać. A może nie ... YMMV.

WinEunuuchs2Unix
źródło
Gratulacje, to proste rozwiązanie całkowicie rozwiązało problem! Powtórzyłem błąd, uruchomiłem xrandr --dpi 96i rozmiar czcionki został zresetowany do normalnego dla nowych otwartych okien.
deser
xdpyinfo | grep dotspowoduje, że zmiana DPI wydana przez jest xrandrwidoczna.
deser
@dessert Tak, wiedziałem trochę o sdpyinfo | grep dotspod koniec ubiegłego roku, ale zapomniałem, jak znaleźć to w mojej odpowiedzi. Dziękujemy za oba komentarze :)
WinEunuuchs2Unix 24.09.17