rdesktop(1)

πŸ“¦
version 1.9.0 Β· 2 versions
  • 1.9.0 Β· alpine 3.24, arch rolling, debian bookworm, debian trixie, epel 10, epel 9, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 1.9.0 Β· opensuse-leap 16.0
, in alpine 3.24, arch rolling, debian bookworm, debian trixie, epel 10, epel 9, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

rdesktop πŸ’– the RDP client that just gets you

okay bestie, welcome to rdesktop(1) β€” the General Commands Manual entry for the one and only Remote Desktop Protocol client. This is the manual page, but make it a group chat. Everything's here, nothing's skipped, and yes we're doing all of it. Let's go πŸ¦‹


✨ NAME ✨

rdesktop β€” Remote Desktop Protocol client. That's it, that's the name, iconic behavior. πŸ’…


🌸 SYNOPSIS 🌸

rdesktop [options] server[:port]

You give it a server, you give it options, you optionally give it a port, and it gives you a whole other computer. Periodt. πŸ‘‘


πŸŽ€ DESCRIPTION πŸŽ€

So rdesktop is a client for Remote Desktop Protocol (RDP, iykyk), which is used in a bunch of Microsoft products. It's known to work with Microsoft Windows server versions ranging from NT 4 terminal server all the way to Windows Server 2012 R2. Like, that's a glow-up journey and she did it flawlessly. πŸ’œ


πŸ’… OPTIONS πŸ’…

Every single one. No skips, no skimming, we're thorough in this house. ✨

  • -u <username> β€” Username for authentication on the server. Who are you? Say it. 🫢
  • -d <domain> β€” Domain for authentication. The whole domain, not just the vibe.
  • -s <shell> β€” Startup shell for the user. Starts a specific application instead of Explore. And if SeamlessRDP is enabled, this is the application that gets started in seamless mode. Fancy. 🌈
  • -c <directory> β€” The initial working directory for the user. Often used together with -s to set up a fixed login environment, which is giving very "curated experience" energy. πŸ’–
  • -p <password> β€” The password to authenticate with. Heads up though: this may have no effect if "Always prompt for password" is enabled on the server. And now the serious part:
WARNING: if you specify a password on the command line it may be visible to other users when they use tools like ps. Use -p - to make rdesktop request a password at startup (from standard input).

Bestie. Do not put your password in the command line. Use -p -. Protect yourself. 😭

  • -n <hostname> β€” Client hostname. Normally rdesktop automatically obtains the hostname of the client, so this is the "I'll do it myself" option. πŸ’
  • -k <keyboard-map> β€” Keyboard layout to emulate. This requires a corresponding keymap file to be installed. The standard keymaps provided with rdesktop follow the RFC1766 naming scheme: a language code followed by a country code if necessary β€” e.g. en-us, en-gb, de, fr, sv, etc.

The default keyboard map depends on the current locale (LC_* and LANG environment variables). If the current locale is unknown, the default keyboard map is en-us (a US English keyboard). πŸ’…

The keyboard maps are file names, which means they are case sensitive. The standard keymaps are all in lowercase. Don't be out here typing EN-US, she will not answer. πŸ™ˆ

The keyboard maps are searched relative to the directories $HOME/.rdesktop/keymaps, KEYMAP_PATH (specified at build time), and $CWD/keymaps, in this order. The keyboard-map argument can also be an absolute filename. πŸ“

The special value none can be used instead of a keyboard map. In this case, rdesktop will guess the scancodes from the X11 event key codes using an internal mapping method. This method only supports the basic alphanumeric keys and may not work properly on all platforms, so its use is discouraged. Like, lowkey don't. 🚫

  • -g <geometry> β€” Desktop geometry (WxH[@DPI][+X[+Y]]). If geometry is the special word workarea, the geometry will be fetched from the extended window manager hints property _NET_WORKAREA, from the root window. The geometry can also be specified as a percentage of the whole screen, e.g. -g 80%, -g 80%x70%. Math but make it fashion. ✨

