66

I've recently upgraded my home workstation and now have four monitors on it. I work remotely most of the time and need some way to get remote desktop onto only two of those four monitors.

The top two monitors (monitors 4 & 3, going from left to right) each have a maximum resolution of 1680x1050. The bottom two monitors (1 & 2) each have a maximum resolution of 1920x1080.

In my .rpd file for this remote desktop connection, I have the following keys (I've clipped it for brevity) screen mode id:i:2 use multimon:i:1 desktopwidth:i:1920 desktopheight:i:2130 session bpp:i:32 winposstr:s:0,1,3,75,1655,675

Previously I was able to get away with just doing "mstsc /span" when I had only two monitors, but that isn't working now (and isn't desirable). I'd like for the new setup to only use two of my monitors. I don't really care which two. How do I alter the .rdp file to accomplish this?

  • This UserVoice feature request is exactly what you want. Vote for it and let Microsoft know our needs! – Franklin Yu Feb 28 '18 at 15:49
  • 1
    @FranklinYu You realize this was asked 6 years ago, yes? And that feature request has gotten only 10 votes in the 1 year that it's been up. Safe to say, if it isn't a feature by this point, it will never be. – b1nary.atr0phy May 9 '18 at 5:53

11 Answers 11

17

I use RDP full screened on 2 of my 3 monitors, my solution is actually really simple:

  1. Setup a Windows 7 or 8 VM (I use VirtualBox and Windows 7 Ultimate)
  2. Set the VM to use 2 of your 3 monitors and full screen
  3. Setup your VPN and RDP connections on the VM (And have the RDP connection use all of your monitors (2 virtual monitors)).

That's it, kind of over the top, but it takes very little time to set up a basic Windows VM and is easy to start/suspend.

I use my 2 monitors do do dedicated work, and my third for entertainment/music/netflix/etc...

  • 12
    Interesting solution, but an unnecessary resource suck. – Nick Jan 14 '16 at 20:57
15

I too have been looking for a solution to this problem which can't be resolved by the windows RDP client.

I work mainly remotely via RDP in full screen mode with all my 4 monitors but would like a few programs to run locally.

Usually these programs would play music or video which is not suitable for the remote machine and I would keep them to one monitor.

So a simple hack for me is to force those programs to be "On Top" all of the time.

I am using Dexpot and just right click the program window and select "Always On Top".

Now even in full screen RDP mode I can view my program window.

  • This is my exact use case as well, and so far this is the best solution for me. – Garrett Jun 2 '16 at 19:48
  • Upon some further research, Always On Top is a program written in one line of AutoHotKey script - I found the author's blog and downloaded AHK myself which I'm a little more comfortable with than some random exe. – Garrett Jun 2 '16 at 19:57
  • 5
    AutoHotKey: ^SPACE:: Winset, Alwaysontop, , A – Sam Mackrill Jul 14 '17 at 9:16
  • This solution in tandem with the comments by Garret and Sam worked perfectly for me. Thanks. – Martin Oct 19 '17 at 10:26
  • This PowerShell script works well for keeping specific windows (including RDP/VM connections) on top. I'm using this to span a Virtual Machine to all monitors and then have another Virtual Machine "on top" using a single monitor. This provides me with a 70/30 split on 3 monitors. github.com/bkfarnsworth/Always-On-Top-PS-Script – twconnell Jun 18 at 9:50
9

This is unfortunately not possible. Believe me, I tried really really hard. There are articles saying that you can limit the number of monitors, but that does not work. Microsoft obviously didn't test the functionality at all and they can't be bothered to fix it.

Until they fix the bug, it is either one monitor or all of them.

I will try some alternatives and see whether I can come up with some third party solution that actually works, other than switching to Linux/VNC, that is.

  • Are you sure "limit the number of monitors" by gpo wont work? where did you apply the gpo to? your local pc or target pc? – Root Loop Jun 6 '17 at 0:11
  • @RootLoop: I actually tried both, but the behavior was still the same. This was a couple years ago, I think the systems I worked with at the time were Windows 7 and 8. Do you have a different experience? I would be happy to edit the answer if the behavior has changed. – JohnEye Jun 6 '17 at 11:29
3

Open the Run dialog (Win+R) and type desk.cpl. Then find the number of the screen you would like to edit.

Change the 1 in use multimon:i:1 to the screen number desired. Also, change the resolution:

