25
Wed, Dec
0 New Articles

Run a Linux Client and Keep Your Windows Apps

Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

If you read any of the trade magazines, you already know that Linux is hot. Choosing Linux as a server operating system is almost a no-brainer, given that UNIX, from which it is patterned, has a long history in the server market and with TCP/IP-based networking. There is a virtual cornucopia of software available to enhance Linux’s server capability. And Linux, like UNIX, has a reputation for bulletproof reliability.

The same characteristics of stability and reliability that make Linux useful at the server level are equally desirable at the workstation level. Add to these attributes the fact that Linux has much more modest memory and CPU requirements than that other PC operating system, and it’s no wonder that Linux is starting to make headway in the desktop arena.

Of course, a PC isn’t useful because it runs an operating system. It’s useful because it runs applications, which happen to need an operating system to execute. And this is where some would argue that Linux falls short of the mark. IBM had this problem with its OS/2 operating system. Unlike OS/2, which is proprietary to IBM, Linux has the advantage of being open source; no one really owns it. All that creator Linus Torvalds owns is the trademark. Many software companies have noticed the rising interest in the open source model and either have already ported their software to Linux or are planning to do so in the near future. Thus, the relative dearth of commercial software that plagued OS/2 is not really a problem with Linux. Furthermore, with so many programmers hammering out code for Linux, you can find a “work-alike” for most of the packages that you currently use, and much of this software lacks the bugs present in commercial packages.

If the picture is so rosy, then what is the purpose of this article? It’s simple: Every Windows user has a favorite software package that’s available only for Windows. Either that’s the case or there is a software package that you have to use that’s available only for Windows. I’m in the latter camp, and, for me, that package is IBM’s Operations Navigator (OpsNav) for the AS/400. It’s not that I couldn’t live without it (I prefer command lines to GUI interfaces), but IBM has chosen to make it impossible to configure some aspects of the AS/400 without it. (Thanks, guys.) Because I manage a number of AS/400s, I have to be able to configure them. So I’m stuck with OpsNav. IBM has indicated that it plans on creating a Java version of the complete utility, but, until it comes to fruition, I’m going to have to endure a Windows PC. The purpose of this article, then, is to show how you can


have the best of both worlds—how you can use Linux as your primary desktop operating system and take forays into the Windows world only when you need to run one of those “gotta-have” programs.

Dual Boot

The least convenient method of accessing your Windows programs from Linux is simply not to access them from Linux. Linux comes with a program called Linux Loader, or LILO. This program, which is equivalent to OS/2’s Boot Manager or the Windows NT Boot Loader, permits a single computer to bootstrap one of any number of operating systems that may be loaded simultaneously on a single PC. I know the title of this article implies it is about accessing Windows programs while running Linux—I’ll get to some options to do that shortly—but I have to mention this alternative because it provides a method for you to play with Linux while retaining the production environment you currently enjoy (if you do). In fact, the easiest way to start experimenting with Linux is to add a secondary hard drive, load Linux on that, and use LILO to boot your existing operating system or Linux. Linux is capable of reading or writing FAT or FAT32 (VFAT) partitions, so it can share existing data partitions with the Windows 9x operating systems. It also can read NT File System (NTFS) or high-performance file system (HPFS) partitions, so it has limited (read-only) access to native Windows NT and OS/2 partitions. Work is currently underway to provide read/write access to NTFS partitions, but not quite ready for prime time. If you need infrequent access to one or more Windows-based programs, then a multiboot system may be your best, or at least easiest, option.

Remote (Sacrificial) PC with VNC

Occasionally, I dedicate one communal PC to running Windows (and the gotta-have programs) and then accessing it remotely from a Linux X-Windows session. Through the magic of a project called Virtual Network Computing (VNC), you can do that—for free. The scope, performance, and completeness of the software available through this project blows my hair back, and it does so at a rock-bottom price (free).

The package comes in two parts: the VNC server, which gets loaded on the PC to be remotely controlled, and the VNC client, which gets loaded on any machine that will remotely control the server. So far, there are two servers written—one for Windows and one for various UNIX versions and UNIX clones, such as Linux. On Windows, the server can be run as a service, to the extent that you can log onto the Windows box remotely. If the server is running Windows NT, you can even lock and unlock it by sending it the Ctrl- Alt-Delete key combination. And yes, access to the VNC server is password-protected, and the whole session can be directed through a secure shell for encryption in transit across the network.

