59

I'm wondering if it's possible to resize the desktop on an RDP session on the fly

I realize you can do it before you connect, but I'm looking to resize it on the fly similar to how vmware works. If I have it in a window that's 800x600 I'd like the remote desktop to be resized to 800x600... but if I maximize my local window or go full screen, I'd like the remote desktop to assume the resolution of the local PC, or the window dimensions.

VMWare does this exactly how I want with an option called "use host settings for monitors"

As I scale the window, the desktop on the guest os scales, I'd like to do this on an RDP session?

Any ideas?

4
  • Sorry, can't pick an answer yet. There must be some hack to allow this.
    – zimmer62
    Commented Jan 25, 2010 at 21:19
  • I have created a wrapper around rdesktop which reconnects you with the new geometry whenever you resize the window. It is pretty much just a quick hack, but a really useful one. This is linux only, but I'm 100% sure, that this could be implemented on windows too. github.com/kalmi/rrdesktop Commented May 14, 2010 at 9:41
  • 1
    Restarting it seems like a pain, but I'm guessing it's the best possible solution for now. Being that something like vmware does it on the fly I would think with some sort of client software running on the remote might be able to aid the desktop size change without a restart. I'll look into seeing if an autoit script or a autohotkey script could help do this on the fly.
    – zimmer62
    Commented May 14, 2010 at 13:28
  • 1
    It is not a pain the way I implemented it. You provide your username and password on the command line. And whenever you resize the window, it will just restart the session and log you back in. It actually feels like resizing a vmware window. It becomes usable again in less than 2 seconds. Commented May 14, 2010 at 15:38

8 Answers 8

25

I am just putting this here for visibility, full credit to @Sevin7 for their comment above:

Use the Microsoft Remote Desktop app from the windows store instead of the version baked into windows. It has an option you have to turn on when making your first connection to "update the remote session resolution on resize" which will stay on for subsequent connections.

19

Smart sizing is now a full-blown feature of Remote desktop, but is "hidden" in the right click menu

enter image description here

Source: my (italian) article here (Google Translate)

Hope this help

2
  • 5
    I like that it supports this, but it's not exactly what I'm looking for. If you get a chance to see how VMWare does it, it will allow you to resize the desktop without scaling it.
    – zimmer62
    Commented Jul 15, 2014 at 13:15
  • I see what you mean now and I'm pretty sure it's not currently supported over RDP, even if it could actually be very useful. Commented Jul 27, 2014 at 8:46
15

This is implemented as a new feature called "Dynamic Resolution Update" and was introduced in Windows 8.1. As long as the resolution is set to "Full Screen" on the client, the desktop resolution will be kept in sync with the client.

One of the changes we’ve made as part of RDP 8.1 is the addition of a new message that can be sent from the client to the server to dynamically update the resolution inside the remote session to match what is available on the client without the need to do a complete reconnect of the session. Previously, we only set the remote resolution during the initial connection. With this change, the resolution is set at connect time and can be updated when the client-side resolution changes while the app is in full screen mode, or when the app transitions from windowed mode to full screen. The resolution change is quick enough to be practically the same as a local change.

See the announcement on the RDS Blog for more.

3
  • 14
    Dynamic resolution update works if you use 'Microsoft Remote Desktop' from the windows store, but there is no way to enable it using the standard windows desktop version remote desktop (mstsc). Unfortunately, the windows store RDP client is limited to a single session at a time!
    – Sevin7
    Commented Jan 19, 2017 at 11:29
  • 1
    @Sevin7, the desktop version of Remote Desktop (good ol' mstsc) will respond to resolution adjustments when maximized. For example, if you dock a laptop, a connected session will update to the new monitor size. This also occurs when maximizing to a differently sized monitor. The Windows Store version of Remote Desktop will resize on window resize, and does support multiple connections in tabbed mode, but not in multiple windows.
    – Mitch
    Commented Jan 19, 2017 at 23:23
  • 1
    Mitch: thank you for clarifying. The MS blog post mentioned that it should work if you start in fullscreen, but I couldn't get it to work because I do not have multiple monitors running different resolutions. I was trying to get it to adjust the resolution when resizing from fullscreen to non-full screen (windowed), which is something the windows store app does, but mstsc does not do.
    – Sevin7
    Commented Jan 20, 2017 at 10:09
9

You may want to look into the following setting in the RDP file:

smart sizing:i:1

Using smart sizing will allow you to scale your session and will remove scroll bars. You can try adjusting the display size before connecting to get a desired effects. It is not exactly what you are looking for, but the closest you will find for using the current implementation of RDP.

The only caveat here is that the desktop will still remain at the effective resolution that you start with. For example, if you start the desktop at 1024x768, you can resize it down (and it will scale down, becoming smaller and harder to read) all you want but you cannot resize it up to fully fill a 1080p screen. If you start with multiple monitors, and then bring it down to a single monitor, the RDP display will show the multiple desktops side-by-side, crammed together, in one window.

See here for a blog with further details.

As an aside, I have many times used the compiled list of RDP file settings from the University of North Carolina at Charlotte College of Engineering. Hope this helps.

1
  • 7
    I like smart sizing, but what I'm really looking for, is to have the resolution change without reconnecting.
    – zimmer62
    Commented Jul 15, 2014 at 13:17
1

I don't know of a way of resizing once the session is started with the standard RDP client. You can try mRemote which allows this with their "Smart Resize" option. (Caveat: mRemote's overview page reports that mRemote runs only on Windows XP and Windows Vista, not on linux.)

1
  • 1
    mRemote no longer exists. It was replaced by a commercial software. There's also mRemoteNG. Please update your post accordingly. Commented Oct 10, 2012 at 17:32
1

You can use WSL on Windows and install freerdp2-x11 (i use debian): apt update apt upgrade apt install freerdp2-x11 export DISPLAY=localhost:0.0

run a xserver (vcxsrv for example) in your Windows Computer xfreerdp /u: /v: /dynamic-resolution

After you resize, the resolution is adjusted. And it is free :-)

0

Xfreerdp supports this feature by default.

Two windows clients I found support this feature:

1
  • 1
    As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.
    – Community Bot
    Commented Apr 19, 2022 at 14:02
0

MobaXterm can do this when the RDP connection has "Autoscale" enabled under "Advanced Rdp settings":

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .