Удаленный рабочий стол укажите монитор, на котором нужно открыть

Удаленный рабочий стол укажите монитор, на котором нужно открыть

Есть ли способ открыть Remote Desktop v6 на определенном мониторе в конфигурации с двумя мониторами?

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

Просматривая файл RDP, я не могу определить, какой параметр этим управляет (подозреваю, что его нет в этом файле).

Итак, как мне это контролировать? Кстати, я использую Win7 в качестве клиента и подключаюсь почти исключительно к машинам Server 2008 R2.

решение1

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

Ключевые настройки:

winposstr:s:0,m,l,t,r,b
m = mode ( 1 = use coords for window position, 3 = open as a maximized window )
l = left
t = top
r = right  (ie Window width)
b = bottom (ie Window height)

Координаты l,t относительны стандартного начала координат Windows, где (0,0) — верхний левый угол виртуального рабочего стола, а значения r,b — абсолютные ширина и высота, поэтому:

winposstr:s:0,1,100,100,800,600

Открывает окно размером 800x600 на расстоянии 100 пикселей от левого края самого левого монитора и на 100 пикселей ниже верхнего края.

Параметр «Режим экрана» позволяет клиенту TS открыться в оконном или полноэкранном режиме.

screen mode id:i:x

Установите x на 1 для режима окна и на 2 для режима RDP "Полный экран". Клиент TS выберет лучший монитор в последнем режиме в зависимости от того, какой физический монитор имеет наилучшее совпадение с требованиями t,l,r,b в настройке winposstr.

Размер удаленного рабочего стола задается следующими двумя параметрами файла RDP.

desktopwidth:i:x
desktopheight:i:y

Где x и y — это размеры рабочего стола в пикселях, которые вы хотите получить. Очевидно, что если он больше выбранного вами размера окна, вам придется иметь дело с полосами прокрутки, а если меньше, то вокруг рабочего стола останется неиспользуемое пространство. Если вы выбираете оконный режим, то выбранный вами размер окна должен быть больше размера удаленного рабочего стола на некоторое количество пикселей, которое будет зависеть от dpi вашего рабочего стола, но традиционно это было бы около 6 дополнительных пикселей в ширину и около 27 в высоту (для строки заголовка).

В блоге Remote Desktop есть статья на эту тему, которую вы можете найтиздесь. Существует некоторый подробный дополнительный углубленный анализ взаимосвязи между этими параметрами вэта статья на сайте Ohman Automation Corp..

решение2

Анализ файла .rdp

The.rdpСодержимое файла будет выглядеть так:

screen mode id:i:2
use multimon:i:0
desktopwidth:i:1680
desktopheight:i:1050
session bpp:i:32
winposstr:s:0,1,-1680,0,-115,1050
[….]

Найдите ключевое словоwinposstr. Наиболее важными параметрами являются числа после winposstr. Игнорируйте начальные ":s:0,1" и сосредоточьтесь на последних четырех числах, разделенных запятыми.

Последние четыре числа выражают положение в пикселях.слева, сверху, справа, инижнийкрая окна удаленного сеанса.

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

Расчет значений для winposstr

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

Положение левого края определяет монитор

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

Например, если слева у вас два монитора, каждый из которых имеет разрешение 1680 x 1050, используйте-1680чтобы поместить окно сеанса на мониторе непосредственно слева, и удвоить его (-3360) для размещения окна на крайнем левом мониторе.

winposstr:s:0,1,**-1680**,0,0,1050

winposstr:s:0,1,**-3360**,0,-1680,1050

Если ваш основной монитор имеет разрешение 1200 x 1920, используйте 1200, чтобы поместить окно на монитор справа. Это работает, потому что эта позиция пикселя находится там, где заканчивается основной монитор (и начинается монитор справа).

winposstr:s:0,1,**1200**,0,2880,1050

Если у вас справа два монитора с разрешением 1680 x 1050 и вы хотите разместить окно на самом правом мониторе, просто сложите 1200 и 1680, чтобы получить 2880.

winposstr:s:0,1,**2880**,0,4560,1050

Верхний и нижний края. Остальные числа по-настоящему вступают в игру только тогда, когда окно восстановлено (не развернуто), и их можно настроить по вкусу.

Второе число (третье с конца) указывает на самый верхний край окна, поэтому вы можете оставить это число на 0, если у вас нет особых требований. Четвертое (последнее) число — это вертикальное разрешение (=низ) окна. Вы можете оставить его на максимальном вертикальном разрешении монитора, как в примерах выше.

winposstr:s:0,1,1200,**0**, 2880,**1050**

Правый край Правый край окна выражается предпоследним числом. Если вы не предпочитаете иное, его можно установить на тот же размер, что и развернутое окно. Следуя примерам разрешений монитора выше, вот расчеты:

Monitor Right Edge Calculation      Winposstr Value
Leftmost    -3360 + 1680 = -1680    winposstr:s:0,1,-3360,0,**-1680**,1050
Immediate left  -1680 + 1680 = 0    winposstr:s:0,1,-1680,0,**0**,1050
Immediate right 1200 + 1680 = 2880  winposstr:s:0,1,1200,0,**2880**,1050
Rightmost   1200 + 1680 + 1680 = 4560   winposstr:s:0,1,2880,0,**4560**,1050

решение3

Я пытался исправить эту же проблему сегодня и продолжал находить вариации этих указаний, но не мог заставить их работать. Для тех, кто еще испытывал трудности с'Winposstr'решение Я нашел гораздо более простой способ, который до сих пор не дал мне никаких проблем и выполняет то же самое. Я использую Windows 10.

span monitors:i:1
multimon:i:1
selectedmonitors:s:0,1,2

Найдите или добавьте'выбранныемониторы:s:'строку в файл конфигурации RDP и просто введите сначала основной дисплей.

Чтобы получить изображение на вашем мониторе # откройте командную строку и выполните команду"mstsc /l". Это вернет окно со списком идентификаторов и позиций вашего монитора -Обратите внимание, что это будут не те же цифры, которые вы видите в настройках дисплея.

В моем случае у меня три монитора и я получил обратно:

0: 1024  x 768; (-1024, 11, -1, 778)
1: 1920 x 1080; (2560, 11, 4479, 1090)
2: 2560 x 1440; (0, 0, 2559, 1439)

Поскольку я хочу использовать только два конкретных монитора для этого конкретного соединения (0 и 2) и хочу, чтобы монитор «2» был основным, моя конфигурация теперь выглядит так:

selectedmonitors:s:2,0

решение4

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

Настройки ниже изБлог Скотта ХансельманаМне это хорошо подошло:

screen mode id:i:2
span monitors:i:1
use multimon:i:1
selectedmonitors:s:1,2

Последняя строка — единственная, которую нужно подгонять под вашу ситуацию. У меня есть 3 экрана, и, запустив "mstsc /l" в меню запуска, я вижу, что они пронумерованы 0,1,2 слева направо, поэтому я могу выбрать между этими вариантами:

selectedmonitors:s:0,1 //first 2 screens
selectedmonitors:s:1,2 //last 2 screens
selectedmonitors:s:0,1,2 //all 3 screens
selectedmonitors:s:0 // first screen only
selectedmonitors:s:1 // second screen only
selectedmonitors:s:2 // third screen only
selectedmonitors:s:0,2 //this doesn't work so just does second screen

Связанный контент