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?

link|improve this question

67% accept rate
Sorry, can't pick an answer yet. There must be some hack to allow this. – zimmer62 Jan 25 '10 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 – Kalmi May 14 '10 at 9:41
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 May 14 '10 at 13:28
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. – Kalmi May 14 '10 at 15:38
feedback

6 Answers

Unfortunately you can't adjust the resolution once you are connected (not via the regular methods anyway). As far as I know you can only change it in the RDP properties before you connect.

link|improve this answer
I was afraid of this... I'd be up for some unconventional methods if possible. There are about 3 resolutions I'd like to run at, and I don't really want to reconnect each time. One of the main reasons for this, is I will RDP to a PC and I'll have that on my right most monitor when I'm just kind of watching what's going on, but when I work on it for a period of time, I like to move it to my main monitor. This means a different resolution, and becomes a pain to have to disconnect and reconnect just becuase I'm moving the window from one screen to another. – zimmer62 Jan 20 '10 at 22:03
1  
I think you're stuck. Perhaps picking a resolution that's slightly smaller than your smaller monitor and running the RDP client not in 'full screen'? That way even when it's full size it's still in a Window that you can drag around. – techie007 Jan 20 '10 at 22:15
feedback

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.

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.

link|improve this answer
feedback

You may want to consider VNC, I believe it can be configured to use windows authentication and supports scaling the window in which the clients desktop can be seen(and also changing the hosts resolution without breaking the connection.). I realise this isn't necessarily convinient but its worth thinking about!

http://en.wikipedia.org/wiki/UltraVNC

link|improve this answer
I've used it in the past, but all in all RDP works better for me, just this one little thing. VNC might solve this one little thing, but this annoyance isn't worth changing. – zimmer62 Jan 21 '10 at 0:10
feedback

I don't have a solution (I came to this thread via google looking for a "on-the-fly"solution myself), but reading about your specific issue, I have a possible workaround.

Create two shortcuts with different resolutions that auto-login. Also on the remote server/PC, create a logoff button, so you're just one click away from a clean logoff.

Search for it if you haven't done it before, grc.com has a little tool that can accomodate this with a /force option which can be helpful sometimes, depending a bit on what type of servers you're dealing with.

With that, you're two clicks away from relaunching a new session in the resolution you want, and if you have decent speed on the network, it will be close to instanenous.

link|improve this answer
feedback

I have successfully resized a session by disconnecting and the reconnecting to the same session. For example, I may start a session from my iPod Touch that sets it up with only 800x600, and then disconnect from that session and reconnect from laptop when I'm back in my office. It's the same session in RDP manager, but now the resolution is higher.

Aside from disconnecting, I don't think it's possible though.

link|improve this answer
feedback

i workaround by changing the resolution of the server. eg. right-click on desktop, properties, settings, screen resolution.

it's a pretty crap solution.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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