Как изменить разрешение экрана на удаленном рабочем столе

Обновлено: 01.07.2024

Домівка Как настроить нормальный масштаб интерфейса, размер фонтов в клиенте удаленного рабочего стола RDP при высоком разрешении экрана–самый простой и работоспособный вариант (Remote Desktop DPI scaling issues)

У меня появился новый ноутбук – можно сказать, классика рабочего жанра – Lenovo ThinkPad T580. В этом ноуте все отлично – и характеристики его железа (на канале будет отдельный обзор), и, собственно дизайн, вес и прочие эргономические вещи… И как главная плюшка – у ноута отличный 15” экран с разрешением 3840х2160 – 4К.

Но, как часто бывает – все эти плюшки не только приятны, но и имеют отрицательные стороны. Вы видели, какой масштаб PPI (DPI) стоит для таких вот 15” экранов 4К 3840х2160, подобных Lenovo ThinkPad T580?! – правильно, 250% по умолчанию! Т.е. именно настолько масштабируется изображение, чтобы текст на экране был читаемый глазом, а в элементы управления можно было попадать мышкой. Кто не знаком с эффектом DPI/PPI на маленьких экранах с большим разрешением (от 4К и выше) – рекомендую заглянуть в настройки дисплея в Windows и там поиграться в настройками Scaling’а. А для наглядности – вот вам картинка для сравнения вида интерфейса в масштабе 100% и 225%

100-225-comparison

При чем здесь DPI/PPI и масштабирование, спросите вы? А при том, что представьте себе, что у вас есть приложение, которое ничего не знает о том, в каком масштабе отображать картинку внутри себя и никакого масштабирования внутри такого приложения не происходит. В результате – внутри окна приложения будет все настолько мелким, насколько это выглядит таковым в приведенном выше примере (слева).

И таким вот нужным и часто используемым приложением, которое «не понимает масштабирования» для экранов с большим разрешением – является Microsoft Remote Desktop Client (да и многие прочие клиенты удаленного рабочего стола RDP). При подключении к удаленному компьютеру – рабочий стол этого компьютера в RDP выглядит катастрофически мелким, поскольку картинка RDP оттуда – отображается с масштабированием DPI удаленного сервера, которое может быть и 150%, и даже 100%. Работать с таким удаленным интерфейсом на экране 4К размером 15” – нереально, курсора мышки иногда просто не видно 😉

Так поменять масштабирование на удаленном сервере. – ага, сейчас, по умолчанию на сервере такая опция заблокирована – для изменения масштабирования интерфейса в сеансе RDP на сервере надо провести шаманские пляски (если у вас есть права на это), да и не будешь на каждом сервере это менять…

Итого, остается только вариант научить клиента удаленного рабочего стола RDP («родного» Microsoft’овского или какого либо другого) понимать масштабирование и учитывать это при соединении с удаленным сервером.

После достаточно длительного поиска в Инете и чтения разных «рецептов танцев с бубнами» вокруг проблемы масштабирования DPI/PPI в RDP, я пришел к выводу, что самым работоспособным рецептом решения проблемы является вариант, описанный в статье [Fix] Remote Desktop DPI scaling issues . Во избежание потери информации (если вдруг страницу или файлы удалят, сайт закроют) – сделаю вольный перевод предложенного материала/копию файлов и у себя на блоге.

Итак, метод лечения проблемы масштабирования интерфейса для стандартного RDP клиента Microsoft крайне прост и заключается в копировании специального файла-манифеста для RDP, который собственно и содержит в себе команду включения того самого масштабирования для удаленного подключения:

Если подключаясь к удаленному компьютеру по RDP вы хотите видеть весь удаленный рабочий стол целиком, то необходимо сделать так, чтобы разрешение экрана клиента совпадало с разрешением удаленного компьютера. Однако в некоторых случаях это может быть неудобно или невозможно. К примеру, физическое разрешение локального компьютера может быть меньше, чем удаленного, либо требуется открыть несколько удаленных сессий одновременно.

В этом случае в окне RDP-клиента поместится лишь часть удаленного экрана и для работы придется использовать прокрутку, что крайне неудобно.

Окно RDP-сеанса без масштабирования

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

Окно RDP-сеанса с масштабированием

Динамическое масштабирование появилось еще в Windows XP, однако включить режим масштабирования можно было только отредактировав файл подключения. Для этого надо открыть файл с расширением .rdp в Блокноте (или другом текстовом редакторе)

открытие RDP файла в Блокноте

и добавить в него такую строку:

smart sizing:i:1

После внесения изменений файл надо сохранить, и при следующем подключении RDP-клиент будет запущен в режиме масштабирования.

редактирование RDP файла

