Настройка GUI в линуксе для мониторов с High DPI

В последнее время появилось достаточно много мониторов с высоким разрешением, 150 dbi и выше, особенно в ноутбуках. И при этом всё выглядит жутко маленьким.Причина этого — система думает что у Вашего монитора разрешение 96…100 dpi.Решать это только увеличением размера шрифта неправильно, т.к. размеры всех остальных элеменов интерфейса остаются маленькими. Надо чтобы графическая оболочка сама это делала.Мне с решением этой проблемы пришлось весьма долго рыться в интернете, собирая мелкие заметки, т.к. не оказалось места где бы это можно было увидеть всё вместе.

Ниже будет идти список где что поправить, все параметры привожу для своего монитора — 13,3» при 2560×1600, это даёт 226 dpi. Более высокое разрешение сейчас я видел только в ноутбуке Fujistu U904 — 262 dpi.

Параметры монитора: в xorg.conf в праметрах монитора дописать: Option «DPI» »226×226»# DisplaySize 286 179 # тоже самое In millimeters, но это не так удобноЕсли у Вас нет xorg.conf и монотор у Вас только 1, то можно задать это монитору по умолчанию. Для этого в каталоге конфига иксов создаётся файл xorg.conf.d/90-monitor.conf с таким содержимым:

Section «Monitor» Identifier »» Option «DPI» »226×226» EndSection В ключи запуска иксов надо дописать -dpi 226, в kdm это строка параметра ServerArgsLocal

Для шрифтов в /etc/X11/Xresourse или ~/.Xresourse: Xft.dpi 96 заменить на 226

После перезапуска исков можно проверить что это вступило в силу: — в логе иксов должны быть такие строки /var/log/Xorg.0.logintel (0): clock: 268.5 MHz Image Size: 286×179 mmintel (0): DPI set to (226, 226)— xdpyinfo | grep -B2 resolutionscreen #0: dimensions: 2560×1600 pixels (287×179 millimeters)resolution: 227×227 dots per inch— xrdb -query | grep dpiXft.dpi: 226

Но есть куча программ и GUI которые не смотрят на параметры иксов. Поэтому продолжаем.

Для KDE: Параметры системы => Основные параметры внешнего вида => Шрифты => Использовать другой DPI: 226.Но значки придётся увеличить отдельно: Параметры системы => Основные параметры внешнего вида => Значки, вкладка Дополнительно.

Для Gnome: в gconf прописать в /desktop/gnome/font_rendering/dpi (нужно ли тут ещё что-то дополнительно — я не знаю, т.к. не пользуюсь Гномом).

Для Firefox: в about: config: layout.css.PixelsPerPx=2.26, layout.css.dpi=226.Но нередко для броузере не нужно 100% соответствие, поэтому я себе чтобы больше влазило на экран прописал layout.css.PixelsPerPx=2. Хотя firefox и даёт при этом самое точное соответсвие картинке при 100 dpi, но использует странное масштабирование растровых изображений. Сначала внутри получает изображение которое должно было бы быть при 100 dpi, а потом растягивает в 2 раза. Из-за этого картинки получаеются мыльными даже если они имеют высокое разрешение

Для Opera: достаточно установить 200% мастабирование — опера это делает достаточно корректно.

Для Chrome в chrome://flags/ есть параметр «Режим высокого разрешения», но для linux он не доступен. Поэтому остаётся только поставить 200% и «очень крупный» размер шрифта. К сожалению, это не влияет на flash.Но я у себя поставил в нём 120% и использую для просмотра карт (maps.yandex.ru, maps.google.ru) для высокой детализации картинки.

Konqueror пока не понимает high dpi, и масштабирует неверно, хотя akregator, используя тот же движок, показывает всё правильно без дополнительных указаний.

Проверить что Ваш dpi понят системой корректно лучше всего открыв страницу формата A4 в офисной программе, например OpenOffice, и при 100% масштабировании приложив бумажный лист. Если всё работает правильно, то размеры совпадут.Так же в OpenOffice в настройках стоит поставить размер значков «большие».

После всех настроек нашлись конфликты жёстко заданных растровых картинок и увеличившихся шрифтов.Я такое увидел в kdm и в Opera: работать можно, но выглядит не очень приятно — края букв вылазят за отведённые для надписей поля. Поэтому я в xorg.conf.d/90-monitor.conf и в Xresourse заменил 226 на 175. (Вообще странно что opera, считывая размер dpi для меню и других надписей, не использует этот же dpi для отображения html страницы).

PS Собиралось это изначально только для себя тут vadiml.livejournal.com/3883.html, но оказалось что сейчас такой вопрос появляется у многих. Буду рад если появится какие-то конструктивные дополнения.

© Habrahabr.ru