How do I open a remote desktop session on a secondary monitor?

162,033

Solution 1

Here's complete guide from Microsoft on how to do it: http://social.technet.microsoft.com/wiki/contents/articles/665.how-to-set-the-monitor-for-a-remote-desktop-session-in-a-multi-monitor-setup.aspx

Try this:

winposstr:s:0,1,2142,150,2942,750

It worked for me

Solution 2

Open the RDP file in a text editor, find the

winposstr:s:0,1,xpos,ypos,width,height

Change the xpos and ypos in the RDP file and save it.

You can then have the window open consistently where you want it.

Solution 3

The other answers which mentioned editing the winposstr setting in the .RDP file seemed promising but I was confused by the explanation of how the position values should be calculated.

The TechNet article How to Set the Monitor for a Remote Desktop Session in a Multi-Monitor Setup has a good explanation.

By the way, the article uses clearer names for the positions, I think, that have been used in other answers here: "winposstr:s:0,1,left,top,right,bottom", where horizontal values are measured from left to right and vertical values from top to bottom.

As far as I can see, from the article and from experimenting with a RDP file in Windows 8.1, here's how to edit the .RDP file to maximize an RDP session on a particular monitor:

1) Determine the left and right edges of each of your monitors, based on their resolution and which monitor is the primary one. In my case, my monitors are:

Left hand = Primary, 1680x1050;

Right hand = Secondary, 1920x1200.

So the edges of the two monitors will be:

Primary (left) monitor: Left edge: 0, Right edge: 1679 (not 1680 because the horizontal position is 0-based, not 1-based);

Secondary (right) monitor: Left edge: 1680, Right edge: 3599 (1680 + 1920 - 1, since the position is 0-based).

Note that if the secondary monitor is to the left of the primary one, the left edge of the secondary monitor will be a negative value.

2) Edit the winposstr setting in your .RDP file to set both the left and right values to positions that are on the same monitor. It doesn't matter what those values are if the RDP window is always going to be maximized, as long as they are on the same screen. The top and bottom values aren't important, if you're just going to maximize the RDP window.

So to display the RDP window on my primary, left-hand, monitor I could set:

winposstr:s:0,3,700,0,1500,600

And to display it on my secondary, right-hand, monitor I could set:

winposstr:s:0,3,2000,0,3000,600

3) Edit the screen mode setting in your .RDP file to maximize the RDP window:

screen mode id:i:2

4) Try it out. If the RDP window still doesn't appear maximized, despite setting "screen mode", set the desktopwidth and desktopheight settings in your .RDP file to the same width and height as the monitor the RDP window is displayed on.

Solution 4

I am on Windows 7 and none of the above suggested methods worked for me. Mind you I was using a preconfigured RDP shortcut that I downloaded from Amazon EC2, which I guess is where the problem lies so if you're trying to fix this problem within a similar setup to mine here's the steps I took to fix it

  1. Run Remote Desktop Connection (do NOT use your preconfigured RDP session file)
  2. Move the RDP dialogue to the monitor you want your session to be appearing
  3. Click more options
  4. Manually input details (hostname, account etc)
  5. If you want to persist the fix so that your previously broken shortcut always works as you intended it to click Save As and overwrite the RDP session file that you want to fix
  6. Click connect to connect to the remote host

