1/17/2016

OSX, using RDP to autoscale resolutions

The Microsoft RDP client mtsc can be used to connect to a remote OSX desktop, if the iRAPP terminal service is installed and running. This has many advantages over traditional VNC or Screen Sharing. Pixels are normally displayed 1:1 unless the RDP client profile for the connection is manually edited in a text file editor to enable "auto-scaling" of the connection based on client drag and drop re-sizing of the remote window corners. This is how to do that.

screen mode id:i:1
use multimon:i:0
desktopwidth:i:1280
desktopheight:i:1024
session bpp:i:16
winposstr:s:0,1,60,1,1280,1054

 ...
smart sizing:i:1

Basically screen mode, winposstr and ["smart sizing"] are the only RDP settings that matter for initiating the osx-server connection window state.

The "smart sizing" value is new and cannot be set by any of the GUI edit fields in the RDP "Edit" mode. To set it you must open the RDP profile for the connection in a text editor like notepad and save the changes.

RDP profiles are "saved" configurations for a connection that can hold destination, username at logon time and even a semi encrypted password from the last session. They are created by running the RDP client [%windir%\system32\mstsc.exe] and choosing ["V" Show Options] instead of pressing the [Connect] button. Then "tabbing" through the options to pick and choose settings, finally returning to the first tab and selecting [Save As..] -- by default the profile will be given a name and placed in your "Documents" or "My Documents" folder depending on the version of windows your running (they are essentially the same location).

All files with the extension .rdp are automatically "opened" with the [%windir%\system32\mstsc.exe] RDP client program. Depending on your selections in the profile it can completely automatically open a connection with a remote osx-server. Short-cuts to these profiles can then be placed in the Start Menus or on the Taskbar to simplify quickly connecting to a remote system.

In the first image below the window is opened normally, when "auto-scale" is turned on it automatically resizes the window to a pixel ratio of [osx-server:windows-client] of  [1:1]


But with "auto-scale" enabled, a Microsoft Windows desktop mouse can "GRab" any corner and initiate a "re-scale" of the same number of [osx-server] pixels to "fit inside" the re-defined [windows-client] window.

The effect is that the pixels can be "crushed" or "densified" or "squished & stretched" into non-rectangular blocks. But this can be very useful when multiple client windows to different osx-server instances are being managed simultaneously. They can be instantly resized  or "zoomed-down" to maintain a live window without taking up the entire desktop space.

It is possible to resize osx-server windows into randomly small windows "temporarily" and then "double-click" their title bar to instantly [Pop] them back to Full Size.. and double-click again to return them to their former, "smaller" scaled "recessed" state. The autoscale only works one-way however.. you can re-size the windows "smaller" but they can never be "enlarged" beyond their 1:1 value. When the osx-server windows are at 1:1 that is as big as they can get.


One of the really cool things about this is the running [resolution] of the osx-server console can be "really" high and yet the full desktop can still be seen on a lower or smaller screened desktop client.

And with the other profile attributes you can make sure "the volume" is turned down on "first connection" so that it doesn't whallop you with a Massive 1:1 scale in your face at first sight.