If the specified geometry depends on the screen size, and the screen size is changed, rdesktop will automatically reconnect using the new screen size. This requires that rdesktop has been compiled with RandR support. πŸ”„

The optional DPI parameter should be specified if the screen rdesktop is being displayed on is too far from 96 DPI for unscaled Windows to be readable. Windows currently accepts values from 96 to 480. πŸ‘€

Offset placement of window is optional. Starting point is upper left corner of screen. Window manager might push into visible area, if a panel would be covered. The schema is -g <value>+<xoff>+<yoff>, f.e. -g 30%+200+600. πŸ“

  • -i β€” Use password as smartcard pin. If a valid user certificate is matched in smart card reader, the password passed with p argument is used as pin for the smart card. This feature also requires that smart card redirection is used using r scard argument. Two-factor but make it seamless. πŸŽ€
  • -f β€” Enable fullscreen mode. This overrides the window manager and causes the rdesktop window to fully cover the current screen. Fullscreen mode can be toggled at any time using Ctrl-Alt-Enter. Main character energy, screen is hers now. πŸ‘‘
  • -b β€” Force the server to send screen updates as bitmaps rather than using higher-level drawing operations. Brute force but polite.
  • -t β€” Disable use of remote control. This will disable features like seamless connection sharing. No sharing, we're independent. πŸ’…
  • -A <seamlessrdpshell> β€” Enable SeamlessRDP by specifying the path to seamless rdp shell. In this mode, rdesktop creates a X11 window for each window on the server side. This mode requires the SeamlessRDP server side component, which is available from http://www.cendio.com/seamlessrdp/. πŸͺŸβœ¨

When using this option, you should normally specify a startup shell which launches the desired application through SeamlessRDP.

Example:

rdesktop -A 'c:\seamlessrdp\seamlessrdpshell.exe' -s 'notepad' mywts.domain.com

Any subsequential call to the above command line example will make use of the seamless connection sharing feature which spawns another notepad in the current connection to the specified server and then exit. She reuses the connection, she's efficient, we love her. 🫢

  • -V <tls version> β€” Set the Transport Level Security (also known as SSL) Version used. Should be one of the following values: 1.0, 1.1, 1.2. By default all versions are supported. Security but with options. πŸ”₯
  • -B β€” Use the BackingStore of the Xserver instead of the integrated one in rdesktop. Outsourcing, love that for her.
  • -e β€” Disable encryption. This option is only needed (and will only work) if you have a French version of NT TSE. Very specific, very niche, very c'est la vie. πŸ‡«πŸ‡·
  • -E β€” Disable encryption from client to server. This sends an encrypted login packet, but everything after this is unencrypted (including interactive logins).
