The RDP client software is the fundamental element that allows a computing device to attach to and run sessions off of a Terminal Server. Without the client software installed, a device cannot run RDP sessions. From the Terminal Server's perspective, it doesn't matter which client is used or how a client connects to the server. This is the true beauty of Terminal Server. All users get the same application experience—regardless of their client platforms.
Fundamentally, the RDP client software does three things:
It allows you to find a Terminal Server to connect to.
It establishes the remote sessions via the RDP protocol with that Terminal Server.
It connects and manages client peripherals.
In order for the RDP client software to connect to a Terminal Server, the client software must be able to find the Terminal Server. Generally this is done through a DNS name, but it can also be accomplished by IP address, by enumerating the domain, or by clicking a link in a web page.
Once the user selects which server they want to connect to, an RDP session is established. As that session is being established, the RDP client software works with the Terminal Server to map various client components (drives, ports, printers, the clipboard, etc.) to the server for use in the user's session.
Some versions of the RDP client software allow users (or administrators) save their settings into configuration files. Then, for future sessions, a user can simply double-click the configuration file to launch the RDP client software with the saved configuration.
All RDP client software falls into two basic categories:
RDP clients available from Microsoft.
RDP clients available from everyone else, including licensed, unlicensed, open source, hobbyist, and experimental clients.
In 1998, Microsoft licensed the core Terminal Services technology (called "MultiWin") from Citrix Systems. Part of the licensing agreement specified that Microsoft would only provide RDP clients for select platforms. To that end, Microsoft has written and provides full official support for RDP clients on the following three platforms:
32-bit Windows platforms
Windows CE / Pocket PC
Mac OS X 10.1
Today's version of the RDP client from Microsoft is called the Remote Desktop Connection Client, or simply, the "RDC client" (not to be confused with the "RDP" protocol).
Although your choice of platforms is limited, the individual clients themselves have quite a bit of functionality. The latest RDC client (version 5.2 ships with Windows 2003) for 32-bit Windows computers lets you to manipulate the entire session configuration from the client. This is the primary client that Microsoft supports and recommends.
An extension of this client is "RDC for the Web" (or what was formally known as the Terminal Server Advanced Client). This client is in the form of an ActiveX control, and allows users to connect to Terminal Server applications via web portals. (This client is fully covered in the Chapter 11.)
The Windows CE / Pocket PC RDP client is often preinstalled on thin client devices, although you can download it from Microsoft for use on PDAs. The Windows CE client supports most of the RDP 5.2 functionality, though its interface is not as advanced as the full RDC client.
A more recent addition to the official Microsoft client roundup is the RDC client for Mac. While only Mac OS X 10.1 and newer are supported, this client allows you to connect to a Terminal Server just as you would a normal Windows-based RDC client.
A few years ago, you had to use third-party server software (such as Citrix MetaFrame) if you wanted to connect to a Terminal Server from a client platform that wasn't supported by Microsoft. However, times have changed and you can now get third-party RDP client software for any platform which allows you to connect to a native Terminal Server without any third-party server software.
For Linux, UNIX, and any other environment you want to compile it for, an open source RDP client is available from www.rdesktop.org. Like most Linux software, this client is freely available under the GNU public license (GPL). This client is popular for use with old desktops. You could potentially take a large number of older PCs, reconfigure them using Linux as a base OS, and use the client to connect to the Terminal Servers. This approach falls along the lines of the "traditional desktop managed as a thin client" outlined back in Chapter 9. The rdesktop.org client is also very popular in Macintosh environments since the official Microsoft version requires Mac OS X 10.1.
If Linux is not really your bag, you can do the same thing using DOS. Cl udio Rodrigues has developed a DOS version of the RDP client available for purchase from his website, www.terminal-services.net. Although the Linux client from rdesktop.org is free, the DOS client could be an alternative if you don't have time to learn Linux.
HOB sells a Java version of the RDP client at www.hobsoft.com. Their Java client works on just about every Java platform.
Finally, a company called DDH Software has even developed RDP client software for Palm OS. You can purchase that from www.ddhsoftware.com.
Between the Windows and Macintosh versions from Microsoft and the third-party open source, Java, DOS, and Palm clients, you should be able to provide your Terminal Server applications to users regardless of their client platforms.