The VNC client, which is referred to as the VNC viewer, is written in Java. Just about any machine with a Java Virtual Machine (JVM) will be capable of connecting to a server, either directly through the client program or via a Java applet embedded in an HTML page. Believe it or not, there’s even a VNC client available for 3Com’s Palm series of personal digital assistants (PDAs).

Unlike Terminal Server, VNC does not make your Windows box a multiuser machine, so there is only one connection available at a time. But other than that limitation, this is a truly handy program with many uses, such as allowing you to control many computers with one. In addition, any client can control any server, regardless of the operating systems on each. So a Windows box can control another Windows box, and so on.

Virtual Networking Computers is a project of AT&T Laboratories Cambridge. For further information, visit the VNC home page at www.uk.research.att. com/vnc.

The DOS Penalty Box (DOSEMU)


Admit it. Somewhere in your software library you have a DOS-based program that you find handy and that you’d still like to run. You can do that if you’re running Windows. And you can do it if you’re running Linux. The program you’ll need is titled DOSEMU, which is short for DOS Emulator. It’s included in almost all distributions of Linux. The phrase DOS emulator is somewhat of a misnomer because it’s not DOS but the hardware that is emulated. DOSEMU provides a virtual machine in which you can run most recent versions of DOS. Basically, you create a bootable floppy diskette and use it to create a DOS drive image that will be used by DOSEMU. There are some configuration options that you can set to make available the mouse, serial and parallel ports, and even the Linux file system. I’ve had no problems using DOSEMU to run Quicken for DOS Version 8. I can even connect to CheckFree (via modem) from within Quicken without trouble.

If you’re really adventurous, you can run some Windows 3.1 programs using DOSEMU. To accomplish that, you’ll need to run the version of Windows that comes with OS/2—the one that made OS/2 a better Windows than Windows—because the patches that IBM made to allow it to run as a client of OS/2 enable it to run under DOSEMU.

DOSEMU has the advantage of being rather straightforward to set up, and it is my choice for the one or two DOS programs I still run. You’ll need a copy of DOS to use it. If you are one of the few individuals who doesn’t have at least one copy of DOS in your archives (indicating your age to be under 10), you can substitute it with FreeDOS. For further information on DOSEMU, point your browser to www.dosemu.org. Links to FreeDOS are available at the same URL.

Getting Drunk on Wine

A more ambitious project to allow Linux boxes to run DOS and Windows programs is called Wine, which presumably is short for Windows emulator. But Wine isn’t an emulator. It’s a program loader that executes Windows binaries. It’s also a set of libraries that implements Windows APIs using UNIX and X11 equivalents.

To accomplish this magic, Wine creates an environment into which it loads the Windows program and any Dynamic Link Libraries (DLL) imported by it. The code within the program is then executed directly by the CPU. Wine’s only involvement, then, is to emulate any Win32 APIs that the Windows program may call.

Wine has been designed to emulate the complete Win32 API, so it does not require any form of Windows to operate. Unfortunately, the package is not yet complete, and many APIs have been implemented only as stub code, so nothing actually happens when they are called. If you happen to have set up your computer as a dual-boot system in which one of the partitions contains Windows, you can mount that partition and make it available to Wine, which then will use native DLLs to fill in some of the gaps. DLLs provided by software vendors can be used in either configuration.

Complete and accurate documentation about the Windows API is almost as scarce as snowfall in the Amazon. Available documentation can charitably be called incomplete, so what the Wine developers have ascertained has been done through reverse engineering and experimentation. The downside is that, anytime Microsoft desires, it can change some of the APIs, thus thwarting developers. This is the predicament in which IBM found itself with OS/2. IBM had the source for Windows 3.1 and did a splendid job of fixing the bugs embedded in it. The result was an operating system that could run Windows 3.1 programs quite well. Once Microsoft released the Win32 API, which IBM didn’t have the source to, the capability of OS/2 to run Windows programs started to deteriorate. IBM had a tough time keeping up with the “adjustments” that Microsoft frequently introduced.

