Linux in Government: Linux Desktops in the Enterprise with Microsoft Terminal Services

by Tom Adelstein

Enterprises considering Linux as an alternative desktop to Microsoft Windows often believe they have some essential Win32 applications or tools that prevent them from making the switch. I have seen CIOs eliminate the Linux option because someone advising them failed to mention how Linux can run Win32 applications. In fact, Linux has the ability to run Windows applications in a number of different ways.

The Walt Disney Company, for example, has deployed Linux desktops successfully by using WINE to run some Windows applications such as Adobe Photoshop. Disney Animation first deployed Linux in 2002. As recently as late March 2005, Disney advertised for a Linux Technical Support Engineer.

To give you an idea of the kind of Linux personnel the company was looking for, here's a link to the Web site advertisement. An excerpt from the ad reads:

The (Technical Support Engineer) TSE will provide hardware and software support to our Artists and Developers in a Linux production environment. The TSE will support our all-CG production of Chicken Little in addition to other films and projects.

We're looking for intelligent, committed people with strong understanding of a Unix/Linux production environment, great interpersonal skills and a love of the creative process.

This is a Linux-centric position. Candidates without strong Linux or Unix experience will not be considered.


  • Analyze and fix s/w and h/w for production and development.

  • Production support via phones and email and live at desk-side.

  • Liaison between technology and production departments.

  • Develop and document tools for team processes.

  • Quickly analyze find creative solutions for technical problems involving FA artists and computer h/w, s/w and systems.

Other companies, such as Sun Microsystems, have found that terminal servers allow them to run some Win32 applications. Linux distributions provide facilities for Windows Terminal Services and the Citrix MetaFrame XP Presentation Server.

Although Linux has its own terminal services, using Win32 servers can allow enterprises to reap the large benefits of Linux deployments. Let's take a look at an example of a communication from a member of an organization using Win32 applications who wants to change to Linux as his full-time desktop:

We have several packages which I have to use at work. They include stats packages SPSS v9+, HLM4, Streams, LISREL and Nud*ist but I want to change to Linux.

In this situation, the user has a specific set of tasks in his corporate environment, and the software he uses is Win32 packages. Here's are their expanded descriptions.

  • SPSS generates decision-making information using statistics to help users understand and present results within tabular and graphical output. This data analysis tool enables users to make decisions by uncovering key facts, patterns and trends. It generally is used for data mining, data management and database analysis, market and survey research and general research.

  • HML is a product of SSI Scientific Software, and it stands for Hierarchical Linear Model. It has a range of hierarchical models and presents graphical displays of data, including group-specific scatter plots, line plots and cubic splines that can be color coded by values of predictor variables. It also produces box-plots displayed for overall data and data grouped within higher-level units.

  • STREAMS, or Structural Equation Modeling Made Simple, has two main functions: to be a tool for teaching and learning structural equation modeling (SEM) and to be a productivity tool for modelers.

  • LISREL also comes from SSI. It functions as a structural equation modeling package that can deal with multilevel models, factor analysis and two-stage least-squares estimation.

  • Nud*ist stands for a Nonnumerical Unstructured Data by Indexing, Searching and Theorizing. It provides a qualitative research package that uses a variety of search tools to scan and code texts. The product now is called N6 and comes from QSR International.

Because this user has Windows XP Professional, he can enable terminal services and run any of the programs mentioned above on Linux using rdesktop. You would need two machines or could share a system running XP. With the price of hardware so low today, that could be an option. Also, by using rdesktop, the programs often run faster on Linux than they do on the host machine. Another option would be to run Win4Lin.

Some people like VMware, and reviewers say version 5 is much improved. I used previous versions going back to 2.0, but I do not need it for my current work. One might consider using it, though, as memory is cheap and one can put 3GBs of fast DDR RAM on the newer and budget-minded PCs available today.