Bestie, everything after the login is unencrypted. Including interactive logins. Just so we're clear. 😭
  • -m β€” Do not send mouse motion events. This saves bandwidth, although some Windows applications may rely on receiving mouse motion. Bandwidth said "let me breathe". 🌬️
  • -M β€” Use local X cursor inherited from window manager instead of server cursor. This is mostly useful with -m, but is also useful if the server is sending bogus mouse cursors. Cursor glow-up. πŸ–±οΈβœ¨
  • -C β€” Use private colourmap. This will improve colour accuracy on an 8-bit display, but rdesktop will appear in false colour when not focused. The colour accuracy only shows up when she has your attention, and honestly? Same. πŸ’…
  • -D β€” Hide window manager decorations, by using MWM hints. Minimalism.
  • -K β€” Do not override window manager key bindings. By default rdesktop attempts to grab all keyboard input when it is in focus. So this is the "chill, let the WM cook" option. 🍳
  • -S <button size> β€” Enable single application mode. This option can be used when running a single, maximized application (via -s). When the minimize button of the windows application is pressed, the rdesktop window is minimized instead of the remote application. The maximize/restore button is disabled. For this to work, you must specify the correct button size, in pixels. The special word standard means 18 pixels. Maximized and unbothered. πŸͺŸ
  • -T <title> β€” Sets the window title. The title must be specified using an UTF-8 string. Name her something cute. πŸŽ€
  • -N β€” Enable numlock synchronization between the Xserver and the remote RDP session. This is useful with applications that looks at the numlock state, but might cause problems with some Xservers like Xvnc. Numlock but it's a communication skill. πŸ”’
  • -X <windowid> β€” Embed rdesktop-window in another window. The windowid is expected to be decimal or hexadecimal (prefixed by 0x). Nesting, but make it intentional. πŸͺ†
  • -a <bpp> β€” Sets the colour depth for the connection (8, 15, 16, 24 or 32). More than 8 bpp are only supported when connecting to Windows XP (up to 16 bpp) or newer. Note that the colour depth may also be limited by the server configuration. The default value is the depth of the root window. Pretty privilege, but for pixels. 🌈
  • -z β€” Enable compression of the RDP datastream. Squish. πŸ—œοΈ
  • -x <experience> β€” Changes default bandwidth performance behaviour for RDP5. By default only theming is enabled, and all other options are disabled (corresponding to modem (56 Kbps)). Setting experience to b[roadband] enables menu animations and full window dragging. Setting experience to l[an] will also enable the desktop wallpaper. Setting experience to m[odem] disables all (including themes). Experience can also be a hexadecimal number containing the flags. Pick your vibe, bestie. ⚑
  • -P β€” Enable caching of bitmaps to disk (persistent bitmap caching). This generally improves performance (especially on low bandwidth connections) and reduces network traffic at the cost of slightly longer startup and some disk space. ( 10MB for 8-bit colour, 20MB for 15/16-bit colour, 30MB for 24-bit colour and 40MB for 32-bit colour sessions). Trading disk for speed, a classic deal. πŸ’Ύ
  • -r <device> β€” Enable redirection of the specified device on the client, such that it appears on the server. Note that the allowed redirections may be restricted by the server configuration. The server has boundaries and we respect them. 🫢

Following devices are currently supported:

  • -r comport:<comport>=<device>,... β€” Redirects serial devices on your client to the server. Note that if you need to change any settings on the serial device(s), do so with an appropriate tool before starting rdesktop. In most OSes you would use stty. Bidirectional/Read support requires Windows XP or newer. In Windows 2000 it will create a port, but it's not seamless, most shell programs will not work with it. πŸ”Œ
  • -r disk:<sharename>=<path>,... β€” Redirects a path to the share \\tsclient\<sharename> on the server (requires Windows XP or newer). The share name is limited to 8 characters. Short and sweet, keep it cute. πŸ’Ύ
  • -r lptport:<lptport>=<device>,... β€” Redirects parallel devices on your client to the server. Bidirectional/Read support requires Windows XP or newer. In Windows 2000 it will create a port, but it's not seamless, most shell programs will not work with it. πŸ–¨οΈ
  • -r printer:<printername>[=<driver>],... β€” Redirects a printer queue on the client to the server. The <printername> is the name of the queue in your local system. <driver> defaults to a simple PS-driver unless you specify one. Keep in mind that you need a 100% match in the server environment, or the driver will fail. The first printer on the command line will be set as your default printer. First come, first printed. πŸ–¨οΈβœ¨
  • -r sound:[local|off|remote] β€” Redirects sound generated on the server to the client. remote only has any effect when you connect to the console with the -0 option. (Requires Windows XP or newer). πŸ”Š

okay that's the end of part 1 bestie β€” more is coming, don't go anywhere πŸ’œ

  • -r lspci β€” Activates the lspci channel, which lets the server enumerate the clients PCI devices. See the file lspci-channel.txt in the documentation for more information.
  • -r scard[:<Scard Name>=<Alias Name>[;<Vendor Name>][,...]] β€” Enables redirection of one or more smart-cards. You can provide static name binding between GNU/Linux and Windows. To do this you can use optional parameters as described: <Scard Name> β€” device name in GNU/Linux and UNIX environment, <Alias Name> β€” device name shown in Windows environment, <Vendor Name> β€” optional device vendor name. For list of examples run rdesktop without parameters. iykyk
  • -r clipboard:[off|PRIMARYCLIPBOARD|CLIPBOARD] β€” Enable clipboard redirection. 'PRIMARYCLIPBOARD' looks at both PRIMARY and CLIPBOARD when sending data to server. 'CLIPBOARD' looks at only 'CLIPBOARD'.
  • -0 β€” Attach to the console of the server (requires Windows Server 2003 or newer).
  • -4 β€” Use RDP version 4.
  • -5 β€” Use RDP version 5 (default).
  • -v β€” Enable verbose output.

