Is there any way to make Remote Desktop v6 open on a specific monitor in a dual monitor setup?
I know it supports dual monitors and it is easy to make it use both monitors, but what I really want is for all of my RDP sessions to open on my secondary monitor. I save all of my frequently used connections in .RDP files and currently I have a mish-mash where some open on my primary and other on my secondary monitor.
In browsing through the RDP file I can't discern what setting is controlling this (I suspect it is not in this file).
So, how do I control this? I'm running Win7 as my client by the way, and connecting almost exclusively to Server 2008 R2 machines.
There are screen position and mode options in the RDP file which control this by setting the RDP Client window position and size but there aren't explicit options that specify which monitor, you will have to work with the settings and choose ones that deliver the results you want on your combination of monitors. You can also independently set the remote desktop width and height within the window area you define.
The key settings are
The l,t coordinates are relative to the standard Windows origin where (0,0) is the upper left of the virtual desktop and the r,b values are absolute width and height so:
Opens up a 800x600 window 100 pixels in from the left edge of your leftmost monitor and 100 pixels down from the upper edge.
The Screen Mode option tells the TS Client to open in either Windowed or Full Screen mode
Set x to 1 for Window mode and 2 for the RDP "Full Screen" mode. The TS client will choose the best monitor in the latter mode depending on which physical monitor has the best overlap with the t,l,r,b requirements in the winposstr setting.
The remote desktop size is set by the following two rdp file settings.
Where x and y are the dimensions of the desktop you want in pixels. Obviously if this is larger than the window size you choose you will have scroll bars to deal with and if it's smaller then you will have unused space around the desktop. If you are opting for a Windowed mode then the Window size you choose must be larger than the remote desktop size by some number of pixels that will vary depending on the dpi of your desktop but traditionally this would have been about 6 extra pixels in width and 27 or so in height (for the title bar).
The Remote Desktop Blog has an article on this that you can find here. There is some detailed additional in depth analysis of the interrelationship between these settings in this article on the Ohman Automation Corp website.
Analyzing the .rdp File
The .rdp file contents will look like this:
Look for the keyword winposstr. The most important parameters are the numbers after winposstr. Ignore the initial ":s:0,1," and focus on the last four comma-delimited numbers.
The last four numbers express, in pixels, the position of the left, top, right, and bottom edges of the remote session window.
The numbers actually refer to the window position when the window is restored, but the pixel position of the left edge of the window is important because it also determines the monitor that the remote session will use when the window is maximized.
Calculating the Values for winposstr
The numbers that you will use depend on how many monitors you have, the screen resolutions of each, and which monitor you have selected to be your primary monitor.
Left edge position determines the monitor
The first of the last four numbers, which is the most important, indicates the position of the left edge of the window. If your primary monitor is in the center and you have monitors to the left and right, you will use a negative number for the monitors to the left, and a positive number for the monitors to the right.
For example, if you have two monitors to the left that each have a resolution of 1680 x 1050, use -1680 to place the session window on the monitor to the immediate left, and double that (-3360) to place the window on the leftmost monitor.
If your primary monitor has a resolution of 1200 x 1920, use 1200 to place the window on the monitor on the immediate right. This works because that pixel position is where the primary monitor leaves off (and the monitor on the right begins).
If you have two monitors on the right with a resolution of 1680 x 1050, and want to place the window on the rightmost monitor, simply add 1200 to 1680 to get 2880.
Top and Bottom Edges The other numbers only really come into play when the window is restored (not maximized) and can be adjusted to taste.
The second number (third from the end) indicates the topmost edge of the window, so you can leave this number at 0 unless you have special requirements. The fourth (last) number is the vertical resolution (=bottom) of the window. You can leave this at the maximum vertical resolution of the monitor, as in the examples above.
Right Edge The right edge of the window is expressed by the next to the last number. Unless you prefer otherwise, this can be set to the same size as the maximized window. Following the monitor resolution examples above, here are the calculations:
I was trying to fix this same issue myself today and kept finding variations of these directions but could not get them to work. For anyone else that has been having difficulty with the 'Winposstr' solution I found a much simpler work around that has given me zero issues so far and accomplishes the same thing. I am using Windows 10.
Look for or add the 'selectedmonitors:s:' line to your RDP configuration file and simply enter the primary display first.
To get your monitor's display # open a command prompt and run the command "mstsc /l". This will return a window listing your monitor ID #'s and positions - Note that these will not be the same numbers you see in your display settings.
In my case I have three monitors and received back:
Since I only want to use two specific monitors for this particular connection (0 and 2), and I want monitor '2' to be the primary monitor my configuration now shows: