X
Tech

Windows and Linux: in perfect harmony

Windows and Linux don't have to be mutually exclusive; we round up 5 products that prove it.
Written by ZDNet Staff, Contributor

Within this story, you'll find these pages:
  1. Windows and Linux: in perfect harmony
  2. WinToNet
  3. VMware GSX Server
  4. VMware Workstation 2.03
  5. NeTraverse Win4Lin 3.0
  6. Wine

Fact of life: Nothing does everything for everyone, even Linux. That's why, as Linux's list of native applications continues to ramp up to more sizable proportions, Windows is still a nice thing to have around.

We called on five Windows-on-Linux solutions--VMware GSX Server, VMware Workstation, Win4Lin, Wine, and WinToNet--to strut their stuff for us. With an emulator (or, in the case of Wine, a Windows compatibility layer), you can maintain the Linux foundation while being able to call up Windows applications as needed. And WinToNet takes a different tack; it's a Windows NT/2000-based product that can serve up Windows applications to any client with a browser--including Linux. Although each of these packages has its own set of quirks, none is terribly difficult to use, and all tend to work to varying degrees, depending on what you're looking for.

Don't forget the obvious: For everything but Wine (and possibly also for Wine right now), you'll need a copy of Windows itself and copies of any applications you might want to run. Win4Lin, Wine, and VMware provide only the platform, not the software. And, although Linux will function in a modest environment, modesty has never been one of Windows' virtues. For the emulation products, you'll need 64MB of memory to run Windows 95; 128MB is Windows 98's sweet spot.

To test the emulators, we rolled out an 800MHz Pentium III system with a 6.4GB IDE hard drive, a Diamond Viper V770 graphics card with an Nvidia TNT2 chip, and baptized it with Red Hat 6.2. We tested WinToNet on a Dell PowerEdge 2400 with 512MB of RAM.


Within this story, you'll find these pages:
  1. Windows and Linux: in perfect harmony
  2. WinToNet
  3. VMware GSX Server
  4. VMware Workstation 2.03
  5. NeTraverse Win4Lin 3.0
  6. Wine

Providing a standard set of end user business applications has long been a challenge for system managers grappling with a mixed platform environment. Many software and hardware products t address multiple platform issues, but they're often difficult or expensive to implement and maintain. With WinToNet, Menta Software offers a solution that allows any device capable of running a Java-enabled Web browser, such as a Linux workstation, to access and run Windows applications. The program also allows access to software available through a corporate intranet.

No Java jive

WinToNet is a Windows NT and 2000 server package that delivers a native Windows application interface to any Java-enabled Web browser. WinToNet captures the screen output of applications running on the Windows NT Server and directs it to the requesting client. On the receiving end, a Java application on the client captures keystrokes and mouse movements and transmits that information back to the NT Server. WinToNet is designed to work with any application running on NT Server that uses standard Win32 API calls; almost every piece of Windows software available today should work with WinToNet.

NT required

Installing WinToNet is simple. The distribution consists of two executable programs: a server component and a Web component. You can install each separately or consolidate them on a single server. For our testing, we installed both modules on a single server, a Dell PowerEdge 2400 with 512MB of RAM running Windows NT 4.0 SP6. The installation process took five minutes from start to finish, including the obligatory reboot after installation. During installation, a WinToNet user account is automatically created; we had to perform one manual step to grant that account a Log On Locally right using User Manager.

WinToNet installs a sample site containing a few applications: Notepad, Minesweeper, and Calculator. Upon launching the first app, WinToNet downloads the Java client software to the local computer and prompts you for a Windows NT login. Users must log in to the Windows NT system using an NT-recognized username and password.

Serving Java

For our tests, we used the template provided during installation and modified it to add our own applications. On our NT server, we wanted to serve several Microsoft applications and network administrator utilities. With a few modifications to the template, we made the applications available via WinToNet in less than five minutes. WinToNet also includes a special Quick Launch window that appears automatically upon user login, so users can launch applications using that window rather than having to manually create a Web page to provide access them.

