Jacco's rdesktop page:
RPMs and OS/2 port

rdesktop is a free client for the RDP protocol. It works as a "thin client" which you use to connect to Windows NT4TS/2000/2003/XP. rdesktop was created by Samba team member Matthew Chapman and released under the GNU Public License. It runs on many operating systems: several flavours of Unix/Linux, Acorn, Amiga, Mac OS X, OS/2 etc. (see "Related ports and binaries"). It has even been ported to Win32 and Java.

My contribution consists of creating RPMS (packaged executables) for RPM based Linux distributions (e.g. RedHat and Mandrake). This could save time for people who just want to use the program and prefer to not go through the trouble of compiling the source code. This is mainly for older distributions, since recent ones are now shipping with rdesktop. I have also made an OS/2 port of rdesktop.


RPM packages of rdesktop

I have made a range of rdesktop RPM packages for your convenience. See the list below. These can be installed on Linux distributions using the RedHat Package Manager (RPM). Testing has been done mostly on RedHat 6.2/7.2 (x86), Mandrake 8.1 (x86) and Mandrake 8.0 (PPC).

So, which RPM do you need? What are the differences?


Install the RPM of your choice from the commandline using "rpm -Uvh rdesktop*.rpm", or use your favourite graphical RPM manager. Should you get complaints about missing packages, get those from your distribution's CDs or download them, and try again. When you got rdesktop installed, congratulations! Check out rdesktop's options (man rdesktop) and read the included documentation (for a list of docs, use "rpm -ql rdesktop"). In most cases you should be able to fire up rdesktop with a command as simple as:
rdesktop <server-hostname>

You would like to give rdesktop a spin but you don't have a Windows Terminal Server available? Try this one: scylla.odyssey.securewave.com  ( at the time of this writing). This is a demo server made available by security company SecureWave. The usual stuff (Internet Explorer, Office etc.) has been installed on it. The server is protected with SecureEXE, a product which allows only authorised software to run on a Windows server ('white list'). For each file that is authorized, SecureEXE creates a cryptographic hash signature which is later used to identify this file at execution time.

List of available RPMs

Note: You may need to hold 'shift' while clicking on a link below! Recommended files are indicated with ->. The files are fairly small, generally less than 200 KB.

Binary RPMS for x86:

-> Mandrake 9.x  (already contains rdesktop 1.2.0 RPM)
   Mandrake 8.1  X Windows,  1.1.0 pl19.9.0-jdl1
   Mandrake 8.1  X Windows,  1.1.0 pl19.8.5-jdl1
   Mandrake 8.1  X Windows,  1.1.0 pl19.8.4-jdl1
   Mandrake 8.1  X Windows,  1.1.0 jdl1
   Mandrake 8.1  SVGAlib,    1.1.0 pl19.9.0-jdl1
   Mandrake 8.1  SVGAlib,    1.1.0 pl19.8.4-jdl1

-> RedHat 9.0    (already contains rdesktop 1.2.0 RPM)
   RedHat 9.0    X Windows,  1.3.0-jdl1 (modified original, built-in licence)
   RedHat 8.0    (already contains rdesktop 1.2.0 RPM)
     RedHat 8.0    X Windows,  1.2.0-jdl1 (modified original, built-in licence)
   RedHat 8.0    X Windows,  1.1.0 pl19.9.0-jdl2
   RedHat 7.3    X Windows,  1.1.0 pl19.9.0-jdl1
   RedHat 7.2    X Windows,  1.1.0 pl19.8.4-jdl1
   RedHat 7.2    X Windows,  1.1.0 jdl1
   (RedHat 7.x does not ship with SVGAlib)

-> RedHat 6.2    X Windows,  1.1.0 pl19.9.0-jdl1
   RedHat 6.2    X Windows,  1.1.0 pl19.8.5-jdl1
   RedHat 6.2    X Windows,  1.1.0 pl19.8.4-jdl1
   RedHat 6.2    X Windows,  1.1.0 jdl1
   RedHat 6.2    SVGAlib,    1.1.0 pl19.9.0-jdl1
   RedHat 6.2    SVGAlib,    1.1.0 pl19.8.5-jdl1
   RedHat 6.2    SVGAlib,    1.1.0 pl19.8.4-jdl1

Binary RPM for PowerPC:
(Sponsored by HCC Amsterdam user group)

-> Mandrake 8.0  X Windows,  1.0.0pl19.8.4-jdl1

Single executables:
(After downloading: tar xfvz rdesktop*.tar.gz ; chmod +x rdesktop
 or tar xfvz srdesktop*.tar.gz ; chmod +x srdesktop)
(Verify GPG signatures with my GPG public key, e.g.:
gpg --verify rdesktop-1.1.0pl19.9.0-rhl6.tar.gz.sig)

-> RedHat 6.2 X Windows, 1.1.0 pl19.9.0-jdl1, static OpenSSL (GPG sig)
   RedHat 6.2 SVGAlib,   1.1.0 pl19.9.0-jdl1, static OpenSSL (GPG sig)

(Old versions, not recommended:)

   RedHat 7.0           1.0.0-pl19_6_5, my release: 1
   RedHat 6.2           1.0.0-pl19_6_5, my release: 1
   RedHat 6.2 (static)  1.0.0-pl19_6_5, my release: 1
   Mandrake 7.2         1.0.0-pl19_6_5, my release: 1
   Mandrake 8.0         1.0.0-pl19_6_5, my release: 1
   LinuxPPC 2000 Q4     1.0.0-pl19_6_4, my release: 1

