Это подробно описано в как работает дисплей в Linux? КК.
В большинстве настольных систем (, таких как KDE или Gnome ), настройки доступны на соответствующих панелях настроек. Это руководство предназначено для дополнительных/ручных настроек, которые можно применить для масштабирования приложения или всего рабочего стола. Эта справочная статья содержит много ценной информации по этому вопросу.
Масштабирование приложения может быть выполнено главным образом через DPI , специальную переменную среды (, описанную ниже ), собственные настройки приложения или определенные настройки рабочего стола (, которые выходят за рамки этого QA ).
Приложения Qt можно масштабировать с помощью следующих переменных среды. Обратите внимание, что многие приложения требуют -жесткого кодирования размера и шрифта, поэтому результат для такого приложения может отличаться от ожидаемого.
export QT_AUTO_SCREEN_SET_FACTOR=0
export QT_SCALE_FACTOR=2
export QT_FONT_DPI=96
Приложения Gnome/GTK можно масштабировать со следующими переменными среды
export GDK_SCALE=2
export GDK_DPI_SCALE=0.5
Gnome/GTK также можно масштабировать глобально с помощью этой настройки Gnome
gsettings set org.gnome.desktop.interface text-scaling-factor 2.0
Chromium, можно масштабировать с помощью следующей команды
chromium --high-dpi-support=1 --force-device-scale-factor=1.5
Xpra(python )можно использовать вместе с Run Scaled для достижения масштабирования для каждого приложения.
Изменение переменных среды может быть помещено в ~/.profile
для глобального и автоматического устройства после входа в систему.
Расширение Xorg RandR имеет функцию масштабирования и может быть настроено с помощьюxrandr
. Это можно использовать для масштабирования рабочего стола для отображения большей среды, это может быть полезно для дисплеев HiDPI (High Dots Per Inch ).
RandR также можно использовать наоборот ,Например, экран с максимальным разрешением 1366x768 поддерживает большее разрешение, например 1920x1080. Это достигается путем имитации нового более высокого разрешения при рендеринге для поддерживаемого максимального разрешения, аналогично тому, как мы смотрим видео Full -HD на экране, который не является Full -HD.
Получение имени экрана:
xrandr | grep connected | grep -v disconnected | awk '{print $1}'
Уменьшите размер экрана на 20% (масштаб -в)
xrandr --output screen-name --scale 0.8x0.8
Увеличение размера экрана на 20 % (увеличение -уменьшение)
xrandr --output screen-name --scale 1.2x1.2
Сброс xrandr
изменения
xrandr --output screen-name --scale 1x1
При использовании xrandr
для «увеличения -» с предыдущим методом рабочий стол остается полноэкранным, но когда мы «уменьшаем -» с помощью, например,xrandr --output screen-name --scale 1.2x1.2
(для получения неподдерживаемое разрешение )рабочий стол не отображается в полноэкранном режиме, потому что это требует обновления разрешения (до более высокого неподдерживаемого разрешения экрана ), мы можем использовать комбинацию --mode
, --panning
и --scale
, параметры xrandr для достижения полноэкранного масштабирования «уменьшение -» (имитируют новое разрешение ), пример:
Получить текущую настройку
xdpyinfo | grep -B 2 resolution
# or
xdpyinfo
Пример конфигурации
Scaling at: 120%
Used/max screen resolution: 1366 x 768
Resolution at 120% (res x 1.2): 1640 x 922 (round)
Scaling factor (new res / res): 1.20058565 x 1.20208604
Идея состоит в том, чтобы виртуально увеличить разрешение экрана (, поскольку физически мы ограничены 1366x768 ), команда будет (заменитьscreen-name
):
xrandr --output screen-name --mode 1366x768 --panning 1640x922 --scale 1.20058565x1.20208604
Сбросьте изменения с помощью
xrandr --output screen-name --mode 1366x768 --panning 1366x768 --scale 1x1
# restarting the desktop may be required example with KDE
# kquitapp5 plasmashell
# plasmashell &
Существует множество способов сделать xrandr
изменения постоянными, этот и этот QA имеют много примеров.
В качестве побочного примечания и результатов экспериментов при использовании SDDM + KDE и после многих тестов для достижения постоянной конфигурации я в итоге загрузил скрипт с помощью~/.config/autostart
(systemsettings5
> Startup... > Autostart )и назвал свой скрипт 00-scriptname
, чтобы он запускался первым.
# 00-scriptname
# Applying the main xrandr suited changes (scaling at x1.15)
xrandr --output eDP1 --mode 1366x768 --panning 1574x886 --scale 1.15226939x1.15364583
# This is where it get odd/complicated, sometimes the screen resolution is not applied correctly or not applied at all...
# Note that "xrandr --fb" can be used alone to change the screen resolution on a normal situation...
# Here we will be taking advantage of xrandr's "--fb" feature to make the config appliance stable and works every-time.
# The odd thing here is while re-applying the new resolution 1574x886 with "--fb" nothing happen, but
# if we use use an unsupported resolution like 1574x884 (vs 1574x886) then xrandr force the resolution
# to "reset itself" to the configured resolution (1574x886)...
# In short just re-apply the setting with "--fb" and an unsupported resolution to force a reset.
# ("--fb" can be used alone here without re-applying everything)
#xrandr --fb 1574x884
xrandr --fb 1574x884 --output eDP1 --mode 1366x768 --panning 1574x886 --scale 1.15226939x1.15364583
Некоторые инструменты графического интерфейса KDE:systemsettings5
> дисплей, kcmshell5 xserver
иkinfocenter
.
Ссылки и источники:1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 и 12 .