Penguins Over the Wires: X Servers for Windows

By: Michael Hall
Friday, January 12, 2001 11:53:57 AM EST
URL: http://www.linuxplanet.com/linuxplanet/reports/2894/1/

Going with X on the Network

When my DSL connection began to behave erratically recently, I was given a choice: keep on running Linux and putting up with the hassles of a connection that came and went on a whim, or get a working Windows 98 install up long enough to let the technician diagnose the problem.

I had several other choices to make along with that, like maybe deciding to swap a few NICs around the home network, drag some cables out, or even just put up with the inconvenience for a day and live out of my Linux laptop, which is a comfortable enough machine if you don't mind the touchpad and smallish keyboard with its accursed capslock key.

As a database administrator in a Windows/Netware shop not too long ago, I'd had a clandestine Pentium running Linux under my desk to run my favorite apps, so it wasn't a big stretch for me to imagine using one of the numerous ports of ssh to Windows to connect to the Linux laptop over my LAN and live in the shell for the day. It might be a drag to deal with Emacs in a small terminal window, and I'd miss gnomecal, my address book, and a few other X-based conveniences, but at least I'd be able to work on a Linux machine without aggravating my carpals or rubbing a shiny spot on the tip of my thumb from the touchpad.

This proved unsatisfactory after a short while, stinking, as it did, of the sort of humdrum practicality that gets the garbage to the curb on Tuesday but does little for the advancement of knowledge about interesting things you can do while you're waiting for a technician to call and announce they aren't about to let you out of your service contract.

So I found myself looking for another way. Enter the MicroImages MI/X and Labtam WinaXe X servers for Windows. These two products allow you to run X applications over the network on a Microsoft Windows machine with differing levels of configurability, cost, and facility. They make it possible, for instance, to do everything from bringing up a simple xterm to running a full-blown desktop environment. There is a free port of XFree using the Cygwin tools, (another wonderful set of tools for Linux lovers exiled in Windowsland) but issues surround running it on Windows 9x at this stage, which ruled it out for my purposes, since the technicians refuse to troubleshoot anything but Win9x installs.

MI/X

The MicroImages MI/X server is the less expensive of the two products, and it is accordingly less configurable and capable. Based on X11R5, it's unable, for instance, to support things like the recent port of the GNOME environment to Windows. At $25 with a free 15-day trial, however, one shouldn't expect a lot. Microimages isn't even a company specializing in X or UNIX: their primary business is GIS, cartography, and CAD. MI/X is a product they include for free with other products.

The 3.5MB package is available for download from the Microimages MI/X page for either MacOS or Windows, and installation is fairly simple under Windows: doubleclick on a self-extracting archive, agree to the license, and allow it to copy a few files. Mercifully, it doesn't require a reboot once installed.

Running MI/X is also simple enough: the software provides no means to launch applications outside of gaining access to the remote machine via telnet or ssh, setting your DISPLAY variable to reflect the hostname or IP address of the Windows client, and typing in a command. Alternatively, once it's running and an xterm has been launched, the remote xterm can be used to launch applications without having to swap back to the Windows desktop. MI/X doesn't support xdmcp authentication, so users running their prepared X sessions automatically from a login is out of the question.

Unfortunately, MI/X is a little cranky when it detects that an application is trying to display at a different color depth than it expects. Launching something like tkdesk or another light-weight app launcher would be a good way to put some of the 'G' back in 'GUI', but MI/X wasn't very cooperative on that score. MI/X also doesn't support OpenGL on the desktop (no glbiff, sadly).

MI/X also lacks a little where font support is involved. It comes with a limited number of .bdf fonts, and supports .pcf fonts. A mini-tutorial in the FAQ explains how to create a fonts.dir for the server, but it's not possible to use the font server running on the remote machine.

In terms of customization, MI/X offers few frills. The background color it presents can be changed, the size of the window it occupies on the Windows desktop can be adjusted (in case, for example, you just have a few monitoring apps to keep an eye on), and it can be set to use a window manager besides its built-in port of twm.

Finally, the FAQ that ships with it is all the documentation you're going to get for this minimal product. It promises little more than to allow you to run remote X apps on your Windows desktop, and it delivers: there's not need for much more than tying up a few of the loose ends and answering questions that aren't immediately obvious.

Despite the low-frills approach, its low cost makes MI/X a good candidate for someone interested in running a few X apps now and then. It isn't the prettiest, but it gets the job done. For $25, it might be worth it to you if you've got a Linux machine you need to keep an eye on now and then.

Labtam WinaXe

A little more upscale than MI/X is Labtam's WinaXe, which provides a lot more configuration options, xdmcp support, more sophisticated interaction between Windows and your X apps, and a heftier price tag. If you're going to be interacting with a remote Linux machine more than a few times a day this is the better of the two options, but at $90 for a licensed copy, it's not inexpensive.

