Как масштабировать разрешение/отображение рабочего стола и/или приложений?

ТТИЛинукс

Этот дистрибутив имеет файловую систему размером 8 МБ и работает на компьютерах i486 с 24 МБ ОЗУ, но предоставляет полную среду командной строки (busybox, bash, iptables, dropbear... )и готов к работе в Интернете. доступ.

1
09.07.2020, 04:27
1 ответ

Дисплей Linux

Это подробно описано в как работает дисплей в 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 X11

Расширение 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

Существует множество способов сделать 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 .

13
18.03.2021, 23:21

Теги

Похожие вопросы