table of contents
sdl-freerdp3(1) | sdl-freerdp3 | sdl-freerdp3(1) |
NAME¶
sdl-freerdp3 - FreeRDP SDL client
SYNOPSIS¶
sdl-freerdp3 [file] [options] [/v:server[:port]]
DESCRIPTION¶
sdl-freerdp3 is an SDL Remote Desktop Protocol (RDP) client which is part of the FreeRDP project. An RDP server is built-in to many editions of Windows. Alternative servers included ogon, gnome-remote-desktop, xrdp and VRDP (VirtualBox).
OPTIONS¶
/a:addin[,options], /addin:addin[,options]
/azure:[tenantid:id],[use-tenantid[:[on|off]],[ad:url][avd-access:format string],[avd-token:format string],[avd-scope:format string]
/action-script:file-name
/admin, /console
+aero
/app:program:[path|||alias],cmd:command,file:filename,guid:guid,icon:filename,name:name,workdir:directory,hidef:[on|off]
/assistance:password
/auto-request-control:
+async-channels
+async-update
/audio-mode:mode
+auth-only
/auth-pkg-list:!ntlm,kerberos
-authentication
+auto-reconnect
/auto-reconnect-max-retries:retries
/bpp:depth
/buildconfig
/cache:[bitmap[:on|off],codec[:rfx|nsc],glyph[:on|off],offscreen[:on|off],persist,persist-file:filename]
/cert:[deny,ignore,name:name,tofu,fingerprint:hash:hash as hex[,fingerprint:hash:another hash]]
* deny ... Automatically abort connection if the certificate does not match, no user interaction.
* ignore ... Ignore the certificate checks altogether (overrules all other options)
* name ... Use the alternate <name> instead of the certificate subject to match locally stored certificates
* tofu ... Accept certificate unconditionally on first connect and deny on subsequent connections if the certificate does not match
* fingerprints ... A list of certificate hashes that are accepted unconditionally for a connection
/client-build-number:number
/client-hostname:name
/clipboard:[[use-selection:atom],[direction-to:[all|local|remote|off]],[files-to[:all|local|remote|off]]]
* use-selection:<atom> ... (X11) Specify which X selection to access. Default is CLIPBOARD. PRIMARY is the X-style middle-click selection.
* direction-to:[all|local|remote|off] control enabled clipboard direction
* files-to:[all|local|remote|off] control enabled file clipboard direction (default:on)
-compression, -z
/compression-level:level
+credentials-delegation
/d:domain
-decorations
/disp
/drive:name,path
+drives
/dump:record|replay,file:file[,nodelay]
/dvc:channel[,options]
+dynamic-resolution
/echo, /echo
-encryption
/encryption-methods:[40,][56,][128,][FIPS]
/f
+fipsmode
/floatbar[:sticky:[on|off],default:[visible|hidden],show:[always|fullscreen|window]]
-fonts
+force-console-callbacks
/frame-ack:number
/args-from:file|stdin|fd:number|env:name
/from-stdin[:force]
/gateway:g:gateway[:port],u:user,d:domain,p:password,usage-method:[direct|detect],access-token:token,type:[rpc|http[,no-websockets][,extauth-sspi-ntlm]|auto[,no-websockets][,extauth-sspi-ntlm]]|arm,url:wss://url,bearer:oauth2-bearer-token, /gw:g:gateway[:port],u:user,d:domain,p:password,usage-method:[direct|detect],access-token:token,type:[rpc|http[,no-websockets][,extauth-sspi-ntlm]|auto[,no-websockets][,extauth-sspi-ntlm]]|arm,url:wss://url,bearer:oauth2-bearer-token
/gdi:sw|hw
/geometry
+gestures
/gfx[:[[progressive[:on|off]|RFX[:on|off]|AVC420[:on|off]AVC444[:on|off]],mask:value,small-cache[:on|off],thin-client[:on|off],progressive[:on|off],frame-ack[:on|off]]]
-grab-keyboard
-grab-mouse
/h:height
-heartbeat
/help, /?
+home-drive
/ipv4[:[:force]], /4[:[:force]]
/ipv6[:[:force]], /6[:[:force]]
/jpeg
/jpeg-quality:percentage
/kbd:[layout:[0xid|name],lang:0xid,fn-key:value,type:value,subtype:value,unicode[:on|off],remap:key1=value1,remap:key2=value2,pipe:filename]
* layout: set the keybouard layout announced to the server
* lang: set the keyboard language identifier sent to the server
* fn-key: Function key value
* remap: RDP scancode to another one. Use /list:kbd-scancode to get the mapping. Example: To switch 'a' and 's' on a US keyboard: /kbd:remap:0x1e=0x1f,remap:0x1f=0x1e
* pipe: Name of a named pipe that can be used to type text into the RDP session
/kerberos:[kdc-url:url,lifetime:time,start-time:time,renewable-lifetime:time,cache:path,armor:path,pkinit-anchors:path,pkcs11-module:name]
/load-balance-info:info-string
/list:[kbd|kbd-scancode|kbd-lang[:value]|smartcard[:[pkinit-anchors:path][,pkcs11-module:name]]|monitor|tune|timezones]
/log-filters:tag:level[,tag:level[,...]]
/log-level:[OFF|FATAL|ERROR|WARN|INFO|DEBUG|TRACE]
/max-fast-path-size:size
/max-loop-time:time
+menu-anims
/microphone[:[sys:sys,][dev:dev,][format:format,][rate:rate,][channel:channel]], /mic[:[sys:sys,][dev:dev,][format:format,][rate:rate,][channel:channel]]
/monitors:id[,id[,...]]
-mouse-motion
+mouse-relative
/mouse:[relative:[on|off],grab:[on|off]]
* relative: send relative mouse movements if supported by server
* grab: grab the mouse if within the window
/multimon[:force]
+multitouch
-multitransport
-nego
/network:[invalid|modem|broadband|broadband-low|broadband-high|wan|lan|auto]
/nsc, /nscodec
/orientation:[0|90|180|270]
+old-license
/p:password
/parallel[:name[,path]]
/parent-window:window-id
/pcb:blob
/pcid:id
/pheight:height
/play-rfx:pcap-file
/port:number
-suppress-output
+print-reconnect-cookie
/printer[:name[,driver[,default]]]
/proxy:[proto://][user:password@]host[:port]
/pth:password-hash, /pass-the-hash:password-hash
/pwidth:width
/rdp2tcp:executable path[:arg...]
/reconnect-cookie:base64-cookie
/redirect-prefer:FQDN|IP|NETBIOS,[...]
/relax-order-checks, /relax-order-checks
/restricted-admin, /restrictedAdmin
/remoteGuard, /remoteGuard
/rfx
/rfx-mode:[image|video]
/scale:[100|140|180]
/scale-desktop:percentage
/scale-device:100|140|180
/sec:[rdp[:[on|off]]|tls[:[on|off]]|nla[:[on|off]]|ext[:[on|off]]|aad[:[on|off]]]
/serial[:name[,path[,driver[,permissive]]]], /tty[:name[,path[,driver[,permissive]]]]
/server-name:name
/shell:shell
/shell-dir:dir
/size:widthxheight or percent%[wh]
/smart-sizing[:widthxheight]
/smartcard[:str[,str...]]
/smartcard-logon[:[cert:path,key:key,pin:pin,csp:csp name,reader:reader,card:card]]
/sound[:[sys:sys,][dev:dev,][format:format,][rate:rate,][channel:channel,][latency:latency,][quality:quality]], /audio[:[sys:sys,][dev:dev,][format:format,][rate:rate,][channel:channel,][latency:latency,][quality:quality]]
/span
/spn-class:service-class
/ssh-agent, /ssh-agent
/sspi-module:SSPI module path
/winscard-module:WinSCard module path
/disable-output
/t:title, /title:title
-themes
/timeout:time in ms, /timeout:time in ms
/timezone:windows timezone
/tls:[ciphers|seclevel|secrets-file|enforce]
* seclevel:<level>, default: 1, range: [0-5] Override the default TLS security level, might be required for older target servers
* secrets-file:<filename>
* enforce[:[ssl3|1.0|1.1|1.2|1.3]] Force use of SSL/TLS version for a connection. Some servers have a buggy TLS version negotiation and might fail without this. Defaults to TLS 1.2 if no argument is supplied. Use 1.0 for windows 7
-toggle-fullscreen
/tune:setting:value,setting:value
/u:[[domain]user|user[@domain]]
+unmap-buttons
/usb:[dbg,][id:vid:pid#...,][addr:bus:addr#...,][auto]
/v:server[:port]
/vc:channel[,options]
/version
/video
/prevent-session-lock[:time in sec]
/vmconnect[:vmid]
/w:width
-wallpaper
+window-drag
/window-position:xposxypos
/wm-class:class-name
/workarea
CONFIGURATION FILE¶
Format and Location:
The XDG_CONFIG_HOME environment variable can be used to override the base directory.
This defaults to ~/.config The location relative to XDG_CONFIG_HOME is $XDG_CONFIG_HOME/freerdp/sdl-freerdp.json
The configuration is stored in JSON format
Supported options:
SDL_KeyModMask
Default KMOD_RSHIFT
An array of SDL_Keymod strings as defined at /SDL_Keymod
SDL_Fullscreen
Default SDL_SCANCODE_RETURN.
A string as defined at /SDLScancodeLookup
SDL_Minimize
Default SDL_SCANCODE_M.
A string as defined at /SDLScancodeLookup
SDL_Resizeable
Default SDL_SCANCODE_R.
A string as defined at /SDLScancodeLookup
SDL_Grab
If keyboard is grabbed the local system shortcuts do no longer work and are sent to the remote system.
If the Mouse is grabbed (optional) local gesture detection does not work and the mouse might not be able to leave the RDP window. Mouse events are not altered..
Default SDL_SCANCODE_G.
A string as defined at /SDLScancodeLookup
SDL_Disconnect
Default SDL_SCANCODE_D.
A string as defined at /SDLScancodeLookup
ENVIRONMENT VARIABLES¶
wlog environment variable
GLOBAL CONFIGURATION¶
Format and Location:
The location is /etc/FreeRDP/FreeRDP/certificates.json
File format is JSON
Supported options:
deny
Deny the certificate if the check against system SSL store was not successful
ignore
Ignore certificate failures, just ignore the certificate
deny-userconfig
If the checks in the global configuration do not accept the certificate do not ask the user
certificate-db
JSON array
type
a string identifying the hash algorithm used, e.g. sha256
hash
a string of hex integer values representing the certificate hash, e.g. 0123456789abcdef
EXAMPLES¶
sdl-freerdp3 connection.rdp /p:Pwd123! /f
sdl-freerdp3 /u:USER /size:50%h /v:rdp.contoso.com
sdl-freerdp3 /u:CONTOSO\\JohnDoe /p:Pwd123! /v:rdp.contoso.com
sdl-freerdp3 /u:JohnDoe /p:Pwd123! /w:1366 /h:768 /v:192.168.1.100:4489
sdl-freerdp3 /u:JohnDoe /p:Pwd123! /vmconnect:C824F53E-95D2-46C6-9A18-23A5BB403532 /v:192.168.1.100
+clipboard
/drive:home,/home/user
/smartcard:<device>
/printer:<device>,<driver>
/serial:<device>
/parallel:<device>
/sound:sys:alsa
/microphone:sys:alsa
/multimedia:sys:alsa
/usb:id,dev:054c:0268
LINKS¶
AUTHOR¶
The FreeRDP Team
2025-07-14 | freerdp |