Назад | Перейти на главную страницу

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

Есть ли способ открыть удаленный рабочий стол v6 на определенном мониторе в настройке с двумя мониторами?

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

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

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

В файле 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 пикселей вниз от верхнего края.

Опция Screen Mode указывает клиенту 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 или около того в высоту (для строки заголовка).

В блоге удаленного рабочего стола есть статья об этом, которую вы можете найти Вот. Существует некоторый подробный дополнительный глубокий анализ взаимосвязи между этими параметрами в эта статья на сайте 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