To add applications to the roster of available programs, WinToNet includes a series of installation utilities. Some applications, such as Microsoft Office, are not designed to function in a multiuser setting from a single server, so we had to take special care to make Office applications available. The utilities monitor the system to detect global changes (that is, Registry changes) and use this information when serving applications to individual users.

Nice features

One feature we particularly like is the concept of sessions. This feature allows a user to reconnect to the WinToNet server after a session has been interrupted by any type of disconnection. Upon reconnecting, all applications that had been running when the service was disrupted will be restored on the user's desktop. This excellent failsafe feature will help prevent data loss.

On the server, a special utility allows the administrator to monitor all WinToNet managed sessions and the applications currently running for remotely connected users. Similar to the Windows NT Task Manager, this monitoring utility lets the administrator terminate sessions and applications as necessary. It's also possible to service the Task Manager as a WinToNet hosted application to monitor the WinToNet environment remotely.

However, during testing, we found that some functions didn't work. For example, when editing a document in Microsoft Word, we were unable to access context, or right-click, menus. In fact, right-clicking didn't work in any of the applications we tested, although the vendor indicates in its release notes that it works inconsistently. Also, printing to a local printer didn't work without special setup, which consisted of making the local printer a network-shared printer and attaching it to the Windows NT server. We were able to get a local printer shared using SAMBA on our Red Hat system, mounted on the NT Server. Clearly, this workaround would not function over an Internet connection.

Sticker shock

There are two licensing programs for WinToNet: the single-user license costs $295 and a multiuser license is priced at $3,495 per CPU. There aren't any per-user licensing fees or additional per-platform charges, but the software can still be an expensive proposition considering how common dual-processor NT servers are today. An online demo is viewable at the company's Web site, but no downloadable demo version of the software is available at this time.


Within this story, you'll find these pages:
  1. Windows and Linux: in perfect harmony
  2. WinToNet
  3. VMware GSX Server
  4. VMware Workstation 2.03
  5. NeTraverse Win4Lin 3.0
  6. Wine

One of the major advantages of mainframe operating systems such as IBM's MVS (Multiple Virtual System) and VM (Virtual Machine) is the ability to create a virtual machine--a self-contained environment in which a guest OS runs on top of a host OS. Each virtual machine can host an independent operating system, isolated from any others; any problems or crashes in one VM will not bring down another. With IBM mainframes running MVS/VM, the ability to run virtual machines on a single mainframe eliminates the need to have multiple multimillion-dollar mainframes for separate production and test systems. With VMware GSX Server, companies can reap the benefits provided by mainframe virtual machines on standard PCs running Linux.

Features

GSX Server supports a maximum of four virtual machines per processor; it also supports multiprocessor systems with up to eight processors. Theoretically, it's possible to run as many as 32 virtual machines simultaneously. As you'd expect, the product has some hefty system requirements: a minimum of 256MB of RAM, at least a 400MHz CPU, and, because each VM requires a complete OS installation, a significant amount of disk space. GSX Server itself consumes only about 30MB, depending on the options installed. For guest operating systems, GSX Server supports most flavors of Linux, in addition to Microsoft products ranging from MS-DOS 6.0 to Windows 2000.

Installation

We tested GSX Server on two systems: a 400MHz Dell OptiPlex with 256MB of RAM and a Dell PowerEdge 1GHz server with 512MB of RAM--both running Red Hat 7. After downloading 20MB of RPM packages for the GSX Server console and the Windows-based console and Web administration tool, installation required nothing more than an rpm -i command.

Configuring the product requires a little more effort. To set configuration parameters, you must run a Perl script that prompts for the required information; fortunately, the default choices are usually the most appropriate. Once this process is complete, you must run a virtual machine creation wizard to create a configuration file for each guest operating system. Also, you may need to tweak the configuration files for the host operating system so that devices can be detected properly by the guest OS.

Testing

To test GSX Server, we installed three guest operating systems: Windows 98 SE, Windows 2000, and Red Hat 7. The installation process for each guest OS is virtually identical to each one's regular installation process. For instance, to install Windows 98, we inserted a Windows 98 boot floppy into our system's floppy drive and put the Windows 98 CD into the CD-ROM drive. Once it powered up, the virtual system booted to the floppy, and the installation process proceeded normally. The Windows 2000 installation process suffered from excruciatingly slow probing for hardware but was otherwise typical. Installing a Linux guest operating system, on the other hand, was simple and quick and caused no hardware detection problems.

Once a guest OS installation is complete, you can use the GSX Server console to boot and interact with each operating system remotely. The console is an X application window that displays the output of a virtual machine's OS, allowing you to boot and interact with each guest OS from any remote system on your network. Since each OS can be configured with different virtual network settings, you can run two separate Web servers on one machine, for example, one under the Red Hat guest OS and another under Windows 2000.

Hefty hardware needed

With such flexibility, it's not surprising that GSX Server is a resource hog. When we launched our Windows 2000 guest OS, performance on our 400MHz OptiPlex with 256MB of RAM slowed to a standstill. Our PowerEdge box fared much better; with twice the amount of RAM and the 1GHz CPU, there was a noticeable improvement in responsiveness.

Bottom line

VMware GSX Server is an enterprise-level product and is priced accordingly. The electronic distribution, which can be downloaded from VMware's Web site, costs $2,499, and a packaged version including documentation costs about $50 more. VMware's Workstation product, designed for individual users, is available for $299 and offers much of the same functionality. Considering its tremendous power and flexibility, VMware GSX Server is an absolute must for any company looking to maintain multiple centralized development environments.


Within this story, you'll find these pages:
  1. Windows and Linux: in perfect harmony
  2. WinToNet
  3. VMware GSX Server
  4. VMware Workstation 2.03
  5. NeTraverse Win4Lin 3.0
  6. Wine

Not everyone needs VMware, and its relatively high price makes it better to know in advance whether you do or not. VMware is a notch up from being "just" a Windows emulation environment. It's actually a hosting tool that will let you load a variety of guest operating systems simultaneously on either Windows or Linux environments. It's a dream come true for an IS manager who's supporting multiple platforms and who doesn't want to spend the day wheeling her swivel chair from box to box.

Hefty requirements

Consider carefully the possible enormity of what VMware will allow you to do. In setting up a single Windows 98 guest to adequately mimic a standalone environment, you'll need to dedicate at least 64MB RAM (128MB would be preferable) to it. And, whereas the specifications indicate that 500MB of hard disk space will suffice, the installation software recommends 2GB. That little surprise sent us back to square one with Red Hat 6.2 to reconfigure our partition sizes. And those are the requirements for just one guest operating system. It's something to consider if your Linux machine started life with the traditional minimalist elements.

Installation

You install VMware while logged in as the user who'll be running the guest operating system; you don't need to be root. You have a choice of either an RPM or Gzipped Tar installation, and, although the process is rather simple, we recommend that you download the 98-page PDF Getting Started Guide from VMware's Web site in case you get nervous.

The first part of the installation puts the VMware software on your system. Basically, you accept the defaults and agree to the license, create a subdirectory for the license agreement, and move a copy into that directory. Then you're almost ready to meet the VMware configuration wizard.

Configuration

There are two prerequisites to running and configuring VMware. First, the real-time clock function should be compiled into your kernel; second, the parallel port PC-style hardware needs to be built and loaded as a kernel module. Once you begin the configuration process, you may discover a kernel problem. As we began the configuration process, a dialog box told us that our Red Hat 2.2.14-5.0 kernel might cause a memory corruption problem under heavy usage. (There's also an issue with kernel 2.2.16.) VMware pointed us to the Red Hat site where we could find a kernel upgrade, but it might have been better to know this a bit earlier.

Everything was on autopilot after that. Windows 98 took its usual forever to install. When we were done, VMware prompted us to install the VMware Tools, which include an optimized video driver that made a noticeable difference in performance when we installed it. We reconfigured the available memory from the default 48MB to a more comfortable 64MB through a pull-down menu, restarted Windows, and then loaded applications--Microsoft Word and Excel, and Paint Shop Pro.

Running apps

We had no problems running the applications, but we did notice some drag in the graphics, even with a 16-bit palette. Under VMware, Windows runs in a window by default. We switched it to full-screen, which puts it in its own console. (It's an option button found at the top of the configurator panel. Click it, and full-screen is enabled.) The change made an immediate and major difference. Not only did it look like a Windows box, it acted and felt like one as well. Although DirectX is supported, this is not the place to try games. It's unbearably slow. Likewise, we couldn't get Windows to recognize a DVD disk at all. On the bright side, because VMware runs Windows in its own memory space, crashing Windows doesn't crash Linux along with it. The two are fairly isolated (although we did manage to trash the CD-ROM driver across both platforms on a few occasions during our DVD forays).

Bottom line

Although VMware Workstation's $299 price tag may keep it off some people's hot lists, its sibling, VMware Express, offers support for just Windows 95 and 98 at a more modest $79. VMware Workstation's ability to isolate guest environments while protecting its Linux core should be a major plus for IS administrators responsible for multiple OS support.


Within this story, you'll find these pages:
  1. Windows and Linux: in perfect harmony
  2. WinToNet
  3. VMware GSX Server
  4. VMware Workstation 2.03
  5. NeTraverse Win4Lin 3.0
  6. Wine

NeTraverse has taken its Win4Lin Windows emulation product from public beta, to commercial product, and now, with version 3.0, to a kinder, gentler program to install. In the process, Win4Lin has lost none of its functionality or speed.

Easy on-ramp

Win4Lin offered a fairly easy installation prior to this new version, and now it's even easier. NeTraverse has added a graphical interface to the installation routine so that rather than having to type at the command line level, you simply point and click. NeTraverse has also reduced the number of installation steps from four to three. To lay the groundwork, you first install the Win4Lin interpreter and reboot into the new Win4Lin shell, then copy the Windows installation files from a valid Windows 95 or 98 CD to your hard disk. (You perform both of those tasks logged in as root.) Then you log on as the user who will have Windows access and perform the actual Windows installation. The only thing we didn't appreciate about the installation for version 3.0 is that Win4Lin now has a 28-character code key that must be entered during installation, in addition to Windows' own 25-character CD key.

Doing Windows

As in the past, you can run Windows in either of two modes: within a window that sits atop the Linux desktop or in full-screen mode. The latter lets you use the keyboard shortcuts Ctrl-Shift-F7 and Ctrl-Shift-F8 to switch between Windows and Linux environments.

Although Win4Lin lets you launch the windowed mode from a clickable desktop icon, NeTraverse hasn't quite conquered the display resolution problem in this mode. For instance, if you set Windows for the same resolution as Linux, option buttons on dialog boxes will likely disappear below the bottom of the screen. At or above 1024x768 resolution, you can maneuver the dialog box within the window to see the hidden option buttons. But below that resolution, you're often forced to use the Tab key to select a button that's out of sight (assuming you know the tabbing progression). Of course, you won't have this problem in the full-screen mode, and Windows runs a bit faster in this mode anyway.

We encountered only one problem when trying to run Windows in full-screen mode: it wouldn't work using Win4Lin's standard fwin & command. That prompted us to contact technical support. A support technician offered an alternative command, fwin -auth, which did the job.

Running Windows apps

The first Windows application we attempted to install was Microsoft Office 2000 Deluxe. It consistently locked up the entire system whether we installed Office 2000 first or as an upgrade to Office 97 (which installed flawlessly). This problem caused us to contact technical support yet again.

This time we discovered that there's a known problem with Office 2000 Deluxe, where the installation grinds to a near halt and takes two hours to complete thereafter. However, our total lock-up was something new. The NeTraverse technician suggested that we copy the contents of the Office 2000 Deluxe CD-ROM to our hard disk and try installing it from there. We had the room on the disk, so we complied, and it worked--the installation finished in less than 15 minutes.

NeTraverse still hasn't added DirectX support, so we didn't try any programs that rely heavily on DirectX. Just to be a little outré however, we installed Kodak's PhotoEnhancer app, which lets us download images from our ancient DC50 digital camera. The installation completed without a hitch, but we couldn't use the software until we installed a serial port in Windows--surprisingly, Win4Lin doesn't do this automatically. We had to do this outside of Windows in the Win4Lin setup program. The user's manual, a wonderfully written, printed document, details the relatively painless procedure. The app worked like a charm after that.

Bottom line

NeTraverse has done a credible job of fine-tuning the mechanics of Win4Lin. We noticed no perceptible improvement in speed when running Windows, but it hasn't become any slower, either. (In any case, the program's speed was already acceptable in version 2.0.) The product offers no support for DirectX, and its OS support is limited to Windows 95/98. But at $79 for the downloadable version, Win4Lin remains an excellent, cost-effective Windows emulator for basic Windows functionality under Linux.


Within this story, you'll find these pages:
  1. Windows and Linux: in perfect harmony
  2. WinToNet
  3. VMware GSX Server
  4. VMware Workstation 2.03
  5. NeTraverse Win4Lin 3.0
  6. Wine

Wine is not an emulator. Aside from creating one of those recursive Linux acronyms, this phrase also is a truism. Wine provides a virtual Windows environment--one that exists without the actual physical presence of Windows--in which you can run Windows software. Given the last decade that Microsoft has spent gluing and stapling patches and new code into Windows, it's an ambitious project.

Even a cursory look through the Wine Development HQ makes it obvious that Wine, ambitious as it is, is a project that's still under development. That also describes Linux to a certain extent, but Wine, despite an abundance of enthusiasm, appears to still be at the prenatal point that many might describe as not quite ready for prime time. Although that may sound like criticism, it's only the embodiment of the underlying theme of many of Wine's error messages--and we saw quite a few during the course of this review.

Installation

We actually tried three different RPM distributions of Wine and had the most success with CodeWeavers. CodeWeavers Wine distinguished itself from the other two at the configuration end of the package. One of the RPM packages wanted us to scurry around the hard disk, creating and populating subdirectories with reckless abandon. Another appeared to do its own configuration but then couldn't seem to find its own files. CodeWeavers' release included a nice graphical configurator, offered its own defaults for file locations, and, when it was done, even altered application file icons to resemble wine glasses so that the association would be obvious. (Okay, the glasses are really champagne flutes, but we won't quibble. After all, it's a work in progress.)

Wine does Windows

Mounting a Microsoft Office 97 CD, we dug through the directory to find Word and double-clicked its Wine-morphed icon. After a little disk activity, we were told that a critical DLL was missing, but Word loaded and ran--almost. None of the disk functions worked. The same happened with Excel. We tried Paint Shop Pro, but that wouldn't load at all.

We remembered seeing the example command wine sol.exe during one of our forays through the volumes of documentation that are available for the Wine packages we were evaluating. Not wanting to leave Wine with a bad buzz, we put a copy of sol.exe (Windows' solitaire program) in the /tmp directory and ran it. Success! Encouraged, we went back and also tried FreeCell and MSPaint, but Wine couldn't loosen them up enough to convince them to show their wares.

To be fair, we should mention that you can, as an alternative, run Wine and associate it to an existing Windows partition, the thought being that it would then have a better chance of picking up the real Windows DLLs rather than relying on the faux DLLs Wine itself provides. In some documentations, that hint was offered as help in case things didn't work, whereas in others it was implied that doing so was a major undertaking with a dubious expectation of success. In the end, we decided to forego the experience. If Wine is not an emulator, then it shouldn't need Windows.

Bottom line

All of this points to one very simple conclusion: Wine is still very much a work in progress, and we're not going to criticize it for that. The concept is intriguing, especially the part about not needing Windows, and we're going to keep an eye on it as it moves along to completion.

Editorial standards