При использовании мониторов с высоким разрешением (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 со следующим текстом:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.VC90.CRT"
version="9.0.21022.8"
processorArchitecture="amd64"
publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<ms_windowsSettings:dpiAware xmlns:ms_windowsSettings= "http://schemas.microsoft.com/SMI/2005/WindowsSettings" >false</ms_windowsSettings:dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
Примечание. Данные значения для файла манифеста можно получить самостоятельно из .exe файла приложения с помощью утилиты Resource Hacker. Для этого нужно открыть файл mstsc.exe с помощью Resource Hacker. Скопируйте данные из раздела Manifest->1->1033 (для английской Windows) и добавьте секцию с флагом dpiAware со значением false.
Перезагрузите Windows, и попробуйте удаленно подключиться к другому компьютеру/серверу с помощью mstsc.exe. Как вы видите, содержимое RDP окна теперь отображается нормально.
Аналогичным образом можно создать файл манифеста для любого приложения, который не поддерживает нативное масштабирование.
Масштабирование RDP (Remote Desktop Protocol) является важной функцией в операционной системе Windows 10, позволяющей адаптировать отображение рабочего стола для удаленного подключения. Эта функция особенно полезна, когда на целевом устройстве существует разрешение экрана, значительно отличающееся от разрешения клиентского компьютера.
Настройка масштабирования RDP в Windows 10 довольно проста. Сначала нужно открыть меню «Пуск» и перейти к разделу «Параметры». Далее необходимо выбрать раздел «Система» и перейти к вкладке «Удаленный доступ к компьютеру». Затем нужно найти пункт «Удаленная настройка», нажать на кнопку «Настроить» и включить опцию «Позволить удаленные подключения к этому компьютеру».
После включения удаленного доступа к компьютеру можно настроить масштабирование RDP. Для этого нужно снова открыть меню «Пуск», перейти в раздел «Параметры» и выбрать «Система». Затем необходимо перейти к вкладке «Удаленный доступ к компьютеру» и найти пункт «Дополнительные параметры».
В меню «Дополнительные параметры» можно настроить различные параметры масштабирования RDP, включая размеры текста, значков и других элементов интерфейса. Также можно установить опцию «Масштабировать содержимое». После настройки параметров масштабирования, необходимо сохранить изменения и перезагрузить компьютер для применения новых настроек.
Содержание
- Основы масштабирования RDP в Windows 10
- Настройка масштабирования RDP
- Использование масштабирования RDP
Основы масштабирования RDP в Windows 10
Масштабирование RDP позволяет изменять размер и масштаб удаленного рабочего стола, чтобы удобно просматривать и управлять удаленными приложениями и данными на экране. Это особенно полезно, когда вы работаете на устройстве с маленьким экраном или высоким разрешением.
Для настройки масштабирования RDP в Windows 10 вам понадобится доступ к системным настройкам удаленного рабочего стола. Чтобы открыть эти настройки, щелкните правой кнопкой мыши на значок «Пуск» в нижнем левом углу экрана и выберите «Система». Затем перейдите в раздел «Удаленный доступ» и нажмите на кнопку «Параметры удаленного рабочего стола».
В окне настроек удаленного рабочего стола найдите раздел «Отображение» и установите галочку рядом с параметром «Использовать масштабирование». После этого вы сможете задать желаемый уровень масштабирования с помощью ползунков или выбрав одну из предустановленных настроек.
Кроме того, вы можете настроить другие параметры масштабирования, такие как соотношение сторон, использование масштабирования текста и т. д. Все эти опции доступны в разделе «Опции масштабирования» в окне настроек удаленного рабочего стола.
После настройки масштабирования RDP в Windows 10 вы сможете удобно работать с удаленными ресурсами, включая приложения, файлы и сетевые папки, на любом устройстве и с любым разрешением экрана.
Настройка масштабирования RDP
Расширенная функция масштабирования RDP позволяет настраивать масштаб экрана при удаленном подключении к компьютеру через RDP (протокол удаленного рабочего стола). Это особенно полезно, когда вы работаете с компьютером, имеющим другое разрешение экрана, и вам необходимо адаптировать его под ваш локальный экран.
Для настройки масштабирования RDP в Windows 10 выполните следующие шаги:
- Запустите «Панель управления» и перейдите в раздел «Система».
- Выберите вкладку «Удаленный доступ» и нажмите на кнопку «Настроить».
- В появившемся диалоговом окне переключитесь на вкладку «Опции».
- Найдите раздел «Качество» и переместите ползунок «Отправлять изображение в этом разрешении» в желаемую позицию. Вы можете выбрать средний или низкий уровень качества изображения, чтобы ускорить соединение.
- Также вы можете настроить размер окна удаленного рабочего стола. В разделе «Формат окна» выберите опцию «Передать исходный размер окна» или «Установить определенный размер окна». Если вы выбираете вторую опцию, введите желаемое разрешение экрана.
- Нажмите «ОК», чтобы сохранить изменения.
После настройки масштабирования RDP можно будет подключаться к удаленному компьютеру с установленными настройками масштаба экрана.
Это позволит вам работать с удаленным компьютером в комфортном режиме, подстраивая его под ваш локальный экран.
Использование масштабирования RDP
Для использования масштабирования RDP в Windows 10 вам следует выполнить следующие шаги:
- Откройте приложение «Параметры» на вашем компьютере с Windows 10.
- Выберите раздел «Система».
- В боковом меню выберите «Удаленный рабочий стол».
- В разделе «Удаленный рабочий стол» включите опцию «Масштабирование устройства при подключении».
- Затем выберите желаемый масштаб в раскрывающемся меню.
После настройки масштабирования RDP, удаленный рабочий стол будет автоматически масштабироваться в соответствии с выбранным размером устройства. Если вы изменили масштаб на локальном устройстве, он также применится к удаленному рабочему столу.
Использование масштабирования RDP в Windows 10 позволяет обеспечить наилучший пользовательский опыт при подключении к удаленному рабочему столу, учитывая размер и разрешение вашего локального устройства.
Масштабирование экрана при подключении по RDP
Если подключаясь к удаленному компьютеру по RDP вы хотите видеть весь удаленный рабочий стол целиком, то необходимо сделать так, чтобы разрешение экрана клиента совпадало с разрешением удаленного компьютера. Однако в некоторых случаях это может быть неудобно или невозможно. К примеру, физическое разрешение локального компьютера может быть меньше, чем удаленного, либо требуется открыть несколько удаленных сессий одновременно.
В этом случае в окне RDP-клиента поместится лишь часть удаленного экрана и для работы придется использовать прокрутку, что крайне неудобно.
Выходом из данной ситуации может быть режим динамического масштабирования. В этом режиме размер удаленного рабочего стола изменяется таким образом, чтобы целиком поместиться в окне RDP-клиента без использования полос прокрутки. При изменении размеров окна изображение также изменяется, автоматически подстраиваясь под нужный размер.
Динамическое масштабирование появилось еще в Windows XP, однако включить режим масштабирования можно было только отредактировав файл подключения. Для этого надо открыть файл с расширением .rdp в Блокноте (или другом текстовом редакторе)
и добавить в него такую строку:
smart sizing:i:1
После внесения изменений файл надо сохранить, и при следующем подключении RDP-клиент будет запущен в режиме масштабирования.
В восьмой версии RDP клиента в Windows Server 2012 и Windows 8 появилась возможность управлять масштабированием на лету, прямо из графического интерфейса. Для включения масштабирования достаточно кликнуть правой клавишей мыши в левом верхнем углу окна RDP и отметить в контекстном меню пункт Интеллектуальное изменение размера (Smart sizing).
Примечание. Для Windows Server 2008 R2 и Windows 7 RDP 8.0 можно установить отдельно, в виде обновления.
В завершение напомню, что речь шла только о родном RDP-клиенте (mstsc.exe). В административных оснастках типа Remote Desktops или Remote Desktop Connection Manager динамическое масштабирование не работает, в них для изменения размеров окна надо отключаться от удаленной машины.
Если у вас современный мощный ультрабук с суперкрутым 4K или 2K-дисплеем, и вы часто пользуетесь подключением к удалённому рабочему столу RDP, то вы согласитесь, что это просто АД — тыкать курсором в убермелкие значки и кнопки. Кнопка Пуск меньше ногтя на мизинце, чтобы попасть в кнопку закрыть, надо быть олимпийским чемпионом по кёрлингу. Я до сих пор не понимаю, как майкрософт могли так облажаться и на протяжении такого долгого времени не могут исправить свой косяк. Всё приходится исправлять самому… Итак, на руках у нас ультрабук Lenovo, 2K-дсиплей, удалённый рабочий стол и родной mstsc.exe.
Я порылся в интернете, и нашёл 2 самых популярных решения:
- Использовать стороннее ПО, вроде Remote Desktop Connection Manager 2.7 или RD Tabs
- Указать встроенному клиенту RDP на новый manifest-файл и пользоваться им дальше
Первый вариант — можете сами гуглить и легко скачать программы. Я распишу как провернуть второй вариант.
Прописываем в реестре использование сторонних manifest-файлов.
- Открываем regedit.exe от имени администратора
- открываем ветку HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide
- создаём параметр DWORD (32 bit) с названием PreferExternalManifest
- Открываем созданный параметр, переводим тип счисления на десятичную и вводим 1.
- Нажимаем ОК и закрываем редактор реестра
Чтобы было вам проще, я подготовил простой reg-файл, просто импортируйте его себе в реестр. Скачать
Подсовываем правильный manifest-файл
Далее вам надо создать файлик, это можно сделать в блокноте. Скопируйте туда текст снизу, сохраните на рабочий стол под названием mstsc.exe.manifest (в конце не должно быть .txt). После этого этот файл надо закинуть в папку %SystemRoot%\System32\, скорее всего этот файл будет лежать тут C:\Windows\System32\mstsc.exe.manifest. Важно, чтобы manifest-файл лежал в той же папке что и клиент удалённого рабочего стола.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.VC90.CRT"
version="9.0.21022.8"
processorArchitecture="amd64"
publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
Если вы не хотите заморочиваться копированием-вставкой-блокнотом-перемещением, то просто скачайте файлик mstsc.exe.manifest здесь и скопируйте его в папку C:\Windows\System32\ (потребуются права администратор)
Подсмотрено тут https://blog.brankovucinec.com/2016/03/19/fix-remote-desktop-dpi-scaling-issues/
Файлы для скачивания выложены на Яндекс.Диск https://yadi.sk/d/XpxDR9Yi3U2dUu
Отблагдарить автора статьи также можно переводом, +100 вам в карму!
У меня появился новый ноутбук – можно сказать, классика рабочего жанра – Lenovo ThinkPad T580. В этом ноуте все отлично – и характеристики его железа (на канале будет отдельный обзор), и, собственно дизайн, вес и прочие эргономические вещи… И как главная плюшка – у ноута отличный 15” экран с разрешением 3840х2160 – 4К.
Но, как часто бывает – все эти плюшки не только приятны, но и имеют отрицательные стороны. Вы видели, какой масштаб PPI (DPI) стоит для таких вот 15” экранов 4К 3840х2160, подобных Lenovo ThinkPad T580?! – правильно, 250% по умолчанию! Т.е. именно настолько масштабируется изображение, чтобы текст на экране был читаемый глазом, а в элементы управления можно было попадать мышкой. Кто не знаком с эффектом DPI/PPI на маленьких экранах с большим разрешением (от 4К и выше) – рекомендую заглянуть в настройки дисплея в Windows и там поиграться в настройками Scaling’а. А для наглядности – вот вам картинка для сравнения вида интерфейса в масштабе 100% и 225%
При чем здесь 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 клиент должен брать настройки из файла манифеста:
-
Запускаем утилиту regedit и идем по следующему пути:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide -
Создаем новый параметр, кликнув на пустом поле справа правой кнопкой мышки NEW -> DWORD (32 bit) Value
-
Вводим имя нового параметра PreferExternalManifest и жмем ENTER.
-
Снова кликаем правой кнопкой мыши, теперь уже по записи PreferExternalManifest, и выбираем Modify.
-
Вводим в Value Data значение 1 и выбираем пункт Decimal.
-
Нажимаем в окошке OK.
-
Закрываем Registry Editor.
Результат должен выглядеть примерно следующим образом: -
Далее, нужно создать файл самого манифеста под именем mstsc.exe.manifest и поместить его в папку %SystemRoot%\System32\mstsc.exe.manifest (обычно это C:\Windows\System32\mstsc.exe.manifest). Полный текст содержимого mstsc.exe.manifest приведен ниже, уже готовый файл mstsc.exe.manifest можете забрать здесь.
Далее – запускаем стандартный Microsoft клиент RDP (mstsc.exe) или перезапускаем его (если на момент изменений были открыты какие-то RDP сессии) и наслаждаемся соответствующим масштабу вашего локального экрана виду удаленного экрана. В реальности, данный фикс настроек RDP клиента работает очень просто – RDP клиент отправляет запрос на такое разрешение удаленного экрана, которое на соответствующий масштабу процент меньше, чем оригинальное у клиента – так что не удивляйтесь «странным» цифрам в разрешении удаленного рабочего стола. Например, если у меня разрешение 4К 3840х2160 при 225% масштаба, то разрешения удаленного стола будет установлено обновленным RDP клиентом для полноэкранной картинки как 1704х960 (как раз те самые 3840/2,25 и т.д.) – и все элементы удаленного интерфейса соответствуют масштабу.
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>
<assembly xmlns=”urn:schemas-microsoft-com:asm.v1″ manifestVersion=”1.0″ xmlns:asmv3=”urn:schemas-microsoft-com:asm.v3″>
<dependency>
<dependentAssembly>
<assemblyIdentity
type=”win32″
name=”Microsoft.Windows.Common-Controls”
version=”6.0.0.0″ processorArchitecture=”*”
publicKeyToken=”6595b64144ccf1df”
language=”*”>
</assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity
type=”win32″
name=”Microsoft.VC90.CRT”
version=”9.0.21022.8″
processorArchitecture=”amd64″
publicKeyToken=”1fc8b3b9a1e18e3b”>
</assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns=”urn:schemas-microsoft-com:asm.v3″>
<security>
<requestedPrivileges>
<requestedExecutionLevel
level=”asInvoker”
uiAccess=”false”/>
</requestedPrivileges>
</security>
</trustInfo>
<asmv3:application>
<asmv3:windowsSettings xmlns=”http://schemas.microsoft.com/SMI/2005/WindowsSettings”>
<ms_windowsSettings:dpiAware xmlns:ms_windowsSettings=”http://schemas.microsoft.com/SMI/2005/WindowsSettings”>false</ms_windowsSettings:dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
Немного дополнительных life-хаков о том, как:
- Как восстановить “сдохшую” microSD, SD или USB, которая не хочет форматироваться
- Какую быструю microSD карточку купить для работы с 4K видео, большими фото, time lapse и т.п.?–тестирование скорости работы microSD U3 от Samsung, SanDisk, Kingston, Transcend и “китайских ноунейм” Toshiba, OV, LonDisk
- Как удалить CD раздел с USB флешки, снять режим “только чтение”, проверить реальный рабочий размер
- Как правильно очистить место на системном диске Windows (C:) и ничего не сломать (от Игоря Шаститко)
- Подробно: почему и как “сдохла” microSD/SD, флешка в телефоне, камере и как с этим бороться
- Как правильно и безопасно удалить вирусы, трояны, rootkit’ы с вашего ПК – подробная инструкция
- Как создать Microsoft Account (учетную запись Microsoft), почему не работает Microsoft Account?
- СофТы: простой способ установки Windows 2000/Windows XP на телефон Android (Limbo)
И еще немного дополнительных материалов, посвященных ИТ тематике у меня на YouTube-канале iWalker2000 и тут на блоге. Надеюсь, сисадмины и те, кто ими собирается стать – найдут данные материалы тоже интересными для себя.
Первые серии нового курса по использованию Azure IaaS:
- Использование инфраструктуры Azure для системных администраторов, часть 1 – 15 шагов ДО облаков
- Использование инфраструктуры Azure для системных администраторов, часть 2 – виртуальный облачный ЦОД
- Использование инфраструктуры Azure для сисадминов, часть 4 – основные инструменты управления в Azure
- Использование инфраструктуры Azure для сисадминов, часть 5 – что такое Resource Group в Azure
Видео об ИТ-карьере – как стать ИТ-специалистом и заработать много денег:
И смотрите другие видео для ИТ-специалистов у меня на канале:
Видео про новые возможности дисков и дисковых массивов:
Подписывайтесь на мой Youtube канал iWalker2000 – для подписки просто кликните сюда
Также, по просьбам посетителей – меня найти можно (добавляйтесь в друзья и подписчики):