Tuesday, September 30, 2008

Ubuntu and VMware: Summary for Now

This is the final entry in a series of long posts on my effort to make the transition from Windows to Linux. I had gotten to a point with Windows XP where I was able to get a lot of things done, but (a) I was having to reinstall the operating system, and otherwise spend a lot of time fooling around with maintenance stuff, and (b) what I was hearing about Windows Vista as an alternative to XP was not encouraging. So I decided to make the switch to Linux. I chose the Ubuntu flavor. The version I installed was Ubuntu 8.04, also known as Hardy Heron. My initial strategy was to replace Windows programs with Linux programs wherever possible. But after a certain point, I found myself mostly just trying to find some way to continue to use my Windows programs. That is, there were probably some viable Ubuntu alternatives that I did not discover or explore. There were several reasons for that. First, I typically knew what I wanted to do, and I knew how to do it in Windows and didn't know how to do it in Ubuntu. There were some cases where that was not true -- where the Ubuntu alternative was just as good as, or better than, the Windows program for my purpose. One example was OpenOffice Calc, which for casual spreadsheeting seemed pretty much interchangeable with Microsoft Excel. Another example was Ubuntu's Nautilus file manager program, which for some purposes (e.g., obtaining properties of a partition, copying or deleting large numbers of files) performed more reliably than Windows Explorer. Of course, having Ubuntu as the underlying layer was generally preferable to having Windows as my foundation: it so rarely crashed, it shut down and started up faster, its Hibernation feature worked faster and more reliably (so that I could quickly resume, the next day, where I had left off the night before), its program installation and update features were smoother and less disruptive, and so forth. It was also nice to have a familiar, alternative way to get to my files and get work done, at those times when Windows decided to be uncooperative (and of course it was very handy to be able to jump files over to the other computer, or do browsing on the other computer, if I had to reboot or reformat or do other maintenance on one computer). So I was able to make substantial changes in my former way of doing things -- was able, that is, to transition a considerable number of activities to Ubuntu Linux programs. But there were also quite a few tasks for which that wasn't possible, and for those programs I still needed to run the more familiar Windows programs. A second reason why I did not fully explore Ubuntu alternatives was that they required time, interest, and/or expertise that I did not have. I probably could have done more with Wine, for example; there were probably Windows programs that I could have run directly in Ubuntu if I had learned more about Wine and had mastered the possibilities that it, or other programs like it, might offer for my preferred Windows applications. Another example, arising at the end of my effort, was rsync. I needed a reliable backup tool; people were saying that rsync was the one for me; but I no longer had the time or interest to investigate it in enough depth to master its usage. Backup was important to me, and that might seem to imply that I should have been more motivated to master rsync; but my experience with backup is that, unless you know what you're doing, you can pretty much expect to have a nasty surprise at some point, when you discover that the program you thought was doing well really wasn't. So at this point I had to fall back to the inferior solution of doing manual copying of whole folders or partitions to some other location. Certainly this was something that I would want to explore and work out at some point, but I couldn't do it now, and for that reason Ubuntu wasn't really sufficient for me. Another reason for my failure to fully explore Ubuntu alternatives to Windows programs was experience. After trying with a number of programs, my default assumption increasingly tended to be that the Ubuntu alternatives would lack features that I would need. Again, I knew what I wanted to do, and I knew how to do it in Windows, and it was discouraging to invest time in an Ubuntu alternative that ultimately proved unable to do what I wanted. My sense, in this regard, was that maybe a subsequent version of Ubuntu would come closer to providing solutions for these kinds of tasks. A final reason for my failure to fully explore Ubuntu alternatives was that there seemed to be some things that would just have to be done in Windows. There were, at this time, no Linux drivers for my multifunction scanner/copier/printer/fax machine. Unless I wanted to spend a chunk of money and time to shop for and buy a replacement that would work out as well as this one had done, it just made more sense to retain my dual-boot version on my secondary computer and use that as my primary avenue for printing and scanning. That wouldn't have worked so well if I hadn't been free to reboot the secondary computer into Windows pretty much whenever I wanted, or if I'd had a large volume of scanning and printing to do. For my purposes, this approach was good enough. Likewise with my USB devices: most of them (particularly my digital voice recorder and PDA) were not recognized by Ubuntu, which meant I couldn't back them up or transfer data from them to the computer unless I booted into Windows first. VMware for Linux made it much easier to take care of non-hardware Windows needs. That is, WinXP running in a VMware Workstation virtual machine would still not recognize my printer or those other USB devices; but it would run Microsoft Word, Adobe Acrobat, and other Windows-based programs that I needed. So for Windows hardware purposes, I would reboot the secondary computer; and for Windows software purposes, I would run the programs in a VMware VM on Ubuntu. That still did not work for Adobe Premiere Elements -- on my machine, the VMs were just too slow for video editing, and therefore I had to do that work in a native WinXP boot -- but it worked just fine for most other stuff. So what I had, at this point, was a two-computer setup. Using a keyboard-video-mouse (KVM) switch, I was able to tell my keyboard and mouse to work on the primary computer or, by tapping the ScrollLock key twice, I could instead tell it to turn to the secondary computer. (For this and other items discussed in this post, search my blog for the term that interests you. In most cases, you'll probably find a more detailed description.) Using another KVM switch, I was able to punch a button and tell the secondary monitor whether to show part of what was happening on the primary computer (in, that is, a multiple-monitor arrangement, in tandem with my primary monitor) or, instead, to show everything that was happening on the secondary computer. Both of these computers were dual-boot WinXP and Hardy Heron setups. On both, I mostly used Ubuntu to run Firefox for my web browsing. (FF 3 was not working well when I tried it, during this process.) On the primary computer, I used VMware to run nine different virtual machines. Most of them were allocated 1GB of RAM (two were just 512MB) and 15GB of disk space (the smaller ones got just 10GB). I had enough RAM to run four or more of them at once, but almost never did, because the hard drive would just be running constantly, trying to keep up -- and anyway, it was more efficient for me to reduce my focus to just a few projects until I reached a point in my work where I would want to suspend one and resume another. I created those machines in the first place by using VMware Converter to convert my nearly perfect basic Windows XP native installation (hint: don't enable or perform updates) into a working virtual machine, which I then enhanced with updates etc. from within the safety (I hoped) of a virtual machine running on Linux behind a Linux-based router firewall. I hoped, later, to try using VMware Player to run one or more of those virtual machines on the secondary computer, but I hadn't really needed to do that so far. The numerous posts in this series, going back over the past two or three months, mention many problems that I was not able to work through completely, or for which there did not then seem to be a solution. As I become more familiar with Ubuntu, and as new versions come out this fall and next spring, I expect that some of these problems will disappear. I will also probably keep working away at some of these problems on an occasional basis, though I don't know whether I will blog the steps I take to work through them. For my own future reference (and for any other diligent soul who may have been slogging through all this with me), one of the issues that I have yet to resolve is VPN. I need to use VPN to access some websites, and so far I have not been able to make it work in Ubuntu. (Again, a previous post in this blog provides further details.) There were some other problems and needs that I had touched upon previously. Google Desktop did not seem to be working in Ubuntu. I had not yet started trying to figure out how to network these two computers within Ubuntu. The clock within WinXP running in VMware ran at its own hyper pace, maybe twice as fast as reality. I had yet to return to the dual monitor issue, now that I had ordered and installed a video card that seemed more compatible with Ubuntu. I hoped to replace Microsoft Outlook with Evolution on Ubuntu, and I hoped to play around with some VMware appliances (available through their website) and see whether they had anything to offer me. It seemed advisable to figure out a RAID arrangement for the drive that was running VMware Workstation, because hard disk startup and shutdown activity could take a half-hour, an hour, or even more, depending on how many virtual machines I tried to start up at once, and the machine would be virtually unavailable during that time. There were probably quite a few others that I was not able to remember at this particular moment. Suffice it to say that I had spent years becoming familiar with the oddities and workarounds in WinXP, and I expected the same would be true in Linux. The advantage of doing it here was that I was learning things that tended to be on the command-line level; and while that was harder and riskier in some regards, it seemed likely to be much more durable knowledge. Having spent decades using my DOS knowledge acquired in the early 1980s, I felt that this was a good investment of time. Unlike the case when a person had to learn how to switch from one version of Windows to another, I expected my learning in Debian Linux (on which Ubuntu was based) to continue to be useful for years to come. So my present plan, as of the end of September 2008, was to keep fiddling with Ubuntu as time permitted, but not to revisit the matter in a major way until summer 2009, by which time there would hopefully have been quite a few more steps forward in Ubuntu, VMware, Wine, and other programs.