CoLinux Coolness

by John Sequeira

Related link: http://www.colinux.org



CoLinux has been ported to linux. This, combined with some much needed stabilization in their 0.6.0 release means it's closing in on being a decent free VMWare clone in terms of platform support... well, if you only want to run Linux VMs.

While that's an interesting development, a more compelling one is the prototyped coLinux running as a Windows service. As a server-based software developer, headless VMs have long been a top feature request of mine for VMWare Workstation. A headless VM would be great for running fire-and-forget types of server applications, where the UI isn't a very important consideration. VMWare probably won't go this route with Workstation because it would overlap too much with their server edition. And I hold out no hope for VirtualPC, because headless Windows is just too much of an oxymoron (datacenter notwithstanding). So colinux is boldly going where it's commercial competitors fear to tread.


What's the significance of this colinux milestone? I think the potential of embedding a Linux brain + 10Gig or so of assorted free software into any Windows computer is staggering. LiveCDs like Knoppix are an excellent way to mess around with alternative OS's, but running a coLinux instance as a headless service has a much better chance of breaking through the novelty barrier and becoming part of someone's routine. you install the service, and stop thinking about it. If you need to run an app you don't have, you check your coLinux instance (via web page/vnc applet/etc) to see if it's already installed for you, or is apt-get-able etc. like Lindows Click-n-Run. I run the excellent gramps geneology program from my Windows box in just this way: starting an X session from cygwin and connecting to a RedHat VM. There's definitely some desktop gluing for authentication/clipboard/file sharing that would be involved to make it friendly to non-unix users, but I think it's an easier approach towards large-scale platform advocacy than the alternatives. Even without the glue, in some instances the lack of desktop integration could even be a feature: one of the many Windows specific email-based virii would have a difficult time doing anything destructive to your box if you read your email using Evolution on a colinux VM as a nonpriveleged user.


The packaging folks have done all the hard work to make this useful ... let the 95% of computer users who run Windows take advantage of their labor and you have the makings of an inflection point that could happen much sooner than the widespread desktop Linux rip-and-replace that most big companies are betting on.


Resources:

  • Cooperative Linux home page
  • My virtualization wiki, which compares the capabilities of various commercial and open source virtualization software.

    Can colinux raise the profile of free software in the Windows world?


    Is the only good virtual machine a fine-grained one like the CLR or JVM?


  • 9 Comments

    aristotle
    2004-04-02 14:58:29
    Wouldn't the opposite be better?
    It would be much better to turn things around: run a Windows VM on your Linux box.
    aristotle
    2004-04-02 15:02:45
    Wouldn't the opposite be better?
    Ack, hit Enter too soon. What I wanted to say:


    Of course, that will probably remain a pipe dream, as it would either require cooperation from Microsoft (yeah, right) or extensive reverse engineering (cf. DMCA).


    I would be better to run instance of the more problematic system as VMs inside a more reliable OS shell, though, particularly using a copy-on-write scheme for its virtual harddisks. Latest worm bothering you? Just roll back the VM to last week's status.

    johnseq
    2004-04-02 15:08:04
    Wouldn't the opposite be better?
    I believe you could use Bochs or the Xenoserver project to do this. Or VMWare. Or Win4Lin.


    Check out my virtualization wiki for all the different options and links.



    chirael
    2004-04-05 12:09:31
    Headless VM?
    What do you mean by "headless"? I'm not familiar with VMs, so pardon the probably-silly question. It just conjured up pictures of the mythical Hydra monster with all those heads...
    johnseq
    2004-04-05 13:17:56
    Headless VM?
    Sorry for the jargon. It's a term used to describe servers without a monitor, like you would normally do when colocating a box at an ISP. When running VMWare or VirtualPC, you usually see a window on your desktop that looks like you're running a PCAnywhere or VNC session. You can minimize the window of course, but you can't make it go away, and there's no way with the desktop editions to configure individual virtual machines to begin running when the host machine is booted.


    What I'm describing with colinux is a Windows thin client (x/vnc/etc) running against a colinux server ... but the server actually runs on the same box. That's a fundamentally different architecture than the one vendors typically recommend to users considering a free software switch. The standard advice is either switch to a Windows workalike clone (Lycoris,Lindows,etc) and/or repartition your drive. I think both approaches asks too much of the average user, and that virtualization is a much saner way to get many people benefitting from free software.


    As an aside, see workspot.com for a nice example of a thin client connecting to a fully configured linux web development desktop.

    chirael
    2004-04-05 15:01:20
    Headless VM?
    Thanks for the great explanation, John :) So it's like using VNC or PCAnywhere, except that it's actually connecting to a different (co-running) OS on the same machine. Funky, but cool.


    I wonder how it deals with IP addresses though. I'd imagine that you'd effectively have two IP addresses mapping to the same physical machine. I know that's possible if you have multiple Ethernet cards ("adapters") with one IP bound to each card, but in this case it would be one card but two different OSs using it for two different IP addresses. Sounds a little wacky, but maybe the CoLinux people figured out a way to address this somehow.


    The workspot.com link is pretty cool, and hopefully they'll get some more signups through your mentioning them (since they said their ~100 users were woefully inadequate in covering overhead). A 100MB accessible-anywhere virtual desktop for $10/month seems like a pretty good deal to me, especially since it seems like it would allow you to use SSH and other things otherwise blocked by a corporate firewall (use the Java applet to connect to your virtual desktop outside the firewall, then SSH/whatever from there).

    jwenting
    2004-04-06 04:21:58
    Headless VM?
    the way VMWare handles this is that they don't access the hardware directly.
    Instead you get mapped hardware which actually are software processes that do the hardware access for you.
    There is no hardware incompatibility problem because there is only 1 videocard, 1 soundcard, etc. etc. and they provide you with drivers for that.


    You can thus give your virtual desktop a network address which maps to a virtual network card.
    Outside the VM that network address becomes visible on your LAN as a remote computer, and you can access the machine on which the VM is running (and any other networked machines it can see including potentially the internet) as remote machines from inside the VM.


    For all concerned, the VM is just another computer on the LAN, but a logical one running inside a physical one.


    I used to have a VMWare license, but when I tried to install it again a few months ago (I'd not used it for quite a while and had since gotten a new computer) it refused to accept the licence key... I haven't tried getting a new key or getting a new license, the cost doesn't for me justify the benefits.

    jelabarre
    2004-04-12 18:07:11
    Wouldn't the opposite be better?
    Well, it's not precisely Windows(TM) but there's the ReactOS project (www.reactos.com) which is making an OSS Win32-type OS. I've thought they could make a modified loader to run their OS like User-mode Linux.
    jelabarre
    2004-04-12 18:10:49
    Wouldn't the opposite be better?
    Well, it's not precisely Windows(TM) but there's the ReactOS project (www.reactos.com) which is making an OSS Win32-type OS. I've thought they could make a modified loader to run their OS like User-mode Linux.