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:
# 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
| Key | Values | Purpose |
| full address:s: | host or host:port | Target machine |
| username:s: | philip | Login username |
| screen mode id:i: | 1=windowed, 2=fullscreen | Window mode |
| use multimon:i: | 0 or 1 | Span all monitors |
| dynamic resolution:i: | 0 or 1 | Resize remote on window resize |
| session bpp:i: | 16, 24, 32 | Colour 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=none | Where audio plays |
| audiocapturemode:i: | 0 or 1 | Redirect local microphone |
| redirectclipboard:i: | 0 or 1 | Clipboard sharing |
| redirectdrives:i: | 0 or 1 | Drive redirection |
| drivestoredirect:s: | C:\; or * or DynamicDisks | Which drives to share |
| authentication level:i: | 0=none, 1=warn, 2=NLA required | NLA enforcement |
| remoteapplicationmode:i: | 0 or 1 | RemoteApp mode |
| remoteapplicationprogram:s: | app alias or full path | Which 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.