Tuesday, May 27, 2008

Running Windows Applications and Tools on UNIX Machines

If you are used to running applications under the Windows environment, you can do so on UNIX machines. You may run a Windows emulator, which is an environment that is made to look like the familiar Windows one (it emulates it). You may also take advantage of tools that have been developed on UNIX machines to perform the same functions as their Windows counterparts, thus eliminating the need to have two separate environments on your machine that you must switch between to perform different tasks. Newer emulators are beginning to add richer features that do more than just emulate an environment; they actually take features from the Windows environment and implement them on UNIX machines in their native mode. This allows Windows users to perform tasks on UNIX machines exactly as they would perform them on their Windows machines.

There are two types of emulators: software and hardware. The next section discusses some of the software emulators that are available. VMware, which is a hardware emulator, is discussed later on in this chapter.

Running DOS and Windows Emulators Under UNIX

Emulators are available that enable you to run both DOS and Windows programs under UNIX. While DOS and Windows emulation is not heavily used except by experienced users, it is still worth mentioning for those who wish to take advantage of it. In addition to reducing the overhead cost of running two separate machines, or requiring dual booting to access features from one environment or the other, emulation allows UNIX users to run Windows environments only when needed.


Win4Lin (http://www.win4lin.com/) is a Windows 2000 and XP (and even Windows 98) emulator running on the Linux platform that takes an interesting approach to Windows emulation. It is very tightly integrated with the Linux host operating system. For example, Win4Lin uses the Linux file system instead of creating a real or virtual FAT file system. It also makes certain parts of the install shared among all users of the machine, so there can be only one version of Windows installed on a Win4Lin machine (VMware can have multiple Windows installations-all different versions-installed and running at the same time). Due to the architecture, Win4Lin files are directly accessible from Linux, even when the emulation isn’t running.


DOSemu is a DOS emulator that is available for Linux systems from the web at http://dosemu.sourceforge.net/. This Linux application typically comes with sample configuration files called config.dist that are used to help build your dosemu.conf file, which is the configuration file that you use for your particular version of Linux. You can create a bootable floppy disk using the mcopy command, which is available as part of Linux distribution. Copy the command.com, sys.com, emufs.sys, and exitmenu.com files (and the ems.sy.cdrom.sys file, if you have a CD-ROM on your system) to the floppy This allows you to boot up your Linux machine in DOS emulation mode.


The Wine emulator is a very popular Windows emulator for some UNIX variants. It runs on most of the versions of UNIX that run on Intel platforms, including Linux and Solaris. Wine started as a project in 1993, to support running Windows 3.1 programs under Linux. It has matured to support both 16-bit and 32-bit application environments, such as Windows 2000 and XP (Win32 applications). Its primary function is to convert Windows functions to X Window functions that are similar, using C language code instead of Microsoft code to do so. It has reached maturity with the current version 0.9.14 being released in May 2006. Many groups are developing new features for it. Some of the things that have been developed include support for sound devices, Winsock TCP/IP (a Windows service), modems, and serial devices. The code, extensive documentation, and tools to develop Wine are all available at http://www.winehq.com/, which is the official headquarters site, and whose symbol is a tilted wineglass.


RUMBA is a suite of applications from NetManage (http://www.netmanage.com/). RUMBA is a product that allows you to run an environment that can connect you to multiple server machines over TCP/IP by using ActiveX objects. The objects are optimized for Microsoft’s 32-bit desktop platforms, such as Windows 2000 and XP. Many versions of this product are available, based on the type of client as well as the host to which you want to connect. The product is available for a range of UNIX platforms.

No comments: