23

Я использую Gnome Shell с монитором 4k, и я использую несколько приложений, которые вообще не масштабируются с высоким разрешением.

Вот пример LMMS, приложения, которое еще не было портировано Qt 5, поэтому у него нет возможностей масштабирования с высоким разрешением:

Скриншот
(Нажмите на изображение, чтобы увеличить)

Есть ли способ масштабирования определенного окна X без изменения разрешения экрана?

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

Скриншот

4 ответа4

16

Мне, наконец, удалось найти решение, которое масштабирует старые приложения без какого-либо заметного ухудшения качества изображения или производительности.

Благодаря kaueraal, теперь вы можете масштабировать старые приложения, используя run_scaled . Вы можете получить скрипт на его странице GitHub или через AUR run_scaled-git если вы используете Arch Linux.

Вот пример двух приложений, работающих рядом:

  • Firefox с поддержкой HiDPI слева
  • LMMS работает с run_scaled справа

Я обнаружил этот скрипт через Arch Linux Wiki.

6

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

GDK_SCALE=x

или же

GDK_DPI_SCALE=x

Перед началом каждого приложения. Скорее всего, вам придется вручную изменять файлы .desktop или запускать из своей оболочки с префиксом команд с GDK_SCALE=x

GDK_SCALE только промежуточные значения, однако GDK_DPI_SCALE=x допускает десятичные значения, такие как GDK_DPI_SCALE=0.66

Для других приложений на основе SDK, вероятно, существуют аналогичные настройки для соответствующих наборов. Однако, поскольку ваша проблема связана с рабочим столом gnome, я предоставлю это решение.

Я не пробовал с 4k монитором, но запуск GDK_DPI_SCALE=1.66 gnome-calculator продемонстрирует решение.

Источник: https://developer.gnome.org/gtk3/stable/gtk-x11.html

2

У меня есть приложение, которое порождает много окон, и в настоящий момент я не могу использовать xpra как того требует принятое решение run_scaled. Я также не могу терпеть 2x масштабирование gnome-tweak-tool. Слишком огромный. Нужно 1,5х.

Я обнаружил, что Java-клиент tigerVNC поддерживает масштабирование отображения на стороне клиента до 150%.

Поэтому я запускаю vncserver с размером 2/3 и минимальным менеджером окон:

vncserver -geometry 2520x1380 -xstartup ~/.vnc/xstartup-mwm

Затем я соединяюсь с Java-клиентом TigerVNC v1.7 (1.8.0 постоянно вылетает для меня):

java -jar VncViewer-1.7.0.jar -ScalingFactor=150

Помимо командной строки, вы можете нажать F8 чтобы получить параметры просмотра VNC. Экран-> Коэффициент масштабирования-> 150%. Это масштабирует разрешение от 2/3 до 4k.

Архаический MWM в VNC с 150% масштабированием слева. Необычный рабочий стол Gnome (родной) справа, без масштабирования. Вы заметите крошечные значки. В противном случае Gnome настроен на 4k с 1,5-кратным масштабированием шрифта в gnome-tweak-tool, но значки не масштабируются. Это только пример приложения - значки и масштабирование в приложении, которое подталкивает меня к этому, намного хуже.

К сожалению, это полный 1.5x масштабированный рабочий стол с отдельным оконным менеджером. Это создает хорошую изолированную область для моего многооконного приложения, но раздражает наличие второго оконного менеджера. Тем не менее, VNC - это то, с чем я знаком по многолетнему использованию, и это довольно легко переносит ноутбук, так что, возможно, его можно использовать.

1

Vncdesk предлагает решение на основе локального клиента-сервера VNC (см. Здесь)

Это не полное решение для меня, потому что оно создает некоторые проблемы, если приложение нуждается в оконном менеджере.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .