Как сделать так, чтобы все приложения GTK использовали пользовательскую настройку DPI?

Вопрос или проблема

После обновления с Debian 8 до Debian 9 текстовый редактор Pluma (форк Gedit) больше не использует мои настройки DPI. Я заметил то же самое с редактором Geany. Вот мои настройки Xft в ~/.Xresources:

Xft.antialias: true
Xft.autohint: false
Xft.dpi: 100
Xft.hinting: true
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault
Xft.rgba: rgb

Однако другие настройки Xft выше учитываются Pluma. С другой стороны, текстовый редактор Leafpad правильно использует настройку DPI. Есть идеи? Я использую менеджер окон Blackbox, запущенный из консоли.

Pluma (с DejaVu Sans 10):

вставьте описание изображения здесь

Leafpad (с DejaVu Sans 10):

вставьте описание изображения здесь

GTK3 использует темы, поэтому вам нужно настроить стили, используемые в нем (не ~/.Xresources). Читайте также о ресурсах GTK приложений.

Приложение и пакет gnome-tweak-tool предоставляют графический интерфейс для изменения тем и т.д.

Вы можете рассмотреть возможность настройки свойства scale для шрифтов. Это не совсем то же самое, что и DPI, но связано (см. также это).

(возможно, механизмы тем GTK знают о DPI, но я не могу сказать, как)

Кстати, если вы используете сервер Xorg X11, вы можете рассмотреть возможность настройки разрешения DPI вашего экрана (смотрите, например, это); также читайте о xrandr. Это работает на стороне сервера, поэтому должно оказать влияние на каждого клиента X11 (даже не на основе GTK). Если вы используете Wayland, вы также можете найти что-то релевантное.

Ответ или решение

Чтобы заставить все приложения GTK использовать пользовательскую настройку DPI в системе Debian, вам нужно учесть несколько аспектов конфигурации, которые могут повлиять на отображение шрифтов и элементов интерфейса. Вот пошаговая инструкция, учитывающая многие нюансы, которые могут возникнуть после обновления вашей системы с Debian 8 на Debian 9.

Шаг 1: Проверьте параметры Xft

Вы уже указали параметры в вашем файле ~/.Xresources, что является правильным и важным первым шагом. Убедитесь, что они читаются и применяются корректно. Для этого выполните команду:

xrdb -merge ~/.Xresources

Список ваших настроек является правильным, однако некоторые GTK-приложения, такие как Pluma и Geany, могут не полностью зависеть от этих настроек.

Шаг 2: Настройка DPI в Xorg

Так как ваши GTK-приложения не используют DPI, установленный в ~/.Xresources, вам стоит попробовать установить DPI непосредственно в конфигурации Xorg. Это можно сделать, добавив строку в файл конфигурации Xorg, обычно расположенный в /etc/X11/xorg.conf или /etc/X11/xorg.conf.d/, если такие каталоги существуют:

Section "Monitor"
    Identifier "Monitor0"
    Option "DPI" "100 x 100"
EndSection

После внесения изменений перезапустите X-сервер, чтобы новые настройки вступили в силу.

Шаг 3: Настройка GTK3

Для GTK3 приложений вам необходимо внести изменения в конфигурацию темы и их свойства. Некоторые настройки, влияющие на масштабирование шрифтов, могут быть выполнены с помощью gnome-tweak-tool. Если его нет, установите его:

sudo apt install gnome-tweak-tool

Запустите его и перейдите во вкладку "Шрифты", где можно настроить параметры "Масштабирования". Это плохо коррелирует с DPI, но может помочь улучшить отображение.

Кроме того, создайте или отредактируйте файл ~/.config/gtk-3.0/settings.ini следующим образом:

[Settings]
gtk-font-name=DejaVu Sans 10
gtk-dpi=100

Шаг 4: Использование переменных окружения

Если изменения в настройках не помогают, вы можете установить переменную окружения GDK_SCALE, чтобы обеспечить большее масштабирование для всех приложений GTK:

export GDK_SCALE=1

Вы можете добавить эту строку в файл ~/.profile или ~/.bashrc, чтобы она применялась при каждом запуске сеанса.

Шаг 5: Проверка с помощью xrandr

Используйте xrandr для управления настройками вашего дисплея. Вы можете настроить DPI с его помощью, выполнив:

xrandr --dpi 100

Это изменение должно оказать влияние на все X11-приложения, независимо от их типа.

Заключение

Следуя этим шагам, вы сможете убедиться, что все приложения GTK, включая Pluma и Geany, используют ваш пользовательский DPI. Не забывайте, что некоторые изменения могут потребовать перезагрузки приложения или даже вашего рабочего окружения для полного применения. Надеюсь, эта информация была полезной и поможет вам в решении проблемы.

Оцените материал
Добавить комментарий

Капча загружается...