В восьмой версии RDP клиента в Windows Server 2012 и Windows 8 появилась возможность управлять масштабированием на лету, прямо из графического интерфейса. Для включения масштабирования достаточно кликнуть правой клавишей мыши в левом верхнем углу окна RDP и отметить в контекстном меню пункт Интеллектуальное изменение размера (Smart sizing).

включение масштабирования окна RDP в Windows 8

Примечание. Для Windows Server 2008 R2 и Windows 7 RDP 8.0 можно установить отдельно, в виде обновления.

date

29.04.2013

directory

Windows 8

comments

комментариев 7

Чтобы увидеть весь удаленный рабочий стол в окне rdp клиента необходимо сделать так, чтобы разрешение экрана на данном компьютере совпадало с разрешением экрана на удалённом компьютера (это достигается соответствующей настройкой в rdp клиенте). Однако это может быть не всегда удобно или достижимо, например, в случаях rdp доступа с нетбука к рабочему столу рабочей станции (разрешение которой больше, чем разрешение монитора, с которого осуществляется соединение) либо при необходимости работы в небольшом rdp окне с измененными размерами.

Функция динамического масштабирования изображения в окне терминальной сессии (“smart-sized” mode) впервые появилась еще в Windows XP (пользователи Remote Assistance, вероятно, помнят режим масштабирования изображения при изменении размера окна). Режим smart-size подразумевает, что весь удаленный рабочий стол целиком помещается в клиентском окне (без использования полос прокрутки), а при изменении размера клиентского окна, изображение автоматически масштабируется так, чтобы целиком поместится в него.

smart sizing - масштабирование rdp в windows 8

RDP сессия в режиме масштабирования (smart-size) выглядит так:

RDP сессия без масштабирования с полосами прокрутки

При отключенном режиме smart-size в окне RDP сессии помещается лишь часть изображения рабочего стола, и для его просмотра нужно использовать полосы прокрутки.

В Windows XP и Windows 7 включить режим масштабирования в терминальном клиенте возможно было только отредактировав .rdp файл. Для этого необходимо было открыть файл с расширением .rdp с помощью любого текстового редактора и добавить строку:

smart sizing:i:1

smart sizing:i:1 в RDP windows 7

Затем изменения в файле нужно сохранить и при следующем запуске RDP клиента он будет открываться в режиме масштабирования (smart-size).

Для этого щелкните по элементу в верхнем левом углу окно RDP и отметьте опцию Smart Sizing. Режим работы rdp клиента изменится со «статического разрешения» на динамическое, зависящее от размеров окна.

Включаем smart sizing (автоматическое масштабирование) в rdp клиенте на windows 8

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

Отметим, что возможность масштабирования в таком инструменте Windows-администратора, как Remote Desktop Connection Manager, позволяющего удобно организовать rdp работу со множеством Windows серверов, отсутствует.

При использовании мониторов с высоким разрешением (4k DPI) в Windows 10 пользователи часто сталкиваются с тем, что текст, значки и другие элементы устаревших программ, несовместимых с экранными режимами HiDPI, становится слишком мелким, размытыми и нечитаемыми.

Частично эта проблема была исправлена в обновлении Fall Creators Update за счет внедрения дополнительной поддержки динамического масштабирования DPI, однако при подключении к рабочему столу удаленного компьютера по RDP, проблема масштабирования все еще сохраняется (все также отсутствует поддержка нормального масштабирование для клиента mstsc.exe).

В Windows 8.1 и Windows 10 по-умолчанию локальный DPI передается в RDP подключение, в результате все значки и текст в таком окне становятся очень мелкими и плохо читаемыми.

В качестве обходного пути можно использовать для RDP подключений приложение RDCMan , но есть решение и для родного клиента mstsc.exe .

Смысл в том, что для конкретных приложений можно создать отдельный файл манифеста (.manifest).

Чтобы этот функционал заработал, чтобы Windows при запуске приложения пыталась сначала получить данный из файла манифеста приложения. Для этого в ветке реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide создать ключ типа DWORD (32 бит) со именем PreferExternalManifest и десятичным значением 1 .

Затем в каталоге %SystemRoot%\System32\ (в нем хранится клиент mstsc.exe) нужно создать файл mstsc.exe.manifest со следующим текстом:

Примечание . Данные значения для файла манифеста можно получить самостоятельно из .exe файла приложения с помощью утилиты Resource Hacker. Для этого нужно открыть файл mstsc.exe с помощью Resource Hacker. Скопируйте данные из раздела Manifest->1->1033 (для английской Windows) и добавьте секцию с флагом dpiAware со значением false.

Перезагрузите Windows, и попробуйте удаленно подключиться к другому компьютеру/серверу с помощью mstsc.exe. Как вы видите, содержимое RDP окна теперь отображается нормально.

Аналогичным образом можно создать файл манифеста для любого приложения, который не поддерживает нативное масштабирование.

Читайте также: