Book Excerpt: Using Windows Applications with JDS

An excerpt from O'Reilly's new book Exploring the JDS Linux Desktop, co-authored by LJ columnist Tom Adelstein.

Editors' Note: The following is an excerpt from Exploring the JDS Linux Desktop, a new book co-authored by Tom Adelstein and Sam Hiser and published by O'Reilly and Associates.

Using Windows Applications with JDS

You have now become conversant with the core programs of the Java Desktop System. Although you can see the power of the many Linux applications available on JDS, you may still have a need for software used on Windows computers. JDS can run Windows programs by using:

  • Remote Desktop Protocol (RDP) clients, which connect to a Windows Terminal Server

  • Native Linux Windows emulators

  • Virtual servers, which run on the GNOME desktop

We examine each of these, with the greatest focus on the use of native Linux Windows emulators.

In the past, people who had conflicts between software and operating systems would partition their hard drives and dual boot. If they needed to use Visio for drawing flow charts, they would boot into Windows, but if they ran a suite of Enterprise Applications, they would boot back into Linux. People consider dual booting tedious and unproductive.

Several solutions assist people to use Windows and Linux software together; most of these are found on the Linux side. In this chapter, we introduce you to the major solutions and offer installation details for a promising and popular solution: CodeWeavers' CrossOver Office.

We define emulation as a process of imitation (simulation) of one computer system by another. The imitating program, or device (emulator), accepts the same data, executes the same programs, and achieves the same results as the system it imitates.

Remote Desktop Protocol

JDS comes with a built-in client that can connect to a Microsoft server to run Windows applications. Known as the RDP, the protocol was developed to provide remote display, keyboard, and mouse connections and print streams over a network for Windows-based applications running on a Windows server. The print streams, keyboard input, and mouse clicks transmit over the network between the server and the terminal emulation software. Each user logs on and sees only his or her individual session, which the server manages transparently, independent of any other client session.

The JDS client runs with the X Window System and the GNOME desktop. Microsoft Terminal Services delivers the Windows desktop and the Windows-based applications to a wide variety of desktops, including those that normally do not run Windows. Through emulation, this allows the same set of applications to run on diverse types of desktop hardware.

Figure 1 shows the native JDS client, which connects to a Windows Terminal Server (WTS). This allows you to run your Linux desktop and Windows programs without having to dual boot. Figure 2 depicts the architecture that allows JDS to run WTS applications.

Figure 1. Built-In Remote Desktop Client for Windows

Figure 2. Interaction Between JDS and Windows Terminal Server Using RDP

WTS is used in large organizations, as its costs run very high. Aside from the cost of the hardware, Windows Server licenses, and Client Access Licenses (CALS), each user requires a WTS license, and each application requires licenses for people wanting to run the application. The value proposition of RDA sits with the user who uses a thin client solution.

Other solutions we discuss in this chapter provide access to Windows applications for far less money for individual users and provide and perform just as well.


WINE is the most used open source solution to run Windows software with JDS. WINE is an open source implementation of the Windows Application Program Interface (API). Windows applications run on WINE (the interface), which in turn runs on Linux. This produces an environment in which JDS and other Linux systems can run Windows applications side by side with native Linux applications.

For example, WINE allows you to share your desktop space between MS Word and Evolution, overlapping their windows, launching them, and minimizing them utilizing the desktop and window management features you've been using. The cutting and pasting tools, for instance, move text between the two applications in the same manner as they do between two JDS applications.

Since WINE is written in Linux code, it runs natively in JDS; therefore it consumes little memory, and it doesn't require a major investment. Windows' software performance is not diminished. In fact, some people report that a Windows application, running over WINE, offers a more responsive experience than the same application running on the Windows operating system, because Linux is such an efficient multitasking operating system.

WINE does not come bundled with JDS. If you want to use it, you have to add it. You can install it from its source code and run it from the command line (open a Terminal window, as shown in Chapter 5) or through one of the available commercial implementations.

Not all applications that run on Windows run on WINE. Many applications need special support, and WINE is being upgraded over time to support more and more of them. Currently, the most popular applications that can run on JDS, while utilizing WINE, are MS Office applications, Lotus Notes, Photoshop, Quicken, and Visio.

WINE does not require Microsoft Windows to operate, as it is an alternative implementation consisting of 100 percent Microsoft-free code that operates through the Linux kernel. WINE provides both a development toolkit (Winelib) for porting Windows source code to JDS and a program loader, allowing many unmodified Windows programs to run on JDS. However, running proprietary Windows applications does require a license from the software vendor--it's illegal to take an unlicensed copy of the software and install it on your system, whether you're using WINE or anything else.

WINE provides:

  • Support for running many of the most popular Win 95/98, NT/2000/XP, Windows 3.1 and DOS programs

  • X11-based graphics display, including remote display to other systems running X

  • DirectX support for games

  • Support for sound and alternative input devices

  • Printing through a PostScript interface driver to standard Unix/Linux PostScript print services

  • Support for serial modem devices

  • TCP/IP networking

  • Support for scanners, CD writers, and more

Now, let's look at the commercial implementations of WINE and other solutions that, like WINE, do not require dual booting.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


pascalv's picture

way too slow (yet)

Anonymous's picture

way too slow (yet)

Crossover Office 4.0

Heinrich Geis's picture

I have tried to run Windows apps on an IBM Thinkpad under SuSE Linux 9.2 using CXOffice 4.0. Acrobat 5.0 would not install at all. When trying to create an html-file with Dreamweaver MX the application tried to load all kinds of Windows components which are not available under Linux. The compatibility list on Codeweavers web site is to be taken with a grain of salt and the small print lists several limitations of CXOffice and lots of "would's" and "will be functional in the coming releases".

They all work fine for me. I

Anonymous's picture

They all work fine for me.
I use Dreamweaver all the time and Office and iTunes work just as good.

Maybe it's a problem specific to you.

Crossover Office 4.0

Heinrich Geis's picture

I have tried to run Windows apps on an IBM Thinkpad under SuSE Linux 9.2 using CXOffice 4.0. Acrobat 5.0 would not install at all. When trying to create an html-file with Dreamweaver MX the application tried to load all kinds of Windows components which are not available under Linux. The compatibility list on Codeweavers web site is to be taken with a grain of salt and the small print lists several limitations of CXOffice and lots of "would's" and "will be functional in the coming releases".

Crossover Office 4.0

tadelste's picture

It's too bad you had trouble with codeweavers on SuSE 9.2.

You should contact their support -which has been very responsive to me.

I run Acrobat with no problems as well as a number of additional Windows applications. You should have also upgraded to Crossover 4.1 which would have been free since it was mostly a bug fix.

I have referred many clients to Codeweavers and haven't had a single complaint. I also tested it on SuSE 9.2 Professional, Novell Linux Desktop and SLES 9.0 with no problems.

Sometimes, it's better to resolve a problem with the people from whom you buy a product than to post your dissatisfaction as comment on a public web site. That's known as etiquette.

I think you're being kind of

greg's picture

I think you're being kind of harsh here; he told the truth
about his experiences and offered an honest opinion of the
product. He's perfectly entitled to state "It didn't work for
me" and you're perfectly entitled to reply with "It would have
if you'd used version X.X; it works for me." This is public
discourse, not rude behaviour.

Personally, I've been looking at Crossover Office for some time,
but my family has been so happy with OO.o that we haven't seen
the need to go that route yet. Still, I'm happy to hear that people
have good experiences with it.

Best wishes...

I think you're being kind of harsh?

Anonymous's picture

I beg your pardon Greg. Harsh? What kind of psycho babble are you talking about? I didn't see a harsh word in any of these comments.

BTW: I'm using Codeweavers and it's plenty fine. It also keeps Microsoft out of the house.

Best wishes?

Don't expect bad vendor "support" for Linux products

Anonymous's picture

It's pretty normal for vendors to give Microsoft Windows customers really bad support, since they can get away with it. The Linux distributons and ISVs selling to the Linux market tend to be better at admitting something is their fault and giving real help. Is it just because the market is still smaller and the support will get worse when it's worth the vendors' while to outsource it?h

What a FOOL you are! No wi

Anonymous's picture

What a FOOL you are!

No wishes for you.

Don't neeeeeeeeeeeeeeeeeeeeeed!!!!

Anonymous's picture

Why ppl wants to use MS products under Linux/UNIX? U should stick with one environment and it's dedicated apps or you can have a dual boot. Don't need to mix up or mess up.

Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
On Demand
Moderated by Linux Journal Contributor Mike Diehl

Sign up and watch now

Sponsored by Skybot