Running Linux on a Tablet PC?
A look at LabF's winaXe Plus, Startnet's X-Win32, and Hummingbird's EXceed.
Pen Computing Magazine, June 2003 issue -- It almost seems blasphemous to even think of running Linux on a Tablet PC. After all, Microsoft went out on a limb to introduce a new generation of pen-enabled software and foster the development of an entire new generation of pen-enabled hardware. Yet, Linux is a tantalizing option because it is completely free and also has come a very long way since the first versions of RedHat, Caldera, SuSE and other Linux distributions. These days, you can do just about everything on a Linux system that you can do on a Windows or Mac computer. And there are some applications that only run on Linux or one of the several flavors of Unix, such as Solaris, HPUX or AIX. Many people run Linux on their notebooks. It usually installs without any problems. Now wouldn't it be nice to have Linux on a Tablet PC as well?
This article is not about replacing the Windows XP Tablet PC Edition with Linux (the screenshot above shows the Linux desktop of a Linux machine on top of Windows on my notebook). That would be quite a task as almost no pen-specific software exists in the Linux world and because it would take a lot of effort to get the digitizer and the pen to work. Also, who would want to lose all the terrific functionality of the Tablet PC? No way. The answer lies in extending the Tablet PC's inherent communications capabilities, such as FTP (File Transfer Protocol) or SSH terminal sessions, with the ability to run Linux or Unix applications via a software product called an X Server.
Let me explain: Unlike Windows and Mac machines which have their own proprietary protocols to run graphical user interfaces, Unix and Linux use X11, a graphical standard that defines an X Server that provides an interface and services, and X Clients that are actual applications. X Clients do not care whether they run on the same machine as the X Server. There are companies that make X Servers that run on Windows and can access X Client software sitting on a Linux computer on the network and display it on the Windows machine. By X Client we are not talking only small applications, but the whole Linux graphical user interface which comes in two major varieties, Gnome and KDE.
A look at three X ServersI wondered how such X Servers would run on a Tablet PC, and whether they would recognize the pen. I will say upfront that the results far exceeded my expectations. Anyway, I cranked up the Google search engine to look for available software. Low and behold, I found about ten companies that offer PC-based X Servers that claim to bring Unix/Linux to the Windows desktop. I looked at three of them, market leader Hummingbird's Exceed (www.hummingbird.com), StarNet Communications' highly acclaimed X-Win32 (www.starnet.com), and a lower end product, winaXe, by LabF (www.labf.com) of Finland. Each offers tools that allow you to run applications on a remote Unix or Linux machine on the network and display the output on your local machine via the X11 graphics protocol.
To test those X Server applications on a Tablet PC, I used the following setup: The server was a generic PC with an AMD Athlon XP 2100+ processor and 1GB of DDR RAM, running Linux RedHat 8. The Tablet PC was my Toshiba Portege 3500 notebook that sports a 1.3GHz mobile Pentium III processor and has 768MB of RAM. It, of course, runs the Windows XP Tablet PC Edition. Both machines are hooked up to the network in my home. The PC is hardwired directly to my LinkSys router. The Tablet PC communicates with the LinkSys via a wireless 802.11b connection.
winaXe Plus 7.2winaXe is a product of LabF, a private independent software house operating out of Tampere, Finland. They started in 1989 to design software for complex network environments. Their main product is winaXe, a software suite that allows you to start up an X server and run Linux (and many other variants of Unix) X applications on Windows.
WinaXe comes in two different flavors, the basic winaXe that runs on all Windows platforms starting with Windows 95, and winaXe+ which includes SSH-based encryption for a secure connection between the Windows client and the Linux server. Unlike Linux software which is generally free, winaXe, running on Windows, is a commercial product. A single user license of WinaXe+ is US$100, with per-user costs going down on a sliding scale to $66 per user for purchases of 100 or more users. LabF offers a trial version that is fully functional, except that it will only run for 30 minutes before you have to restart it.
I downloaded the trial version which is about 14MB. Installing WinaXe was easy, but then I was confronted with a menu full of intimidating choices, 14 in all, and not much explanation. I clicked on the Startup utility which launches the X Server and presents you with a number of options. First, you need to know the name or IP address of the server you are connecting to. I looked up my Linux RedHat 8 machine's IP address on the web-based administration page of my wireless LinkSys router and put that in, including my login and password on that machine. I then had to decide on a "start method." LabF offers various methods of remotely accessing a Linux machine: REXEC (a remote executable), RSH (a remote shell), RLOGIN (a remote login), lSHELL (a local shell) and Telnet/SSH2 (a secure terminal session). Fortunately, the LabF website has an excellent onscreen tutorial that guides you through every step of the setup process. I only discovered it after experimenting on my own where I used the RLOGIN approach to get an X-terminal window on my Tablet PC and then typing 'startkde,' the command that brings up the KDE graphical user environment on Linux. The tutorial showed an easier way by telling me how to enable XDM, the Linux graphical login manager. By default it is disabled, and you actually have to go into the guts of Linux and change a couple of settings to enable such connections. Be advised that that can be a security risk as the machine will then present a login screen to anyone who approaches the proper ports. I was not concerned about that as my machine sits securely behind a firewall.
Once that was done, clicking on the XSession icon, or selecting XSession from the menu, brought up The Real Thing. First the Linux login screen appeared, allowing me to select either the Gnome or KDE graphical user environment. I selected KDE, logged in, and the familiar KDE desktop appeared on my Tablet PC, filling the entire screen. All the menus were there, everything. That's because I was, in fact, running the real Linux applications on the X-Server and not some sort of emulation. Programs started up as they would have had I been sitting in front of my Linux machine. The Mozilla web browser (the generic version of Netscape 7) worked just fine, as did the Ximian email suite and the OpenOffice.org office suite. In fact, I wrote this entire review in OpenOffice Writer while in an X session. WinaXe had no problem at all accepting the pen. I was navigating through Linux with the pen as if it had been designed for it.
When running a winaXe Linux session, you are not locked away from Windows (see screenshot). The alt-esc key combination toggles between Linux and whatever Windows sessions you have open. And you can even cut and paste between Linux and Windows apps, both ways.
If that sounds almost too good to be true, it is and it isn't.
It is insofar that there are some limitations. For example, while everything looked just like on the Linux box itself, there was some speed degradation. My guess is that this is primarily because of the wireless connection. Speed was good enough to run all applications, but the more graphics-intensive ones slowed down at times. It was not always easy to predict what would be almost as fast as on the Linux box itself and what slowed things down. For example, menus and such came up instantly, web browsing was no problem at all, and neither was using email or the office suite. I should mention that I really taxed the connection by using a full 1024 x 768 desktop in 32-bit color. WinaXe lets you configure the interface for better performance.
Another area where you can run into trouble is audio and certain other modules that Linux needs to know about. That's because when you install Linux, you install it for the kind of hardware you have in the system it runs on. If you then start an X session on a machine with different hardware, as it almost certainly has, X will run, but it may not find some of the components it wants. In my case, audio would not work on the Portege Tablet PC. Applications that used audio, such as MPlayer, complained that the hardware was not supported. My guess is that a Linux-savvy power user could get that to work with a bit more tweaking.
Finally, this sort of thing is best done between machines with a good deal of horsepower. As stated above, my Toshiba notebook is a 1.3GHz Intel III machine with 768MB of RAM and Linux was installed on a generic but powerful AMD Athlon box with 1GB of RAM. I also tried using an older 500MHz Linux RedHat notebook as the server, and the results weren't nearly as satisfying.
On the other hand, it is totally amazing how well WinaXe ran on my Portege Tablet PC. Without much setting up at all, I could, for all practical purposes, use my new Toshiba Portege Tablet PC as a Linux machine, with all pen navigational functionality intact. I can think of a good number of applications for such a system. For example, a lot of institutions have powerful Linux or Unix servers with vertical X or standard Unix/Linux applications. People in such environments could simply load winaXe onto their pen tablets and then use them either in native Windows XP Tablet PC Edition mode or to run X applications on them. There's lots of potential here.
I should point out that running the entire Gnome or KDE desktop isn't necessary. If all you need is one or two X-Client applications, you can simply start those up in separate windows to get maximum performance. Likewise, I found that I preferred not to use the Linux Graphical Login Manager on winaXe. It seemed to slow things down a bit, possibly because of the encryption and extra security. Instead, I usually chose the RLOGIN way of connecting. This opened a terminal window and simply typing "startkde" and hitting return brought up the entire Linux KDE desktop. You could start Gnome that way, of course, or any other X-client application, and you can still toggle between Linux and Windows applications with alt-esc.
I liked winaXe so much that I purchased an actual license for US$100. For that I received via email the link to a special .dll file that removed the 30 minute session limitation. I consider it money well spent. - www.labf.com
X-Win32 5.4.2StarNet Communications, the creators of X-Win32, was founded in 1989, like LabF, solely to develop X Server products. The company had products running on old 286 and 386 PCs in the early 1990s and stresses its commitment to creating the best possible X Server functionality rather than bundling in peripheral functions such as ftp, NFS, or terminal sessions. X-Win32 runs on all flavors of Windows starting with Windows 95, and supports virtually all flavors of Unix and Linux. StarNet proudly states that over 130 universities have campus-wide site licenses of X-Win32. StarNet allows you to try the full product by issuing a temporary license and so I downloaded and installed X-Win32 version 5.4. Mercifully, X-Win32 places just three menu choices into your Windows menu: X-Config, X-Win32, and X-Win32 Help. The help feature is Windows-based and very comprehensive and informative. It should answer almost any question short of how to mess with gory settings under the hood of a Linux system. That said, getting the most out of X-Win32 does take some serious tweaking. There is simply no way around that.
After you start X-Win32, a small X icon shows up in your Windows toolbar. Right-clicking it brings up a menu from where you can configure your session and a lot more. X-Win wants you to create sessions that can be either a REXEC (a remote executable) or RSH (a remote shell) command, or a XDMCP selection. StarNet specifically does not support RLOGIN/Telnet because it is an insecure form of communication. I selected the already familiar XDMCP, and X-Win32 brought up the Linux login screen without any further problems. I logged in and my KDE desktop came right up. Like winaXe, X-Win32 didn't care that I was using an active pen on a Wacom digitizer on a Windows machine. The pen worked just fine, including the handy Tablet PC push-and-hold to bring up right-click menus and actions. Everything else also worked as it should, and the whole system seemed very speedy with very few delays. It essentially felt as if I were sitting in front of an older PC or notebook with Linux installed. It definitely did not feel like some sort of remote session.
X-Win32 also handled MPlayer without any error messages. It let me add music files to the play list and play them. However, the sound came out of the speakers of the actual Linux server and not on my Toshiba Portege.
You can, of course, toggle back and forth between Windows and the Linux desktop or apps with Alt-Esc. You can also cut-and-paste between Windows and Linux without any problems. And there are some extra goodies, like copying the content of a rectangle or a window directly to a file, the clipboard or a printer. There are many times when capturing all or part of the display comes in handy.
Another area where X-Win32 did well was fonts. Font handling remains one of the weakest aspects of Linux, not so much because of lacking technology, but because we've all become so used to the attractive standard Windows and Apple fonts that dominate the graphical side of computing. It's tough enough to make text look good in Linux web browsers (and other applications), and it can be almost impossible in X servers which generally use their own fonts. X-Win32 output looked good right off the bat and I didn't run into some drastic problems such as huge font sizes or fonts that were completely off. Like everything in Linux and Unix, font handling under the X system is completely configurable, and after spending enough time with the documentation (or summoning a Linux geek friend for help) and some tweaking, the fonts usually look okay. But it is nice to deal with a product where things work as is without a lot of extra configuration.
StarNet seems almost apologetic that X-Win32 does not include its own ftp, telnet, NFS, and some other applications. They shouldn't. If I want to use ftp or telnet I use one of the very competent PC applications, some of which are available for free. When I consider buying a Windows-based X-Server product, I want the best X-Server available, and X-Win32 is definitely a very strong product.
As a company whose sole focus is on X server products, StarNet also includes features not generally found in midrange products. For example, X-Win32 is available also in German, French, Italian, Japanese and Spanish. There is an excellent error logging feature, and in order to keep users from having to wade through difficult configuration screens again and again, X-Win32's "sessions" can be saved as files. Those can then be used by other users on a network. And if you have the proper license, you can even run multiple X sessions on different machines and toggle between them.
That brings us to price. The US$285 cost of a single user X-Win32 license can either be viewed as a great bargain because the program might save significant time and money that otherwise would have to be spent on multiple machines, or it can be seen as a significant expense in a Linux world where all software is free. Only you can tell what side you're on. Bottomline is that X-Win32 lets you run Linux on your Tablet PC (or to be precise, it lets you run Linux applications residing on a Linux machine) on your network, without having to give up pen support or replace your Windows software. And it makes that fascinating process easier and simpler than any other X Server we've tested.
EXceed 8.0Hummingbird is by far the world market leader for X server software. And right off the bat, Hummingbird's Exceed X Server weighs in like a heavy-duty application. The download (the company offers a free 30-day trial of the full product) is a substantial 54MB, and the install is all business. You go through the common Windows installation procedures with Exceed letting you make several choices, including an X server tune-up to determine how to best display graphics on your system. After you reboot you have Hummingbird Connectivity and Hummingbird Neighborhood icons on your desktop, and no less than 22 menu choices in the Windows application menu. What's missing is an explanation on how to get started. Fortunately, the menus revealed an X Client Startup Wizard. It asked for the host address and OS, then for the connection method (REXEC, RSH, RLOGIN, Telnet, or PCX$SERVER). Not finding the by now familiar XDMCP option I picked RLOGIN. The wizard then asked for a few more things, and placed a shortcut onto the desktop. Clicking on the shortcut started up the X server, but the machine would not let me log in as root. I tried my own login and password, and, voila, X terminal window. I typed in "startkde" and it came right up. What also came up was an Exceed toolbar with 15 icons, providing access to every conceivable option and configuration. I tapped the Configuration icon which brought up Xconfig, where I found the XDMCP option missing from the wizard. I reset the XServer and entered via the Linux graphical login screen.
Getting the display just the way I like it, without the Windows Start bar along the bottom, required a couple more trips to the Xconfig menu. The menu, by the way, is incredibly deep and offers a wealth of configuration options that once again make it clear that Exceed is a tool for serious professionals. If you're simply looking for a quick way to run some X apps from your Windows box, much of what Exceed offers is likely overkill. On the other hand, if you need that sort of detail and configurability, there is nothing like it. One limitation I ran into was that the cursor slowed down to a crawl when I moved the pen over the Xconfig window sitting on top of a Microsoft Word window sitting on the KDE desktop sitting on the Windows desktop. No big deal at all as you probably rarely encounter that situation, but it shows that even today's ultrapowerful hardware can get overloaded.
With the entire configuration out of the way I finally got to take a good look at Hummingbird's Exceed solution. The small toolbar mentioned above can stay as a floating window on the Linux desktop at all times. If you bump it against one of the four sides of the screen, it flattens out against it, the way some Windows menus do. Or you can simply close it down. Toggling between sessions is done once again via the Windows Alt-Esc key combination. The pen worked just fine right off the bat, as it had in the other products. Especially impressive, again, was how the clever Tablet PC implementation of a right mouse click (press and hold) worked with Linux menus just as it did under Windows.
Now for the next incredibly cool thing that I discovered while exploring Exceed, but that also works with the other two: You can actually use the Tablet PC's onscreen keyboard to type directly into Linux applications. This means that you can use a Tablet PC in slate mode, without a physical keyboard, and still run X applications. Commands entered in the Quick Keys Pad also go right to Linux applications, but output from the Symbols Pad does not. Unfortunately, handwriting in the TPC Input Panel did not appear in Linux applications, most likely because the Windows Tablet PC Edition does not capture pen input the same way as mouse input. Anything recognized by the reco engine apparently goes into some special Windows-only buffer that is not available to the X server (at least not in a way that I could find).
Thrillingly, though, no such limitation exists for Phatware's PenOffice (www.phatware.com). PenOffice, long one of our favorite pen computing applications, includes the superb CalliGrapher recognition engine and, unlike the Tablet PC, treats pen input as if it were a keyboard event. That means that results go into any application that accepts keyboard input, and therefore--drum rolls--PenOffice provides handwriting recognition to an X server session. Yes, you can launch PenOffice, bring up the PenOffice toolbar, use Alt-Esc so that the PenOffice toolbar floats on top of the Linux desktop, and then simply start handwriting on the screen. Your writing will be interpreted and entered into whatever application you are using. You can also use the small and handy PenOffice onscreen keyboard to enter text into any Linux application. This means that full, industrial-strength handwriting recognition is available to Linux, at least via an X session. Imagine corridor warriors take along their Tablet PC slates, run specialized X applications residing on a desktop or server via an X session, then use full-screen handwriting recognition to enter data. It doesn't get much cooler than that.
But to get back to Exceed, initially I did not see much of the supposed speed advantage the product is said to have over its competition. In fact, all three X servers I reviewed seemed to run at approximately the same speed. In the font department, however, Exceed performs very well, better even than X-Win32. The system has more standard fonts and it seems very smart in picking the right one. Very smart, but not perfect. None of the X Servers excel in that regard. They all require a significant amount of tweaking to get the fonts to look just right. In any case, Exceed's seem very plentiful and they are sharp and very crisp even at the smallest sizes. Having the Exceed toolbar available is another big plus. It allows not only access to what is by far the most detailed configuration utility, by also the very comprehensive help system, a variety of useful copy and paste options, and the virtual desktop. The virtual desktop represents an area much larger than what you actually see on the screen. A small representation of it lets you move unused application out of the way. You simply park them somewhere off-screen. Of course, you could also use one of the extra Linux desktops, but other flavors of Unix may not have those.
Unlike X-Win32 which solely concentrates on the actual X server, Exceed includes a number of additional tools. There if a FTP client, a HostExplorer that can emulate a good number of older (and ancient) terminals, a dozen X client applications that run on Windows itself, and, of course, very extensive product administration tools.
Exceed is a most impressive product with vast configuration and setting tools, one that has great appeal to power users and network administrators. I can see a company or university customize Exceed for their particular needs and then let everyone use this industrial-strength application with those optimized settings. Exceed's single copy price of over US$500, however, makes it quite expensive for casual users.
Windows X Servers: SummaryIt is possible to run Linux or Unix applications on a Tablet PC and retaining full pen functionality. You do it not by replacing Windows, but by installing one of the commercially available X servers. There are perhaps a dozen available and we tested three that represent the low, middle,and high end. All three X servers we reviewed did the job. Each installed quickly and relatively easily, and each connected to our Linux test machine without any insurmountable problems.
That said, installing and running an X server is not trivial. Some of the configuration required is definitely not for the faint of heart. In addition to being confronted with a lot of techie terminology, you may well have to manually change some settings buried deep in the Linux file system. Yet, we did not run into any problems we could not overcome.
Once you have an X Server up and running, you are rewarded with being able to use Linux, the actual Linux desktop and the actual Linux applications on your Tablet PC. The pen works just as it does under Windows, down to bringing up right-click menus by pressing and holding it. Not a single Linux application balked at being used with the pen.
Running an X Server and X sessions does not mean you cannot use Windows. Since the X Server is running on top of Windows you can toggle between Windows and Linux sessions with the Alt-Esc key sequence. You can even run Windows applications on top of the Linux desktop. Sometimes it is a bit difficult to get the proper layers on top, but it can be done.
Communication and connections to the Internet work just as if you were using the actual Linux system itself. You can browse the web, send and receive email, and communicate with the outside world in numerous ways, using all the various Linux or Unix-based communications programs.
There are some problem areas. For example, I never managed to get audio from Linux applications to come out of my Tablet PC's speakers. The audio did play, but it played on the Linux server itself. I suppose an experienced X Server expert might fix that with some tinkering and downloading of extra drivers and modules.
Also, be prepared for some headache with fonts. Right out of the box, no Linux system looks as good in the font department as Windows machines or Macs. X servers face even more daunting problems as they use their own sets of fonts which may or may not work well with your X applications. Fortunately, all of the X Servers we looked at let you manipulate the font subsystem. It is not trivial, but if you spend some time on it, your X server session fonts will look almost as good as what you get on Windows.
Also, I cannot overemphasize the need for powerful equipment. X Servers may run on old PC hardware and software, but they definitely require a powerful server to be useful. All three X Servers worked great with our testbed 2-GHz Athlon machine, but they barely moved when connecting to an older 500 MHz Linux notebook.
As for data entry, you can enter text into any Linux application using the Tablet PC's onscreen keyboard (or, of course, any external or built-in keyboard). You can also cut and paste back and forth between Linux and Windows applications. However, since Microsoft captures the movement of the pen differently from the way it captures the movement of mouse and keyboard, handwritten text will not end up in any Linux application. There is, however, a way around that. You can use Phatware's PenOffice suite. Since it treats movements of the pen like keyboard events, it will pass recognized handwriting right into whatever Linux application you choose. PhatWare's PenOffice is thus an absolute must-have application for anyone who wants to run an X Server on their Tablet PC.
Given all of the above, you can see that it is possible to roam around your house or through the corridors of an office building or warehouse running a Linux desktop and Linux applications on a Windows-based Tablet PC. Execution speed is sufficient for real work. Unlike some of the emulation and remote terminal session programs we've seen, we're not talking technology demonstration here. Those X Servers work. And since you can either use the on-screen keyboard of the Tablet PC Input Panel or handwriting recognition via PenOffice, you do not need a physical keyboard at all.
All of this means that X Server software running on Tablet PCs may be a boon for certain vertical markets. Pen support is virtually non-existent in the Linux/Unix world, but X Servers can make it available without any problem at all. This means that for the first time Linux applications can be run on small and lightweight, yet state-of-the-art, pen tablets and pen convertibles.
How much you want to spend on such a solution is up to you and your needs.
The lowest cost product, the US$100 winaXe by LabF, worked just fine and is perfect for those who need an X Server (or just seek to learn about the technology) but don't want to spend a lot of money.
The mid-range Win-X32 by StarNet Communications adds a number of great features and is the easiest to use. It also has a terrific help feature, and its simple "sessions" approach makes it the perfect product for larger scale deployment.
The top-of-the-line Hummingbird Exceed by Hummingbird is a thoroughly professional product, but it is costly and offers more features and configuration tools than you may need, making it the tool of choice for really serious system administrators.
Windows-based X Servers are not for everyone, but they can extend the functionality of Tablet PCs into entirely new areas in ways that can greatly enhance your productivity and bottomline. And with all three of these companies offering free trials of the full product, there's nothing to lose.
Based in Sacramento, California, Conrad H. Blickenstorfer is Pen Computing Magazine's Editor-in-Chief and also Publication Director of Digital Camera Magazine. Conrad has worked as an IT executive in corporate environments, as a consultant and expert in mobile computing technologies, and as a journalist and publisher. An enthusiast and platform agnostic, Blickenstorfer keeps up with all major and most minor computing environments. He can be contacted at cb @ pencomputing.com.
Unauthorized reproduction in any form is strictly prohibited.
Contact the Pen Computing Publishing Office for reprint information.