If you close the session and run your shortcut file the session should now come up in the desired monitor and the correct resolution (which was another problem I was having before, i.e. I could move the session between monitors but it'd be a pain to sort out the resolution)

Hope this helps!

Solution 5

A simpler way to do it is

  1. Run Remote Desktop Connection (DO NOT EDIT RDP FILE)

  2. Move the RDP dialogue to the monitor you want your session to be appearing

  3. Click 'DISPLAY' tab and drag the slider to the extreme right for a full screen view

... It was that easy

Share:
162,033

Related videos on Youtube

Kez
Author by

Kez

I work in IT but between you and me, I hate computers with a passion. I'm not your average IT geek. Worked in IT since 1999, gained a couple of certifications with Microsoft and next up is Cisco's CCNA. Gulp.

Updated on September 17, 2022

Comments

  • Kez
    Kez over 1 year

    How do I open a remote desktop session on a secondary monitor (in full-screen)? It always seems to want to open on the primary one and I cannot find a switch which lets me choose.

    Is there a known solution or workaround for this?

    • Admin
      Admin about 10 years
      4 years on and this is still a pain. Just a comment and not even proper full screen either (you get a tab bar at the top) but I started using RD Tabs instead of the built in RDP client and problem solved for me. Fab piece of free software if you spend most of your time in RDP sessions to multiple servers, etc.
  • Admin
    Admin over 14 years
    Opened remote desktop, restored it, moved it to secondary monitor, closed it, reopened with the /f switch to make it open fullscreen on the secondary monitor. Works a treat, thanks.
  • Admin
    Admin over 14 years
    +1 No idea if there is a smarter way, but this is how I do it as well.
  • Admin
    Admin over 14 years
    Great to hear it! I found this out with Outlook one day.
  • Admin
    Admin over 11 years
    You can also use Ctrl+Alt+Break to toggle full screen mode, once you have it on the secondary monitor according to @kez' comment above.
  • JMD
    JMD over 11 years
    I'm playing with this on Windows 8 and the only time it obeys those numbers is when the window is a window, not fullscreen, using "screen mode id:i:1". (2=fullscreen) And no matter what I set xpos to it refuses to place the window on the second monitor. It's bizarre. Any xpos greater than my "main" monitor's width, i.e. to push it onto the second, is overridden back to 0 when I open the connection. Frustrating.
  • JMD
    JMD over 11 years
    I expected this to work, and I'm sure I've seen this behaviour (maybe in XP?) but, fwiw, it's not working in Windows 8.
  • JMD
    JMD over 11 years
    I tried this as well, to no avail in Windows 8.
  • JMD
    JMD over 11 years
    Despite the downvotes, @Ivan is right. In Windows 8, none of the other answers worked. Shane Vincent's answer was very close, but not quite there. It turns out, in Windows 8, the winposstr property works like this: "winposstr:s:0,1,xpos,ypos,xpos+width,ypos+height" The last four numbers are all absolute numbers, not "left, top, width, height" as you might expect.
  • Julian
    Julian about 11 years
    This worked great for me using it to move it to my secondary, left monitor. Doing so required me to use negative values. I can also confirm that Windows 8 does require absolute numbers for the winposstr field.
  • awe
    awe about 11 years
    See JMD's comment on Ivan's answer. The format should be winposstr:s:0,1,xpos,ypos,xpos+width,ypos+height. This worked perfect for me.
  • Admin
    Admin almost 11 years
    Doesn't work (Win8)
  • Admin
    Admin almost 11 years
    @jao, can you please be more specific?
  • Admin
    Admin almost 11 years
    When I do what you say, it just doesn't work. It still opens on the wrong monitor.
  • Larry
    Larry over 10 years
    This is the best solution IMHO.
  • Admin
    Admin over 10 years
    Works when I run "mstsc /f" but not if I later connect to the same server via double-clicking on an *.rdp file. For some reason whenever I double-click on an *.rdp file it opens in the secondary monitor, regardless of whether when I was previously connected I'd moved the window and maximized it on my primary monitor before closing the session.
  • Admin
    Admin over 10 years
    @SimonTewsi Inside the RDP file is a line called winposstr which you may be able to tweak. See Shane's answer below.
  • Ƭᴇcʜιᴇ007
    Ƭᴇcʜιᴇ007 about 10 years
    So your solution to making it appear on the a Secondary display instead of always displaying on the Primary, is to change which display is Primary? Interesting approach. ;)
  • Admin
    Admin about 10 years
    this works for me, except that I also have to slide the resolution bar to "Full Screen" (away from full screen and back if it's already there). Sliding the resolution bar seems to trigger it to change the "full screen" monitor from the one it was previously set to to the one that it is opening on. Without this, while it does open in the new position, it still full screens to the old monitor.
  • SUMIT
    SUMIT about 10 years
    This might seem a pretty low tech solution but it was the only one that actually worked for me. Several answers mentioned modifying the winposstr settings in the RDP file but those settings are not intuitive in Windows 8, despite the various explanations in other answers here. For example, the consensus is the format of winposstr is "winposstr:s:0,1,xpos,ypos,xpos+width,ypos+height" and yet what works for me, to maximize the session on my secondary monitor, is "winposstr:s:0,3,2160,0,2960,600", where my primary (left) monitor is 1680x1050 and my secondary (right) monitor is 1920x1200. ??
  • SUMIT
    SUMIT about 10 years
    I still think something is missing in these explanations of the winposstr format. My primary monitor is 1680x1050 and my secondary is 1920x1200. Following oxyscythe's answer, below, I found the winposstr in the new RDP file was "winposstr:s:0,3,2160,0,2960,600". How do we get from xpos/xpos+width to 2160/2960 and from ypos/ypos+height to 0/600, given the dimensions of the two monitors?
  • Adam Jensen
    Adam Jensen about 9 years
    +1 This was necessary for me on Windows 7. Even changing the primary display to be the secondary screen did not make the "fullscreen" setting use the secondary display's resolution. However, bringing the slider down from "fullscreen" revealed that the secondary screen's resolution was available.
  • Dan
    Dan about 9 years
    Finally this problem is solved! Thank you very much!
  • Admin
    Admin over 8 years
    Verified, working on Windows 10 Home x64.
  • Davidenko
    Davidenko over 8 years
    How does this answer differ from @user3463 answer? Please delete it.
  • Hoàng Long
    Hoàng Long over 8 years
    very detailed explanation, but requires quite some math though.
  • Hoàng Long
    Hoàng Long over 8 years
    @SimonTewsi: according to my calculation, your value should be 0,3, (1680, 0, 3599, 1200) The pitfall here is that when it calculate the position, you must pretend 2 monitor stand next to each other, and use the same (x, y) system. Credit goes to Simon's answer (oh, it's you).
  • Vojtěch Dohnal
    Vojtěch Dohnal over 7 years
    No longer works on Windows 10.
  • Jason
    Jason about 6 years
    This is the correct answer. Might want to specify that you should save a .rdp file to add these settings. The rdp file can be pinned in Windows 8+.
  • Admin
    Admin about 6 years
    This doesn't work when you have to open the window with an .RDP file, like when you need specific settings / passwords for connecting to an RDS server. Ivan's answer works.
  • Admin
    Admin almost 6 years
    This worked for me. It opened on the wrong monitor, I unmaximized it, moved it to the correct monitor, then maximized. I then disconnected, and started it again, and it came up full screen on the correct monitor.
  • BlackTigerX
    BlackTigerX almost 5 years
    That link is gold
  • northern-bradley
    northern-bradley almost 5 years
    my monitor 1 is 1920 wide so i just added 2000 (nice quick + easy maths) to xpos and xpos+width values to put it anywhere on monitor 2 and then have it open at full screen. i'm hoping that if i move desks/docks then the rough +2000 will put it on monitor 2 regardless 🤞
  • Admin
    Admin over 4 years
    For anyone trying to follow the comment from @ehdr who doesn't have a BREAK button on their keyboard, PAUSE will do instead i.e. use CTRL+ALT+PAUSE to toggle full screen mode.
  • Vaibhav Garg
    Vaibhav Garg almost 3 years
    For Asus Duo (dual-screen laptops), you can get the remote desktop to open on the second screen by using winposstr:s:0,3,0,1080,1920,1630