Although I've made ready-to-run binary packages, you might prefer to get the source RPM and build the binary RPM yourself ("trust is good, control is better"). It should not be much more difficult to do than installing a binary RPM.

If you have a RPM based Linux distribution not yet listed, or if you use another architecture than x86 or PPC, you might want to download the source RPM anyway and build the binary RPM yourself. If that doesn't work, please let me know. If you don't want to build an RPM yourself (you don't have a compiler installed or you just don't want to bother) and you're using the x86 platform, try the RedHat 6.2 static RPM, or if all else fails, the RedHat 6.2 executable.

Final note: I haven't built RPMS which do not make sense, such as an SVGAlib version for PPC (doesn't have SVGAlib) or the plain v1.1.0 version for PPC (keyboard won't work).

Back to top

Source files

(You can skip this if you are not interested in recompiling the RPM).

M4 template for SPEC file (rdesktop.spec.in from rdesktop-1.1.0pl19.9.0-jdl2)
Source RPM                (rdesktop-1.3.0-jdl1 modified original with built-in licence patch)
Source RPM                (rdesktop-1.2.0-jdl1 modified original with built-in licence patch)
Source RPM                (rdesktop-1.1.0pl19.9.0-jdl2.src.rpm)
Source RPM                (rdesktop-1.1.0pl19.9.0-jdl1.src.rpm)
Source RPM                (rdesktop-1.1.0pl19.8.5-jdl1.src.rpm)
Source RPM                (rdesktop-1.1.0pl19.8.4-jdl2.src.rpm)
Source RPM                (rdesktop-1.1.0pl19.8.4-jdl1.src.rpm)

(Old source files, not recommended):
SPEC file 1.0.0pl19-7-4
SPEC file 1.1.0 with OpenSSL
SPEC file 1.1.0 with OpenSSL
initial 1.1.0 Source RPM
old SPEC file
1.0.0pl19-7-4 Source RPM
1.0.0-pl19_6_5 Source RPM

If you wish to rebuild the source RPM, you'll need the GCC compiler and some standard GNU development utilities such as patch and the macro processor M4. The main file is called rdesktop.spec.in. When you install the source RPM, this file will be in your SOURCES directory. If you run this script, it will call M4 and generate a rdesktop.spec tailored to your system. You can then use this spec file (located in the current directory) to build the RPM. Note that rebuilding the SRPM with rpm --rebuild rdesktop-1.1.0-jdl1.src.rpm will probably not work and neither will the included rdesktop.spec: in most cases you will have to generate a new one with rdesktop.spec.in

For instructions on how to create a configuration for rebuilding SRPMS, I learnt a lot from the Mandrake RPM Howto. Note that it's better to rebuild not as root but as a normal user. Basically, once you've set up the RPM environment (see this Howto), it should be as simple as the following commands:

[download source RPM file to your SRPMS directory]
rpm --checksig rdesktop*.src.rpm
rpm -ivh rdesktop*.src.rpm
rpm -ba rdesktop.spec
cd ../RPMS/i386
rpm -Uvh rdesktop*.rpm

rdesktop.spec.in can take optional parameters: -NOUNIFIEDPATCH,-SVGA and -STATICOPENSSL. What these options do should be obvious, if not, see the discussion above about the different types of RPMS.

Back to top

Security of these RPMS

I have signed the RPMS with my PGP key. For more information on the security of my RPMs, read this. I've checked the rdesktop source and I can honestly say that I can't find a backdoor. Any security risks would rather exist in the RDP protocol itself than in rdesktop, an implementation of the protocol.

Back to top

OS/2 port of rdesktop

(last update: Apr 21, 2003)

I've have made a quick (proof of concept) port of rdesktop to OS/2. It's not a native PM port. You'll need EMX and XFree86/OS2. Rdesktop version 1.2.0 requires OpenSSL 0.9.7 or higher as well. I will not help you configure these. Sorry.

(BTW, if you want to connect to a Windows Terminal Server under OS/2 then there are the following alternatives to this approach: running Microsoft's Windows 3.x Terminal Server client under WinOS/2 [reported to be slow], or using the Java RDP client by HOB. And then there's also Citrix, but that'll cost more).

Download OS/2 executable

Several versions are available, in probable order of preference:

rdesktp3.zip (rdesktop-1.2.0-CVS-20030419)              (GPG sig)
rdesktp2.zip (rdesktop-1.1.0 with unified patch 19-8-5) (GPG sig)
rdp110.zip   (rdesktop-1.1.0)
rdp110u.zip  (rdesktop-1.1.0 with unified patch 19-8-2)
rdesktop.zip (rdesktop-1.0.0 with unified patch 19-5-10)
Each of these zipfiles contains a ready-to-run OS/2 binary, a patch from me, and some extra information. You will need the EMX runtime (emxrt.zip) and XFree86/OS2 to be able to use the executable. Get them from Leo, Hobbes etc.

The executables were built against EMX 0.9d, with emxfix04 and an older version of XFree86/OS2 I had lying around on CD. If that doesn't work for you, trying rebuilding the binary yourself (see below).

Once you have unzipped the zipfile, check out the documentation. Generally, you want to run the executable and specify a Windows Terminal Server hostname on the commandline.

Compiling the OS/2 executable

Depending on the version you want, you will need some of the following pieces of software:

Instrumental in making the quick OS/2 port were: Back to top

Related ports and binaries

People have ported rdesktop to several operating systems. Others are simply making available rdesktop binaries. You can find a list below.

The following clients are not based on rdesktop. Instead, they use source code and information from Microsoft under a non-disclosure agreement:

Back to top

Some links
Back to top
Revision history

Back to top

Back to Jacco's homepage