So you wanna have an opensource RDP client for Windows. Well .. no problem. Here is what you do:

Visit www.cygwin.com and download setup.exe. When downloaded, you must launch setup.exe and install a complete Cygwin environment. Cygwin is only needed when compiling Rdesktop, so don´t worry about the diskspace usage. You will get it all back again, when deleting cygwin.

When Cygwin has been installed, it´s time to visit www.rdesktop.org, and download the latest release of the Rdesktop client. Save the tarball in the cygwin root folder, which defaults to c:\cygwin. At the time of writing, the latest version of Rdesktop is 1.6.0. When the package has been downloaded, it’s time to start the Cygwin XWin Server, and start compiling Rdesktop. Type the following commands into the shell, that starts with the X server:

Rdesktop has now been compiled (lucky you), and it’s time to collect all needed files for the RDP client, and create a single .zip file containing the Rdesktop Win32 distribution. Type the following commands into the shell for creating the Rdesktop distribution:

By now you should have a Rdesktop distribution in your Cygwin root, named Rdesktop-1.6.0-Win32.zip. This .zip file contains all you need, to connect to your RDP compliant hosts (ie. Windows hosts), from any Win32 computer:

rdesktop.exe [hostname]

Troubleshooting:

If you are having trouble with compiling your own Rdesktop client, you may choose to download the package that I created for this article: Rdesktop-1.6.0-Win32.zip

If you should see the following error message:

ERROR: Failed to open display:

.. then your X-server is not running (download and install Xming if you need one), or your DISPLAY environment variable is not set. Set the needed variable with this command:

Here you see a screenshot of an Perl/TK application, which isn´t quite like other Perl/TK applications. The difference between this and almost all the other TK applications you may be using, is that this application has all the nice images included in line. Wow .. this is neat stuff, but how is it done?

Sit back, and i’ll tell ya. :-)

Well .. first of all, you need to organise all the .gif images, that the application need, in a directory structure that makes sense. It could look something like this:

images/logos
images/buttons
...

When the images has been organized, you need to create a script, that will convert the imagedata to plain text. This script is called generate.pl, and must be located just outside the images directory. Here is the code for the generate.pl script: