Размер шрифта меняется после запуска xrandr --off

8

У меня есть ноутбук с внешним монитором, и я переключаюсь между экранами с помощью xrandr --autoи xrandr --off. Иногда, когда я меняю экран, размер шрифта в программах внезапно становится странно большим. Это не влияет на программы, которые были запущены ранее. Я использую Lubuntu 16.04.

Мне удалось воспроизвести ошибку, используя эту цепочку команд несколько раз:

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

Внешний монитор не имеет к этому никакого отношения, просто отключите экран ноутбука (eDP1) и снова включите его, чтобы получить эти странные проблемы с размером шрифта.

Изменить : Что действительно было изменено, xrandr --offэто DPI экрана , смотрите здесь:

$ 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

Примеры

Для масштаба: кнопки имеют нормальный размер. Нормальное окно VLC на заднем плане, измененное на переднем плане.

VLC

GnuCash

Что я пробовал до сих пор

Я попытался поэкспериментировать с настройками шрифтов Lubuntu (нетронутыми) и могу сбросить шрифты до нормальных (которых должно быть 11), выбрав размер шрифта 6, но шрифты в уже открытых приложениях (панель и т. Д.) Затем меняются на те, которые действительно имеют размер 6 Единственный способ установить все как обычно - это выйти из системы и снова войти в нее или systemctl restart lightdm.service.

Я обнаружил возможный обходной путь : по крайней мере, до сегодняшнего дня проблема не возвращалась, так как я смотрю на наличие хотя бы одного монитора в любое время. Так что для перехода с монитора eDP1 на DP2 я делаю

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

Это работает на данный момент, но, конечно, не решает проблему.

Как я могу сбросить размер шрифта, когда это происходит?

Терминальные командные выходы

  • xrandr, внешний монитор (DP2) подключен и включен, экран ноутбука (eDP1) выключен
Десерт
источник
Проверьте файл ~ / .xsession-errors, у него могут быть некоторые подсказки по причинам. (Этот файл содержит stderr всех приложений X).
Джордж Шуклин,
Вы делаете что-то странное. Мой .xsession-errorsфайл составляет около 4 тыс. Строк и растет.
Джордж Шуклин
@dessert, к сожалению, без какого-либо вывода программного обеспечения, это действительно трудно догадаться. Проблема не в xradr, поэтому нужно увидеть все сообщения об ошибках в сеансе, чтобы угадать источник проблем. Попробуйте найти любое другое пользовательское средство ведения журнала. Может быть journalctl --user? Или что-то не так с выводом .xsession-error. Попробуйте потрогать и перезагрузиться. (конец списка догадок).
Джордж Шуклин,

Ответы:

2

Вы можете изменить размер шрифтов для будущих открытых окон, открыв терминал и используя:

xrandr --dpi 96

Для мониторов с более высоким разрешением (1920x1080) попробуйте использовать:

xrandr --dpi 144

Я использую это в программах, которые сами не реализуют масштабирование HiDPI. Хотя это не может объяснить вашу проблему, оно может решить ее. Или это может не ... YMMV.

WinEunuuchs2Unix
источник
Поздравляем, это простое решение полностью решило проблему! Я воспроизвел ошибку, запустил, xrandr --dpi 96и размер шрифта был восстановлен до нормального для новых открытых окон.
десерт
xdpyinfo | grep dotsделает изменение DPI выданным xrandrвидимым.
десерт
@dessert Да, я вроде знал о sdpyinfo | grep dotsконце прошлого года, но забыл, как найти его, чтобы включить в мой ответ. Спасибо за ваши комментарии :)
WinEunuuchs2Unix