Вопрос или проблема
После обновления с 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. Не забывайте, что некоторые изменения могут потребовать перезагрузки приложения или даже вашего рабочего окружения для полного применения. Надеюсь, эта информация была полезной и поможет вам в решении проблемы.