πŸ’³ CredSSP Smartcard options πŸ’³

  • --sc-csp-name <name> β€” Specify the CSP (Crypto Service Provider) to use on the windows side for the smartcard authentication. CSP is the driver for your smartcard and it seems like this is required to be specified for CredSSP authentication. For Swedish NetID the following CSP name is used; "Net iD - CSP".
  • --sc-container-name <name> β€” Specify the container name, usually this is the username for default container and it seems like this is required to be specified for CredSSP authentication.
  • --sc-reader-name <name> β€” Specify the reader name to be used to prevent the pin code being sent to wrong card if there are several readers.
  • --sc-card-name <name> β€” Specify the card name for example; "Telia EID IP5a".

πŸ’₯ EXIT VALUES πŸ’₯

  • 0 β€” RDP session terminated normally ✨
  • 1 β€” Administrator initiated disconnect (also returned for logoff by Windows XP joined to a domain)
  • 2 β€” Administrator initiated logout
  • 3 β€” Server idle session time limit reached
  • 4 β€” Server active session time limit reached
  • 5 β€” The session was replaced
  • 6 β€” The server is out of memory
  • 7 β€” The server denied the connection
  • 8 β€” The server denied the connection for security reasons
  • 9 β€” The user cannot connect to the server due to insufficient access privileges
  • 10 β€” The server does not accept saved user credentials and requires that the user enter their credentials for each connection
  • 11 β€” Disconnect initiated by user
  • 12 β€” Logout initiated by user
  • 16 β€” Internal licensing error
  • 17 β€” No license server available
  • 18 β€” No valid license available
  • 19 β€” Invalid licensing message from client
  • 20 β€” The client license has been modified and does no longer match the hardware ID
  • 21 β€” The client license is in an invalid format
  • 22 β€” Network error during licensing protocol
  • 23 β€” Licensing protocol was not completed
  • 24 β€” Incorrect client license encryption
  • 25 β€” Can't upgrade or renew license
  • 26 β€” The server is not licensed to accept remote connections
  • 30 β€” The target endpoint chosen by the broker could not be found
  • 32 β€” The target endpoint is disconnecting from the broker
  • 34 β€” Error occurred while being redirected by broker
  • 35 β€” Error while the endpoint VM was being awakened by the broker
  • 36 β€” Error while the endpoint VM was being started by the broker
  • 37 β€” The IP address of the endpoint VM could not be determined by the broker
  • 38 β€” No available endpoints in the connection broker pool
  • 39 β€” Connection processing cancelled by the broker
  • 40 β€” The connection settings could not be validated by the broker
  • 41 β€” Timeout while the endpoint VM was being started by the broker
  • 42 β€” Session monitoring error while the endpoint VM was being started by the broker
  • 50 β€” The server can only host Remote Applications
  • 51 β€” Update of session keys failed
  • 52 β€” Decryption or session key creation failed
  • 53 β€” Encryption failed
  • 62 β€” The local client window was closed
  • 63 β€” Some other, unknown error occurred
  • 64 β€” Command line usage error
  • 69 β€” A service or resource (such as memory) is unavailable
  • 70 β€” An internal software error has been detected
  • 71 β€” Operating system error
  • 76 β€” Protocol error or unable to connect to remote host.

Main website of rdesktop: http://www.rdesktop.org/


That’s the whole rdesktop(1) page, bestie β€” source/version is rdesktop(1), dated 2017-10-28. Stay iconic, stay connected πŸ’…βœ¨