WinaXe is available as a no-cost download from the Labtam download page. Without a license, the software runs for only 30 minutes at a time, but it never expires.

In addition to the basic X software, Labtam ships telnet, ftp, and tftp clients with WinaXe as well as an lpr implementation to allow for remote printing to UNIX printers.

WinaXe presents a lot of choices from its configuration panel. It provides three button emulation, built-in wheel mouse support, a large collection of international keyboards, and GLX extensions (go glbiff!). It can also support color depths independent of the hosting Windows desktop.

Font support under WinaXe is more obvious via a configuration panel: it provides a variety of 75 and 100dpi fonts that render fairly well under Windows. While it doesn't provide support for drop-in TrueType, it does support 'pseudo fonts', which allow for conversion of existing Windows fonts to use by the software's own internal font server.

The three truly big wins with WinaXe, however, are in the area of its integration with the remote machine.

First, WinaXe supports several modes of xdmcp support. If xdm, gdm, or kdm are running on the remote machine, WinaXe can query the machine they're running on and provide a GUI password login and access to normal X sessions. This makes the process of launching remote apps easier, since with a name and password, a user's .xsession is launched executing whatever it contains.

The second plus is the software's utilization of rsh, rlogin, and rexec to provide launchers for remote applications, which makes running programs from Windows easier. If you're more concerned about security than those methods allow, Labtam also distributes an ssh add-on for no charge which allows for X connection forwarding and provides yet another Win32 ssh client if none of the existing ports suit.

Finally, WinaXe has four modes of interacting with the Windows desktop, each of which offers some serious strengths, depending on your needs.

The first mode performs much as MI/X does: it provides a single Windows-managed window in which all your X apps run. This window can be sized to suit your needs. The one bit of "home" it doesn't offer is desktops larger than the hosting resolution. This mode makes it fairly easy to keep all your X apps together visually.

The next mode provides a full screen that obscures the hosting desktop entirely. It looks, for all intents and purposes, as if you're running a dedicated X machine. Since the X server is still a Windows-managed task, the alt-tab combo swaps the X server out for a normal Windows desktop. There's no apparent way to turn this particular "feature" of Windows off, unfortunately, which means that the illusion of working in front of your Linux machine down the hall is promptly shattered the first time you try to alt-tab to switch from mutt to xbill.

The third mode allows for simple Windows-managed windows on the desktop. Your X apps run with their normal toolkit, but with MS Windows window widgets. This is the most "transparent" of the lot from the end user's perspective, and probably the best one for using your remote apps seamlessly with the Windows environment.

The fourth mode offers a mix of options by allowing an X window manager to run concurrently with the Windows GUI, managing the X apps as they're invoked. This is a nice option since it allows users to treat their X apps in the manner they're most familiar with, but it can also be a little disorienting to switch from the Windows paradigm to whichever Linux window manager you prefer all on the same desktop. There are also some unexpected interactions where the two are concerned. While X apps, for instance, will respect multiple workspace windows and pagers, Windows apps, running under their own "window manager," don't and are effectively "sticky." The mouse wheel support was also affected poorly by this mode. Unless the window manager is an integral part of the apps you must run, this is the one to avoid.

The last two modes I mentioned are the most interesting because they allow for desktop environments like GNOME and KDE to operate as overlays to the normal Windows desktop. The GNOME panel, for instance, resides happily at the top of the screen while the Windows taskbar and Start button occupy the bottom. Clicking on icons on the GNOME panel launches, as one would expect, the related apps on the X desktop.

The documentation included with WinaXe is decent and leaves few questions unanswered.

Wrapping Up

Running your X apps on a Windows desktop may not seem like the most useful thing, but for people who have managed to sneak Linux machines in under their desks or simply have a variety of platforms to maintain, spread out over a wide area, the advantages are clear. X apps running over a decent network are also faster than the other remote GUI tool, xvncviewer, unless your X desktop is a fairly simple affair.

For the casually interested, willing to put up with a few limitations and spend a little more time tweaking the font installation, the MI/X X package is a great solution. At $25, it's cheap enough even for people who don't mind the thought of walking down to the server room and it's a steal for the truly lazy or anyone who wants GUI tools from afar.

The WinaXe package, on the other hand, costs $90. Since the binaries never expire, even unregistered, if you just do small amounts of work or peek in on remote machines for short periods of time, it may be unbeatable since it's effectively free of charge if you can put up with having to restart it every thirty minutes. It's also very configurable and fits onto a Windows desktop seamlessly.

Copyright Jupitermedia Corp. All Rights Reserved.