Remote Desktop укажите монитор для открытия

Можно ли как-нибудь открыть Remote Desktop v6 на конкретном мониторе в настройке с двумя мониторами?

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

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

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

4 ответа

Решение

В файле 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 Blog есть статья, которую вы можете найти здесь. В этой статье на веб-сайте Ohman Automation Corp. приведен подробный дополнительный анализ взаимосвязи между этими настройками.

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

Содержимое файла .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

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

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

Найдите или добавьте строку selectedmonitors: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

Ответы, в которых используются координаты экрана, сложны для реализации и не работают должным образом, если вы часто переключаетесь между различными настройками экрана (например, хотдескинг или гибридная работа) или если вы хотите поделиться файлом 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
Другие вопросы по тегам