desktopwidth:i:1920
desktopheight:i:2130

to

desktopwidth:i:1680
desktopheight:i:1050
2

Well, I think it is a design flaw. They simply didn’t design the ability to use only some of the available monitors. There is a possibility to circumvent this though, by limiting the number of allowable monitors per session in the RDP-Tcp properties of the remote desktop services host. See this article.

Unfortunately, this is also an “all or nothing” option. It limits the number of monitors for all users of the RDS host. Then you must be able to control which monitors to use through the “desktopwidth” and “desktopheight” parameters of the rdp file. What really is needed, though, is to be able to define how many monitors you are willing to use in the RDP file on the client but currently this is not possible.

  • 1
    This doesn't actually work. Setting it to 2 on the host, and then connecting with a three monitor machine (with use all monitors turned on) forces it to use just one monitor. – BrainSlugs83 Nov 4 '15 at 21:12
2

For me mRemoteNG (https://mremoteng.org) is the solution. I stretch the panel on two monitors and set the RDP connection resolution to 'fit to panel'. I have two 1920x1200 monitors covered by the mRemoteNG and the 3rd monitor (the surface pro 3 main screen) with local content.

  • I like this ok - seems like the only decent workaround mentioned here. Thanks. – SamAndrew81 May 10 at 0:05
0

I've had this problem for a while and I have found a "hack" that solves it for me. Change the size properties in the .rdp file to a value that is nearly that of the two monitors you'd like to use. I Have three 1200*1920 monitors in portrait mode an theese values work for me:

use multimon:i:0 desktopwidth:i:2390 desktopheight:i:1840

This creates a window that i can position on two screens (with space set aside for the taskbar and the window borders. This leaves me with two minor issues:

  1. I've not found a way to start the RDP window full size (I must resize it after opening the connection)
  2. The host does not relaize that there are two screens so maximize will fill both screens and dialogs open across the screen border
0

I found a workaround using

  1. RDP settings
  2. DisplayFusion on your desktop
  3. Splitview on your remote desktop

I have four monitors including the laptop screen and wanted to use just two of the four for rdp window.

  1. Used DisplayFusion to create a custom function (under settings >> Add custom Fuction
  2. Function Action = Manage Window
    Window Screen action = Move window to Window # and size proportionally
    Change Window width to Specified pixel value = 2560 (since my monitor was 1280X1024)
    Change Window height to Specified pixel value = 1024
    Added a shortcut

Now in RDP settings (edit as notepad add smart sizing:i:1 at the bottom)

Now once you open the window (use the shortcut to maximize or stretch it across two screens)
In your remote desktop use Splitview or other screen splitting apps to split the desktop into two.

It is not pretty, but a workaround.

0

I have found a work around that is clean enough for me:

  • Deselect option to use all screens
  • Edit in notepad and

    1. set the resolution width to be 2x your screen resolution minus few pixels (-30 works for me)
    2. set the resolution heights to be 1x your screen resolution minus about 50 pixels

Save and then go back into settings, de select the option to use all screens again and pick above your defined resolution.

Launch and extend manually the window to cover the 2 desired screens.

  • 1
    Does not work. Window will not resize onto the second screen. It's stuck to just the first one. – Brian Knoblauch May 4 '18 at 17:10
0

Best functional answer is to use DisplayFusion locally & SplitView on Remote machine, as outlined in this answer. But this just isn't practical for most people.

Microsoft's UserVoice feature Request for:

Allow ability to choose subset of local monitors for RDP session (full screen)

has 463 votes as of this writing, which is also highest # of votes currently in UserVoice for any feature related to Remote Desktop Services. Please go vote!

-1

A work around is to go into display settings and disable 2 monitors. Then connect using RDP to the remote host with the "use all my monitors for remote session" option enabled, this will connect you using only 2 monitors, and then come back to settings and re enable the rest of the monitors. Now your resolution on the remote session will be set to 2 monitors but you will have to stretch the window on the 4 monitor host to see both monitors

  • 2
    This does NOT work. Enabling the rest of the monitors after RDP is connected causes the RDP sessions to be "restored" and when they are maximized, it takes up all the monitors including the newly enabled/connected monitors – thilina R Mar 1 '16 at 22:24

Not the answer you're looking for? Browse other questions tagged or ask your own question.