- Проблема масштабирования RDP в Windows 10 на мониторах с высоким разрешением
- Разрешение экрана удаленного рабочего стола на windows server при подключении по протоколу RDP
- Igor «Walker» Shastitko
- Блог о мобильных устройствах, технологиях и путешествиях: обзоры, тестирования, тренинги и путевые заметки…
- Как настроить нормальный масштаб интерфейса, размер фонтов в клиенте удаленного рабочего стола RDP при высоком разрешении экрана–самый простой и работоспособный вариант (Remote Desktop DPI scaling issues)
- Масштабирование удалённого рабочего стола на 2K и 4K дисплее
- Масштабирование удалённого рабочего стола на 2K и 4K дисплее
- Масштабирование экрана в RDP сессии
Проблема масштабирования RDP в Windows 10 на мониторах с высоким разрешением
При использовании мониторов с высоким разрешением (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 со следующим текстом:
Перезагрузите Windows, и попробуйте удаленно подключиться к другому компьютеру/серверу с помощью mstsc.exe. Как вы видите, содержимое RDP окна теперь отображается нормально.
Аналогичным образом можно создать файл манифеста для любого приложения, который не поддерживает нативное масштабирование.
Разрешение экрана удаленного рабочего стола на windows server при подключении по протоколу RDP
Бывает, что нужно подключаться к удаленному рабочему столу с ноутбука, у которого размер экрана не очень большой. Часто на самом сервере выставлено максимальное разрешение экрана для «удаленки», которое хорошо подходит для стационарного монитора с большой диагональю, но для ноутбука получается слишком мелко. А изменение параметров удаленного рабочего стола может заблокировано настройкой прав пользователя.
В настройках подключения выбор разрешения экрана отсутствует:
Я пробовал изменить настройки подключения, открыв файл «.rdp» в редакторе, но этот маневр результата также не принес (экспериментировал с параметрами desktopwidth, desktopheight и winposstr):
desktopwidth:i: — ширина рабочего стола. Выбирается на вкладке ”Экран” окна ”Параметры” средства ”Подключение к удаленному рабочему столу”.
desktopheight:i: — высота рабочего стола. Выбирается на вкладке ”Экран” окна ”Параметры” средства ”Подключение к удаленному рабочему столу”.
winposstr:s: — позиция и размеры окна в формате WINDOWPOS
Нашел выход из положения следующим способом: Подключение RDP устроено таким образом, что разрешение удаленного рабочего стола не может быть больше разрешения экрана компьютера, с которого осуществляется подключение. Скорее всего, эта системная настройка, которую нельзя изменить политиками на сервере. Таким образом, чтобы уменьшить разрешение на «удаленке» можно выставить нужное разрешение экрана на вашем компьютере до требуемого перед запуском подключения. При этом не требуется менять настройки самого подключения.
Igor «Walker» Shastitko
Блог о мобильных устройствах, технологиях и путешествиях: обзоры, тестирования, тренинги и путевые заметки…
Как настроить нормальный масштаб интерфейса, размер фонтов в клиенте удаленного рабочего стола 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%
При чем здесь 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, который собственно и содержит в себе команду включения того самого масштабирования для удаленного подключения:
Масштабирование удалённого рабочего стола на 2K и 4K дисплее
Масштабирование удалённого рабочего стола на 2K и 4K дисплее
Если у вас современный мощный ультрабук с суперкрутым 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-файл, просто импортируйте его себе в реестр. Скачать
Масштабирование экрана в RDP сессии
Чтобы увидеть весь удаленный рабочий стол в окне rdp клиента необходимо сделать так, чтобы разрешение экрана на данном компьютере совпадало с разрешением экрана на удалённом компьютера (это достигается соответствующей настройкой в rdp клиенте). Однако это может быть не всегда удобно или достижимо, например, в случаях rdp доступа с нетбука к рабочему столу рабочей станции (разрешение которой больше, чем разрешение монитора, с которого осуществляется соединение) либо при необходимости работы в небольшом rdp окне с измененными размерами.
Функция динамического масштабирования изображения в окне терминальной сессии (“smart-sized” mode) впервые появилась еще в Windows XP (пользователи Remote Assistance, вероятно, помнят режим масштабирования изображения при изменении размера окна). Режим smart-size подразумевает, что весь удаленный рабочий стол целиком помещается в клиентском окне (без использования полос прокрутки), а при изменении размера клиентского окна, изображение автоматически масштабируется так, чтобы целиком поместится в него.
RDP сессия в режиме масштабирования (smart-size) выглядит так:
При отключенном режиме smart-size в окне RDP сессии помещается лишь часть изображения рабочего стола, и для его просмотра нужно использовать полосы прокрутки.
В Windows XP и Windows 7 включить режим масштабирования в терминальном клиенте возможно было только отредактировав .rdp файл. Для этого необходимо было открыть файл с расширением .rdp с помощью любого текстового редактора и добавить строку:
smart sizing:i:1
Затем изменения в файле нужно сохранить и при следующем запуске RDP клиента он будет открываться в режиме масштабирования (smart-size).
В новой версии rdp клиента в Windows Server 2012 и Windows 8 (rdp v. 8.0) появилась возможность динамической активации и отключения функции масштабирования (smart-sizing) прямо из графического интерфейса RDP клиента (как включить rdp в Win 8 описано в статье — Как включить удаленный рабочий стол в Windows 8).
Для этого щелкните по элементу в верхнем левом углу окно RDP и отметьте опцию Smart Sizing. Режим работы rdp клиента изменится со «статического разрешения» на динамическое, зависящее от размеров окна.
Теперь при изменении размеров окна rdp сессии, его содержимое будет автоматически масштабироваться так, чтобы целиком поместится в окошко.
Отметим, что возможность масштабирования в таком инструменте Windows-администратора, как Remote Desktop Connection Manager, позволяющего удобно организовать rdp работу со множеством Windows серверов, отсутствует.