The upside to reverse engineering is that no Microsoft code is included in the package. This keeps the project unencumbered with copyright issues. And, as the Wine home page (www.winehq.com) mentions, reverse engineering ensures “bug for bug” compatibility.


Wine is a work in progress, like so many open source projects, and the documentation states that it is alpha software and shouldn’t be used in a production environment. That may be true, but consider that, besides running Windows software, the Wine Win32 API library can be used to port existing Windows code to Linux. Corel (www.corel.com) has already used a version of Wine to port WordPerfect Office 2000 to Linux. The port appears to have been successful, so that should give you an idea of the code’s maturity level.

If you have even the slightest interest in running Windows programs under Linux, you need to check out the Wine home page, where you’ll find the program’s specifics. There is also a database of applications that already have been tested under Wine, including an important one to many users in corporate America—the Lotus Notes client for Windows Version 4.6.

Keeping Windows in Jail with VMware

Up to now, all of the Windows-from-Linux solutions I’ve discussed have been free. That’s a price we all like to pay. Actually, you are investing what real estate people call “sweat equity.” The product may be free, but you have to put your time in to get things installed and working properly. If you would rather invest money than invest time, then commercial software is in order. And the ultimate commercial solution has to be VMware.

If you are familiar with SSP running as a guest operating system of OS/400, then you already know VMware’s function. VMware creates one or more virtual machines that run in an X-Windows session. When you need one of your Windows programs, you simply start a VMware session, click the power on button, and the guest operating system boots up within this virtual environment. Operating systems that can be a guest of VMware include DOS, Windows 9x, Windows NT, Windows 2000, and various flavors of Linux and UNIX. If you’d like to try Linux and you currently run Windows NT or Windows 2000, you can acquire a version of VMware that runs on one of these operating systems. You can then load Linux in one of these virtual systems. Figure 1 shows my GNU Network Object Model Environment (GNOME) desktop with one window running Windows NT 4.0.

Setup of VMware couldn’t be easier. For my Red Hat system, I acquired the Red Hat Package Manager (RPM) file for VMware and installed it with a simple command. I then ran the configuration script and answered a short series of questions that configured VMware for my system. Next, I started a VMware session and was immediately introduced to the set up wizard, which, through a few more questions, determined my desires for network access, disk configuration and capacity for the virtual machine, and a few other small details. The last step was to insert my Windows NT CD and click the power on button. The virtual machine booted exactly as a personal computer would, complete with a memory test. The NT CD then booted, and installation proceeded just as though VMware weren’t even involved.

Although I found the installation and execution to be flawless, there are a couple of caveats I need to mention about VMware. The technology that VMware represents is quite remarkable, but it’s only practical if you have the horsepower to run it. Linux is well known for its modest hardware requirements. Windows is known for the opposite. So if you plan on running Windows using VMware, ensure that you have a machine up to the task of running Windows all by itself. I’ve read different comments indicating that the guest operating system runs at approximately 80 percent of the speed that it achieves natively. My testing confirms this. So a little overkill in host system resources will go a long way to making the experience pleasant. Also, VMware is not free and, indeed, may be considered a bit pricey depending on your budget. The company does have several pricing schemes, including a student license, so costs will vary. You can try it before you buy it and draw your own conclusions. For further information or to download the trial product, visit www.vmware.com.


Windows Optional

I’ve demonstrated a number of ways in which you can continue to use your Windows software as you migrate your desktop to Linux. As time goes on, the need to do this will diminish as more vendors jump on the Linux bandwagon. It’s even rumored that, internally, Microsoft has a group porting its productivity suite to Linux, although I’ll believe that when I see it. Meanwhile, until your favorite Windows program is ported, you do have a number of options available. Which one you choose depends upon the fullness of your wallet and the depth of your patience.

REFERENCES AND RELATED MATERIALS

• AT&T Virtual Network Computing Web site: www.uk.research.att.com/vnc
• DOSEMU Main Page Web site: www.dosemu.org
• VMware Web site: www.vmware.com
• Wine Development HQ Web site: www.winehq.com

Run_a_Linux_Client_and_Keep_Your_Windows_Apps05-00.png 409x409

Figure 1: You can run Windows NT in a VMware virtual machine.


BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: