rdesktop for the Solaris OS

Abstract

rdesktop is an open source client for Windows NT Terminal Server and Windows 2000/2003 Terminal Services, capable of natively speaking Remote Desktop Protocol (RDP) in order to present the user’s NT desktop. It does not require the use of extensions on the remote server. You simply need to install the rdesktop package on the local Solaris system. It can also be used to connect to Windows XP computers using the Remote Desktop Protocol (RDP).

rdesktop runs on most UNIX based platforms with the X Window System.Rdesktop allows you to open up a Windows desktop remotely and perform any function just as if you were sitting directly in front of it. This is useful in datacenters where you will often find a mix of Windows and Linux/Unix machines. Being able to remotely connect to each other saves time and productivity.

An alternative to rdesktop is Citrix. However, Citrix costs money, is larger than rdesktop, is slower than rdesktop, and requires server side extensions to be installed.

The official home of rdesktop is [www.rdesktop.org] Other than a brief description of the rdesktop project, the site is very sparse. Your best bet to find more information about rdesktop is reading this white paper and perusing internet forums/communities.

Requirements

Solaris system requirements

  • Networked
  • Compiler on Solaris system
  • Extraction tool on Solaris system

My Solaris test system

  • Solaris 10
  • P3 1Ghz
  • 512mb ram
  • 120GB HDD
  • 10/100 NIC

Windows system requirements

  • Networked (Known IP or hostname)
  • NT, 2000, 2003, XP
  • RDP enabled for XP
    • Right click on [My Computer] > [Properties] > [Remote tab] > CHECK [Allow users to remotely connect to his computer]
  • Terminal Services installed/running on Windows PC (if server OS)
  • Licensing working (if necessary)
  • Ensure you have allotted enough concurrent connections

My Windows test system

  • Windows Server 2003 EE
  • P4 2.53Ghz
  • 2GB ram
  • 74GB HDD
  • Gigabit NIC)

My main goal was connecting to the server and experiencing Terminal Services.

I also successfully connected to a Windows XP Pro SP2 boxOutside network

To connect to a system outside of your LAN, you need to enable port forwarding on your router. By default rdesktop tries to connect to the system using port 3389 which is the default RDP port. You need to configure your router to forward all requests on port 3389 to your LAN IP address. (In my case, I set up my router to forward all requests on port 3389 to 10.0.1.107. (Again, this is only needed if you are connecting to your Windows system from a Solaris system outside of your network. I.E. – client jobsite or your home)

Procedures

The installation, assuming your system is version 10 and up to date, is extremely simple and straight forward.

  1. Browse to [http://sourceforge.net/projects/rdesktop] and download [rdesktop-1.5.0.tar.gz]
    • We will be using the latest release of rdesktop which is 1.5.0 – (As of 9/13/2006)
  2. Download this small package to your computer.
  3. Extract and install the program

tar xpfz rdesktop-1.5.0.tar.gz

cd rdesktop-1.5.0

./configure

make

make install

Using rdesktop

rdesktop is very simple to use. All it really does is provide you with an X window to view your remote system. To remotely connect to your server/PC just simply point rdesktop to the IP of your box running Terminal Services. (In this instance, my remote server running Server 2003 has an IP address of 10.0.1.107)

  1. rdesktop 10.0.1.107
  2. This will open rdesktop and your “virtual desktop” of your remote machine should appear.
  3. rdesktop –u jason 10.0.1.107 (-u refers to username of remote system)
  4. Adding your remote username in the command will pass your username off to the Terminal Service login box. You will then only need to enter your password.

Other Commands

(Type rdesktop for a complete list)

  • -u: username
  • -d: domain
  • -s: shell
  • -c: working directory
  • -p: password (auto logon)
  • -n: client hostname
  • -k: keyboard layout (hex)
  • -g: desktop geometry/screen size (Width x Height — i.e. 1024×768)
  • rdesktop Jason 1024×768 10.0.1.107
  • You can use rdesktop in full screen mode or in windowed mode. You may experience lag running in full screen mode. Generally, the smaller the window the faster/more responsive the rdesktop session will be. Also, in windowed mode you can have more than one rdesktop session active to control multiple servers.
  • -f: full-screen mode
  • -b: force bitmap updates
  • -e: disable encryption (French TS)
  • -m: do not send motion events
  • -l: do not request license

*NOTE: To make things go quicker you can create a script for each machine you want to connect to. Once doing this, you can simply run that script without having to login each time.

Errors/problems

ERROR: recv: Connection reset by peer – This is most likely due to a licensing issue where the client side license is missing.

Proposed solution

  • Try running “-n testme” ./rdesktop -n testme yourservername
  • The “-n” will choose a client name and therefore be given a 90 day temporary license for that client. After 90 days, change “-n testme” to a different name, such as “testme2”. You can do this indefinitely. Some versions of rdesktop use the –built-in-license flag as well.

Further reading

rdesktop Forum archive

http://www.rdesktop.org/archive/2001/threads.html#00270