Windows RDP - можно ли изменять разрешение на лету?

30

Мне интересно, можно ли изменить размер рабочего стола на сеансе RDP на лету

Я понимаю, что вы можете сделать это до того, как подключитесь, но я стремлюсь изменить его на лету, подобно тому, как работает vmware. Если у меня оно в окне 800x600, я бы хотел, чтобы размер удаленного рабочего стола был изменен до 800x600 ... но если я разверну свое локальное окно или развернусь на весь экран, я бы хотел, чтобы удаленный рабочий стол принимал разрешение локального ПК или размеры окна.

VMWare делает это именно так, как я хочу, с опцией «использовать настройки хоста для мониторов»

Когда я масштабирую окно, рабочий стол на гостевой ОС масштабируется, я хотел бы сделать это во время сеанса RDP?

Любые идеи?

zimmer62
источник
Извините, пока не могу выбрать ответ. Там должно быть какое-то взломать, чтобы позволить это.
zimmer62
Я создал оболочку для rdesktop, которая соединяет вас с новой геометрией всякий раз, когда вы изменяете размер окна. Это просто быстрый взлом, но действительно полезный. Это только Linux, но я на 100% уверен, что это можно реализовать и на Windows. github.com/kalmi/rrdesktop
Тарнай Кальман
1
Перезапуск кажется болезненным, но я предполагаю, что это лучшее из возможных решений. Поскольку что-то вроде vmware делает это на лету, я думаю, что какое-то клиентское программное обеспечение, работающее на удаленном компьютере, может помочь изменить размер рабочего стола без перезагрузки. Я посмотрю, сможет ли сценарий autoit или сценарий autohotkey помочь сделать это на лету.
zimmer62
1
Это не боль, как я это реализовал. Вы вводите свое имя пользователя и пароль в командной строке. И всякий раз, когда вы изменяете размер окна, он просто перезапускает сеанс и регистрирует вас снова. Это похоже на изменение размера окна VMware. Он снова станет доступным менее чем за 2 секунды.
Tarnay Kálmán

Ответы:

8

Это реализовано в виде новой функции под названием «Обновление динамического разрешения» и появилось в Windows 8.1. Пока на клиенте установлено разрешение «Полный экран», разрешение рабочего стола будет синхронизироваться с клиентом.

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

Смотрите объявление в блоге RDS для получения дополнительной информации.

Митч
источник
2
Обновление с динамическим разрешением работает, если вы используете «Удаленный рабочий стол Microsoft» из хранилища Windows, но нет возможности включить его с помощью стандартной версии Windows для удаленного рабочего стола (mstsc). К сожалению, клиент RDP хранилища Windows ограничен одним сеансом за раз!
Sevin7
@ Sevin7, настольная версия Remote Desktop (добрый день mstsc) будет реагировать на изменения разрешения при максимальном увеличении. Например, если вы подключаете ноутбук, подключенный сеанс обновится до нового размера монитора. Это также происходит при максимизации на монитор другого размера. Версия удаленного рабочего стола для Магазина Windows изменяет размер при изменении размера окна и поддерживает несколько соединений в режиме вкладок, но не в нескольких окнах.
Митч
1
Митч: спасибо за разъяснения. В сообщении блога MS упоминалось, что оно должно работать, если вы запускаете в полноэкранном режиме, но я не смог заставить его работать, потому что у меня нет нескольких мониторов, работающих с разными разрешениями. Я пытался заставить его настроить разрешение при изменении размера с полноэкранного на не полноэкранный (оконный), что и делает приложение Windows Store, но mstsc не делает.
Sevin7
7

Возможно, вы захотите взглянуть на следующую настройку в файле RDP:

smart sizing:i:1

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

Единственное предостережение в том, что рабочий стол все равно останется с эффективным разрешением, с которого вы начинаете. Например, если вы начинаете рабочий стол в 1024x768, вы можете изменить его вниз (и это будет масштабироваться вниз, становится все меньше и труднее читать) все , что вы хотите , но вы не можете изменить его , чтобы полностью заполнить экран 1080p. Если вы начнете с нескольких мониторов, а затем перенесете его на один монитор, дисплей RDP покажет несколько рабочих столов рядом друг с другом, собрав их вместе, в одном окне.

Смотрите здесь для блога с более подробной информацией.

Кроме того, я много раз использовал скомпилированный список настроек файла RDP из Университета Северной Каролины в Техническом колледже Шарлотты. Надеюсь это поможет.

Эрик
источник
1
Мне нравится умный размер, но я действительно ищу изменение разрешения без повторного подключения.
zimmer62
3

Smart sizing теперь является полнофункциональной функцией удаленного рабочего стола, но она «скрыта» в контекстном меню

введите описание изображения здесь

Источник: моя (итальянская) статья здесь ( Google Translate )

Надеюсь это поможет

Доктор Джанлуиджи Зане Занеттини
источник
1
Мне нравится, что это поддерживает это, но это не совсем то, что я ищу. Если у вас будет возможность увидеть, как это делает VMWare, это позволит вам изменить размер рабочего стола, не масштабируя его.
zimmer62
Теперь я понимаю, что вы имеете в виду, и я почти уверен, что в настоящее время он не поддерживается через RDP, даже если это действительно может быть очень полезно.
Доктор Джанлуиджи Зане Дзанеттини
0

Я не знаю способа изменения размера после запуска сеанса со стандартным RDP-клиентом. Вы можете попробовать mRemote, который позволяет это с их опцией «Smart Resize». (Предостережение: страница обзора mRemote сообщает, что mRemote работает только в Windows XP и Windows Vista, но не в Linux.)

prototypef
источник
mRemote больше не существует. Он был заменен коммерческим программным обеспечением. Там также mRemoteNG . Пожалуйста, обновите ваш пост соответственно.
Der Hochstapler
0

Я просто помещаю это здесь для наглядности, полная благодарность @ Sevin7 за их комментарий выше:

Используйте приложение Microsoft Remote Desktop из магазина Windows вместо версии, встроенной в Windows. У него есть опция, которую вы должны включить при первом подключении, чтобы «обновить разрешение удаленного сеанса при изменении размера», которое останется включенным для последующих подключений.

Бен
источник
0

Вы можете использовать WSL в Windows и установить freerdp2-x11 (я использую debian): apt update apt upgrade apt установить freerdp2-x11 export DISPLAY = localhost: 0.0

запустите xserver (например, vcxsrv) на вашем компьютере Windows xfreerdp / u: / v: / dynamic-resolution

После изменения размера разрешение корректируется. И это бесплатно :-)

Jeroen Bleeker
источник