Connecting from Windows

Chapter 4 — Connecting to Windows from Windows

Chapter 2 covered enabling RDP on the host machine. This chapter goes deeper into the client side — getting the most out of mstsc (the built-in client), the Experience tab's performance presets, spanning multiple monitors, audio and device redirection, and RemoteApp for running individual Windows applications as if they were local. We also look at the modern Microsoft Remote Desktop app from the Store, which replaces mstsc for some workflows.

The Experience Tab — Performance Presets

The Experience tab in mstsc controls which visual effects are enabled during the session. On a fast LAN, keep everything on. Over a slower connection, disabling effects dramatically reduces bandwidth and makes the session feel more responsive.

LAN (10 Mbps or higher)
Everything enabled
Desktop background, font smoothing, desktop composition, window animations, themes, bitmap caching. Full visual experience — looks identical to sitting at the machine.
Broadband (2–10 Mbps)
Themes + font smoothing only
Desktop composition and animations disabled. Looks slightly flatter but remains comfortable. Good preset for home broadband or a business VPN connection.
Modem / slow link (< 2 Mbps)
Bitmap cache only
Everything visual is stripped out. Only bitmap caching (storing frequently-used screen regions locally) remains. Functional but spartan. For mobile data or a slow VPN.
Custom
Pick and mix
Manually tick each option. Recommended: keep bitmap caching always on — it caches repeated UI elements and significantly reduces redraws at no perceptible quality cost.
The single best setting for slow connections: disable the desktop background (wallpaper) and font smoothing — these two alone account for a large fraction of bandwidth. Keep themes and bitmap caching. The session will feel much snappier without looking completely bare.

Multi-Monitor Support

mstsc can span a remote desktop session across all your local monitors, making the remote machine feel fully integrated with your workspace:

Monitor 2
Monitor 1 (primary)
Remote desktop
spans both
# Use all monitors from the command line mstsc /multimon /v:hostname # Or in a .rdp file use multimon:i:1 screen mode id:i:2 # 2 = full screen # Span specific monitors only (by monitor ID) # Use mstsc /l to list monitor IDs on your machine mstsc /l
Monitor alignment matters. Windows requires all monitors in a multi-monitor RDP session to be the same resolution, or the session may only span correctly on matched displays. Mismatched resolutions can cause the remote desktop to appear on only one monitor or scale oddly. If this happens, switch to a single-monitor full-screen session and adjust display settings on the remote machine first.

Selective monitor spanning — choose which monitors to use

# selectedmonitors — comma-separated list of monitor IDs from mstsc /l selectedmonitors:s:0,1 # use monitor 0 and 1 only, skip monitor 2 use multimon:i:1

Audio and Device Redirection in Depth

Audio — three modes

# In a .rdp file — audiomode controls where remote audio plays audiomode:i:0 # Play on this computer (default) — audio comes out your local speakers audiomode:i:1 # Play on remote computer — audio stays on the server's speakers audiomode:i:2 # Do not play — no audio at all # Microphone redirection — send your local mic to the remote session audiocapturemode:i:1 # 1 = redirect microphone, 0 = no mic

Drive redirection

# In a .rdp file redirectdrives:i:1 # enable drive redirection drivestoredirect:s:C:\; # share local C: drive only drivestoredirect:s:* # share ALL local drives drivestoredirect:s:DynamicDisks # share USB drives as they are plugged in # On the remote machine, shared drives appear in File Explorer under: # This PC → philip on LAPTOP-NAME (\\tsclient\C)

Other device redirection

# Clipboard — almost always want this on redirectclipboard:i:1 # Printers — local printers appear in the remote session redirectprinters:i:1 # Smart cards (for corporate authentication) redirectsmartcards:i:1 # USB devices (requires RD Gateway or RemoteFX — not always available) usbdevicestoredirect:s:* # Webcam redirection (Windows 10 v1803+ with server support) camerastoredirect:s:*

The Complete .rdp File Reference

A .rdp file is plain text — every setting mstsc can save is a key:type:value line. Here is a complete working file for a power-user setup:

# work-pc.rdp — full-featured connection profile ## Connection full address:s:192.168.0.50 username:s:philip domain:s: # blank for local account prompt for credentials:i:0 # 0=use saved creds, 1=always prompt ## Display screen mode id:i:2 # 1=windowed, 2=fullscreen use multimon:i:1 # span all monitors desktopwidth:i:1920 desktopheight:i:1080 session bpp:i:32 # colour depth smart sizing:i:0 # 1=scale remote to fit window dynamic resolution:i:1 # resize remote when window resizes ## Performance connection type:i:7 # 1=modem … 7=LAN, auto-tunes experience networkautodetect:i:1 # auto-detect bandwidth bandwidthautodetect:i:1 bitmapcachepersistenable:i:1 # persist bitmap cache between sessions ## Audio / Video audiomode:i:0 # play audio locally audiocapturemode:i:1 # redirect microphone videoplaybackmode:i:1 # optimise video playback ## Devices redirectclipboard:i:1 redirectdrives:i:1 drivestoredirect:s:C:\; redirectprinters:i:1 redirectsmartcards:i:0 camerastoredirect:s:* ## Security authentication level:i:2 # 0=no auth, 1=warn, 2=require NLA enablecredsspsupport:i:1 # use CredSSP (NLA) disableconnectionsharing:i:0

RemoteApp — Running a Single Application Remotely

RemoteApp is an RDP feature available on Windows Server (and Windows 10/11 Pro with a registry tweak) that lets you publish a specific application instead of a full desktop. The app opens in a window on your local machine — it looks like a local app but runs entirely on the remote server, including all its data and processing.

RemoteApp — applications running on server, displayed locally server: 192.168.0.50

Instead of a full remote desktop, individual apps appear as windows alongside your local apps:

Excel 2021 (remote) SAP Client (remote) AutoCAD (remote) VS 2022 (remote)

Each app appears in the taskbar, can be minimised, maximised, and Alt-Tabbed to — users can't tell it isn't running locally.

Enabling RemoteApp on Windows 10/11 Pro (registry tweak)

# On the HOST machine — run PowerShell as Administrator # Enable RemoteApp on Windows 10/11 Pro (not available by default) New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" -Force Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" ` -Name "fDisabledAllowList" -Value 1 # Add an application to the allowed list New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\notepad" -Force Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\notepad" ` -Name "Path" -Value "C:\Windows\System32\notepad.exe"
# .rdp file for a RemoteApp session full address:s:192.168.0.50 remoteapplicationmode:i:1 # enable RemoteApp mode remoteapplicationname:s:Notepad # display name remoteapplicationprogram:s:notepad # the app alias in allowed list remoteapplicationcmdline:s:C:\docs\report.txt # optional: open a specific file username:s:philip redirectclipboard:i:1

Microsoft Remote Desktop App (Store) vs mstsc

Microsoft publishes a modern Remote Desktop app on the Microsoft Store (free) alongside the classic mstsc.exe. They connect to the same RDP servers — the difference is in the management experience:

mstsc.exe
Built-in · Win32 · all Windows versions
The classic client. No installation needed, supports all .rdp file settings, full command-line control, every advanced option exposed. The right tool for power users and scripted connections.
✓ Always available — no install needed
✓ Full .rdp file and CLI support
✓ RemoteApp, admin session, all flags
⚠ UI feels dated on high-DPI displays
Microsoft Remote Desktop
Microsoft Store · modern UI · free
Modern, clean UI with a PC/workspace manager. Designed for managing multiple connections — add PCs, organise into groups, configure once and connect with one click. Better on touch screens and high-DPI monitors.
✓ Better multi-connection management
✓ Workspace/RemoteApp integration
✓ Cleaner high-DPI scaling
⚠ Fewer advanced settings exposed in UI
⚠ Doesn't use .rdp files directly
Recommendation: use mstsc for scripted, automated, or advanced connections — particularly anything involving RemoteApp, custom .rdp files, or command-line flags. Use the Store app if you manage multiple RDP connections and want a cleaner UI for day-to-day interactive use.

Quick Reference — .rdp Key Cheat Sheet

KeyValuesPurpose
full address:s:host or host:portTarget machine
username:s:philipLogin username
screen mode id:i:1=windowed, 2=fullscreenWindow mode
use multimon:i:0 or 1Span all monitors
dynamic resolution:i:0 or 1Resize remote on window resize
session bpp:i:16, 24, 32Colour depth (bits per pixel)
connection type:i:1–7 (1=modem, 7=LAN)Network speed preset (sets experience flags)
audiomode:i:0=local, 1=remote, 2=noneWhere audio plays
audiocapturemode:i:0 or 1Redirect local microphone
redirectclipboard:i:0 or 1Clipboard sharing
redirectdrives:i:0 or 1Drive redirection
drivestoredirect:s:C:\; or * or DynamicDisksWhich drives to share
authentication level:i:0=none, 1=warn, 2=NLA requiredNLA enforcement
remoteapplicationmode:i:0 or 1RemoteApp mode
remoteapplicationprogram:s:app alias or full pathWhich app to launch in RemoteApp mode
Next — Chapter 5: xRDP. Windows has RDP built in. Linux doesn't — but xRDP adds a full RDP server to Debian and Ubuntu, letting you connect from any RDP client (mstsc, Remmina, the Store app) to a Linux desktop. Chapter 5 covers installing xRDP, choosing a desktop session, connecting from Windows, and fixing the most common colour/display issues.