rdesktop is an open source UNIX client for connecting to Windows Remote Desktop Services, capably of natively speaking Remote Desktop Protocol (RDP) in order to present the user's Windows desktop. rdesktop is known to work with Windows server version ranging from NT 4 terminal server to Windows 2012 R2.
C M4 Objective-C Makefile Shell Python C++
Clone or download
CendioOssman Free socket buffers on disconnect
Otherwise we would leak the memory on every reconnect (and exit).
Latest commit 74b2129 Jul 2, 2018
Permalink
Failed to load latest commit information.
doc Fix minor spelling mistakes Nov 2, 2017
keymaps Update ru Jan 27, 2018
tests Use proper user-initiated disconnect sequence Jan 31, 2018
.gitignore Ensure (partial) resize functionality with automated tests Dec 7, 2017
.travis.yml Let Travis build with both GCC and clang, take 2 Oct 6, 2017
COPYING Changed license to GPLv3 Jan 12, 2010
Makefile.in Add Dynamic Virtual Channels and basic RDPEDISP support Nov 9, 2017
README.md README.md: Mark up parameters and commands Jan 3, 2018
asn.c Added ber_out_sequence() util for writing ASN.1 sequences Jan 31, 2018
bitmap.c Remove implicit fall-throughs from bitmap.c and parallel.c Jan 31, 2018
bootstrap Removing old autom4te.cache before autoreconf. Seems to Sep 7, 2004
cache.c Fix minor spelling mistakes Nov 2, 2017
channels.c Add Dynamic Virtual Channels and basic RDPEDISP support Nov 9, 2017
cliprdr.c Rework the logging system Jan 26, 2017
config.guess Fix minor spelling mistakes Nov 2, 2017
config.sub Now using Autoconf. Old OpenSSL files removed. Jul 31, 2004
configure.ac Always include frame pointers with address sanitizer Jul 2, 2018
constants.h Cleanup of reconnect code Mar 28, 2018
cssp.c Fix minor spelling mistakes Nov 2, 2017
ctrl.c Fix minor spelling mistakes Nov 2, 2017
disk.c Fix file sizes for redirected disks Dec 15, 2017
disk.h Changed license to GPLv3 Jan 12, 2010
dvc.c Move dvc_hdr_t into dvc.c Nov 9, 2017
ewmhints.c Fix minor spelling mistakes Nov 2, 2017
genauthors Make it possible to automatically generate the AUTHORS file from the Apr 13, 2011
indent-all.sh Remove deprecated rdp2vnc Aug 14, 2017
install-sh Now using Autoconf. Old OpenSSL files removed. Jul 31, 2004
iso.c Refactoring of slow and fastpath handling Feb 1, 2018
licence.c Fix minor spelling mistakes Nov 2, 2017
lspci.c Fix minor spelling mistakes Nov 2, 2017
mcs.c Refactoring of slow and fastpath handling Feb 1, 2018
mppc.c Clean up undefined behavior in complicated and/or/shift expression Nov 9, 2017
orders.c Markup unused parameters Oct 20, 2017
orders.h Changed license to GPLv3 Jan 12, 2010
parallel.c Remove implicit fall-throughs from bitmap.c and parallel.c Jan 31, 2018
printer.c Fix sign-compare compiler warnings Oct 20, 2017
printercache.c Rework the logging system Jan 26, 2017
proto.h Fix scard logon Apr 27, 2018
pstcache.c Fix minor spelling mistakes Nov 2, 2017
rdesktop.c Cleanup of reconnect code Mar 28, 2018
rdesktop.h Fix minor spelling mistakes Nov 2, 2017
rdesktop.spec Fix minor spelling mistakes Nov 2, 2017
rdp.c Clear password is smart card pin upon redirect Apr 17, 2018
rdp5.c Fix compression regression introduced in commit 0c7b411 Nov 3, 2017
rdpdr.c Fix scard logon Apr 27, 2018
rdpedisp.c Prefer online resize over reconnect resizes Mar 7, 2018
rdpsnd.c Merge pull request #152 from hean01-cendio/pulseaudio Nov 24, 2017
rdpsnd.h Add support for pulseaudio backend Sep 26, 2017
rdpsnd_alsa.c Fix sign-compare compiler warnings Oct 20, 2017
rdpsnd_dsp.c Fix minor spelling mistakes Nov 2, 2017
rdpsnd_dsp.h Changed license to GPLv3 Jan 12, 2010
rdpsnd_libao.c Remove compiler warnings from rdpsnd_libao Nov 13, 2017
rdpsnd_oss.c Markup unused parameters Oct 20, 2017
rdpsnd_pulse.c Add support for pulseaudio backend Sep 26, 2017
rdpsnd_sgi.c Rework the logging system Jan 26, 2017
rdpsnd_sun.c Rework the logging system Jan 26, 2017
scancodes.h Fix minor spelling mistakes Nov 2, 2017
scard.c Fix TS_SCardEstablishContext/TS_SCardIsValidContext Apr 27, 2018
scard.h Fixes a bug with Windows Server 2012 r2 and smartcard Sep 11, 2014
seamless.c Fix minor spelling mistakes Nov 2, 2017
seamless.h Fixed style of a few copyright statements. Sep 28, 2011
secure.c Fix Fast-Path PDU decryption regression Feb 2, 2018
serial.c Fix minor spelling mistakes Nov 2, 2017
ssl.c Fix minor spelling mistakes Nov 2, 2017
ssl.h Add additional logging for SSL errors May 12, 2017
stream.c Add Dynamic Virtual Channels and basic RDPEDISP support Nov 9, 2017
stream.h Fix file sizes for redirected disks Dec 15, 2017
tcp.c Free socket buffers on disconnect Jul 2, 2018
types.h Refactor g_sizeopt into an enumeration for clarity Jan 11, 2018
utils.c Flush stdout for proper order of log messages Jan 31, 2018
utils.h Implement dynamic session resize Dec 7, 2017
xclip.c Fix minor spelling mistakes Nov 2, 2017
xkeymap.c Refactor deactivation of seamless mode Dec 7, 2017
xproto.h Add _NET_WM_PID and required WM_CLIENT_MACHINE properties to windows. Sep 15, 2015
xwin.c Drain X event queue without any delay Jul 2, 2018

README.md

rdesktop - A Remote Desktop Protocol client

rdesktop is an open source client for Microsoft's RDP protocol. It is known to work with Windows versions ranging from NT 4 Terminal Server to Windows 2012 R2 RDS. rdesktop currently has implemented the RDP version 4 and 5 protocols.

Installation

rdesktop uses a GNU-style build procedure. Typically all that is necessary to install rdesktop is the following:

% ./configure
% make
% make install

The default is to install under /usr/local. This can be changed by adding --prefix=<directory> to the configure line.

The smart-card support module uses PCSC-lite. You should use PCSC-lite 1.2.9 or later. To enable smart-card support in the rdesktop add --enable-smartcard to the configure line.

Note for users building from source

If you have retrieved a snapshot of the rdesktop source, you will first need to run ./bootstrap in order to generate the build infrastructure. This is not necessary for release versions of rdesktop.

Usage

Connect to an RDP server with:

% rdesktop server

where server is the name of the Terminal Services machine. If you receive "Connection refused", this probably means that the server does not have Terminal Services enabled, or there is a firewall blocking access.

You can also specify a number of options on the command line. These are listed in the rdesktop manual page (run man rdesktop).