Howto | SeamlessRDP

Before proceeding please visit Cendio and Fontis and use their respective instructions in preference to this page.

Cendio SeamlessRDP

The Cendio SeamlessRDP component has two halves, a Windows executable as the “server component” for installation on the Windows server, and patches to the rdesktop application, to work with the server component. At the time of writing, these Cendio patches have now been merged into the rdesktop 1.5.0 and later core.

Once you have a binary on your Windows server, then from you Linux client, type:

$ rdesktop -A -s "c:\seamlessrdp\seamlessrdpshell.exe notepad"

Under W2K8, both seamlessrdpshell.exe, and the Windows application you wish to run with it, must be published terminal services applications. And seamlessrdpshell.exe must have command line parameters enabled, by running “TS RemoteApp Manager’s” “Add RemoteAppProgram” dialog (remoteprograms.msc).

Fontis SeamlessRDP

Fontis have further developed Cendio SeamlessRDP, to enable connection sharing, allowing a single rdesktop connection to launch multiple applications. When run in seamless mode, rdesktop creates and listens on a control socket. A new option allows rdesktop to be run in slave mode, which notifies the master rdesktop instance of a new command to be run and then exits. The master instance sends a client-to-server message to the SeamlessRDP server component, which runs the new command.

I see this development as fairly fundamental to the use of SeamlessRDP.

Installation of Fontis patch

Download source for the latest version of rdesktop from CVS (press enter when prompted for a password):

$ cvs login
$ cvs -z3 co -P rdesktop

Alternatively, download the rdesktop CVS snapshot which has been tested with the patch. Download the rdesktop patch to the checked out directory:

$ cd rdesktop $ wget

Apply the patch and compile:

$ patch -p1 < rdesktop.patch
$ ./bootstrap
$ ./configure
$ make

Download updated server component and unpack. Alternatively, obtain the seamlessrdp CVS snapshot or download direct from CVS, apply the seamlessrdp patch and then compile:

$ cvs -z3 co -P seamlessrdp
$ patch -p1 < seamlessrdp.patch


The following examples assume the SeamlessRDP server component files (seamlessrdpshell.exe, seamlessrdp.dll and vchannel.dll) have been unpacked to C:\seamlessrdp. To start a SeamlessRDP session, invoke rdesktop in the same way as before applying the patch:

$ ./rdesktop -A -s "C:\seamlessrdp\seamlessrdpshell.exe notepad" server

To run a new command inside the existing SeamlessRDP session:

$ ./rdesktop -l "calc"

New command-line options:

comments powered by Disqus