The software listed in the example above, from SPSS through Nud*ist, does not run in Codeweavers CrossOver Office or in any of the WINE derivatives. A couple of considerations do exist, however, within the Linux application base. STATA, for example, appears to be an alternative statistical package in the same family of applications but it also runs on Linux. LISREL 8, in fact, is available for Linux on Intel-compatible computers.

To keep things simple, however, perhaps the best solution for this user would be to use rdesktop. He might choose to use TSClient, a front end for Linux rdesktop, as shown in Figure 1.

Figure 1. TSClient, a Front End for rdesktop

In organizations that use Linux analysts to evaluate their open-source strategies, we use a rule of thumb that says 10% of the user population might need Windows. The user with the statistical packages would fall into the 10% category. Typically, we're able to utilize NT 4.0 Terminal services, Windows 2000 Server, Microsoft 2003 Server terminal or Citrix to fill those needs.

Organizations need to have some commitment to Linux, too, as the licensing for Win32 terminal services run high. If a company can save money using Linux, then the savings still are significant for licensing that 10% of the user population to have terminal services.

Background on Windows Terminal Services

UNIX and Linux have had terminal services available since their inceptions. But when Microsoft released Windows NT 3.51, it did not offer such facilities. Microsoft granted Ed Iacobucci of Citrix access to NT source code so he could develop multiuser services for NT.

Some time after that, Citrix released a product called WinFrame that led Microsoft to license Citrix technology in 1997. Microsoft incorporated Citrix technology into NT 4.0. In 1998, Microsoft released a beta of NT Terminal Server code named Hydra. Microsoft superseded the NT add-on services with built-in terminal services features offered in Windows Server 2000 and 2003.

Microsoft later included the terminal server capabilities in Windows 2003 and Windows XP Professional. That inclusion allows users to log in remotely from various types of workstations. When logging in, users create their own client sessions on the server. Linux and users are familiar with remote logins.

Several options exist for running terminal servers in today's enterprise environment. The two major players include Microsoft and Citrix. Some people might feel that for Win32 applications, Microsoft terminal services would be the default choice for their enterprise. In many instances, however, that might not be the case.

The company that licensed the technology to Microsoft for terminal services still offers a suite of applications called MetaFrame Access Suite. It consists of a handful of products that run on UNIX servers, including AIX, HP-UX, Solaris and Windows Server 2003. In 2002, Citrix announced it also would port server products to Linux. Today, Citrix offers the Independent Computing Architecture (ICA) client for Linux. See Figure 2 to get an idea of the ICA interface.

Figure 2. The Citrix ICA Client (not configured) for Linux

Citrix's MetaFrame XP Presentation Server allows users to connect any client device to any application running on the presentation server, or terminal server . Clients are available for Linux, Mac, UNIX, Windows and EPOC hand-held devices. The UNIX version of Presentation Server exists so ICA clients can run UNIX and Java applications on a terminal server. Citrix has a significant presence in enterprises where the operating system environment is a heterogeneous mix. Presentation Server derives a lot of its power is its ICA () protocol, the presentation protocol used on the Citrix platform for transmitting keystrokes, mouse movements and screen updates between thin clients and the presentation server. ICA is the Citrix counterpart of Microsoft's Remote Desktop Protocol (RDP) used by terminal services.

Some Final Thoughts

Depending on the size and resources an organization has available, several options exist for using Linux to run Win 32 applications. Of course, we focused on Win32 terminal services in this article. The current availability of rdesktop and TSClient gives CIOs the ability to deploy Linux desktops and continue to use existing applications they already paid for with little incremental cost.

As independent software vendors begin to port their goods to the Linux desktop, terminal services for Win32 applications provides a convenient mode of transition.

Tom Adelstein works as an Analyst with Hiser+Adelstein, headquartered in New York City. He's the co-author of the book Exploring the JDS Linux Desktop and author of an upcoming book on Linux system administration, to be published by O'Reilly and Associates. Tom has been consulting and writing articles and books about Linux since early 1999.

Load Disqus comments