In my previous post I looked at using the seamless-mode function of rdesktop to open a Windows XP application window on the Ubuntu desktop. While this worked quite nicely for running a single application there are various workarounds for opening more than one remote application or session. The most promising of these is the Fontis IT version of rdesktop which features “connection sharing” whereby a single rdesktop connection can be used to launch multiple applications.
I followed the directions on the Fontis site for installing rdesktop but found that I had some visual issues with the CVS build, so I installed the older version that has been tested with the patches. If you want to install the latest build from CVS you will find the instructions on the Fontis site here.
Before installing rdesktop I needed to install the following packages:
sudo apt-get update sudo apt-get install autoconf sudo apt-get install libssl-dev sudo apt-get install libx11-dev sudo apt-get install patch
With that out of the way we can set about downloading and extracting rdesktop:
wget http://www.fontis.com.au/system/files/rdesktop_src.tar.gz tar xzvf rdesktop_src.tar.gz
Next we need to download and compile the patches for rdesktop:
wget http://www.fontis.com.au/system/files/rdesktop.patch patch -p1 < rdesktop.patch cd rdesktop ./bootstrap ./configure make
At this point we have rdesktop ready for use on Ubuntu so let’s look at setting up Windows XP Pro next.
On your Windows XP Pro system we need to download the updated server component. Unzip the file and copy the contents to C:\seamlessrdp.
Make sure that you enable Remote Desktop in XP by clicking Start, Control Panel, System, then the Remote tab followed by the Allow users to connect remotely to this computer checkbox.
Now we are all set to run multiple XP application windows in Ubuntu. This command will open a “master” seamless RDP session:
cd rdesktop ./rdesktop -A -s "c:\seamlessrdp\seamlessrdpshell.exe C:\Program Files\Internet Explorer\iexplore.exe" <XP Pro IP address>
If this “master” application (in this case Internet Explorer) is closed you will find that you are unable to remote into XP again as you will still be logged in. But before we tackle that let’s quickly look at how to run another Windows application.
Open a new terminal window and issue this command:
cd rdesktop ./rdesktop -l "calc"
Now you will have Internet Explorer and Calc open in Ubuntu.
While this is certainly functional I wanted to make the seamless rdesktop experience a bit nicer. So I created a very basic application in Visual Studio 2010 Express which I always run as my master session application in XP. This application gives me shortcuts to my most used applications and it has the close button disabled so that I cannot accidentally close my master seamlessRDP session. It also has a menu that lets me terminate the rdesktop session by issuing the “shutdown -l -t 00” command on XP to log me off.
After that I just needed a script and a launcher to run rdesktop on Ubuntu with the correct parameters to run my application.
I created a file called Remote Apps.sh in my home folder:
cd /home/<username>/rdesktop ./rdesktop -A -s "C:\seamlessrdp\seamlessrdpshell.exe C:\seamlessrdp\RAM.exe" <IP address>
Here RAM.exe is the name of the application that I made in Visual Studio and <username> is my login name on Ubuntu.
To create a Launcher on the desktop right click the desktop in Ubuntu and then select Create Launcher. Type in a name for the Lanucher and then click the Browse button and select the Remote Apps script in your home folder and click OK.
Here are a few screen-shots of the finished product: