The pain of switching to a new OS

The pain of switching to a new OS

Summary: Never underestimate the power of inertia. Windows users may grumble about security updates, password prompts, and balky hardware, but those annoyances are nothing compared to the mental effort required to switch to a completely new OS family. This longtime Windows user's experience with Ubuntu Linux tells the story.


Last week I decided to install a new operating system on one computer in my lab. Not a big deal, really. I install, uninstall, and reinstall various Windows versions all the time. But this particular installation was just a little different. See how much of this sounds familiar:

  • I made sure I had a CD containing the latest released version, placed that CD in the drive, and restarted. The system detected the CD, launched the boot files, and allowed me to create a new partition to install the OS files.
  • I answered a few questions and then let the installation proceed automatically. After everything completed (well under an hour), I created a new user account and password and logged on.
  • The very first thing I saw was a pop-up balloon warning me that there were updates available. When I clicked that icon, the screen dimmed and a password dialog box appeared. I couldn’t continue or perform any other task until I entered the administrator password.
  • Even though I had installed the very latest version, I saw that there were 98 separate updates available, designed to “correct errors, eliminate security vulnerabilities and provide new features.” It took approximately a half-hour to download and install everything over my high-speed connection.
  • After the updates completed, I was warned that I had to restart the computer before all of the updates would be effective. So I did.
  • When I reached the desktop, I noticed that the system clock was off. I tried to adjust it and was greeted once again with the dimmed-out login screen where I was prompted to enter the administrator password.
  • I noticed that the display resolution was set to 1024x768, but when I tried to change it to my monitor’s actual resolution of 1280x1024, I discovered that the settings dialog box didn’t offer that option and there was no obvious way to tweak it.

Ho-hum. Sounds like a typical Windows installation, with all the usual complaints: too many security updates, forced restarts, hardware that can’t be configured easily… And it must have been Windows Vista, because of those annoying User Account Control prompts.


Wrong. I was installing Ubuntu Linux. I had never tried this distro before, and I had heard from commenters recently that it was extremely user-friendly. So I decided to take it out for a spin in a VMWare virtual machine. The out-of-the-box experience wasn’t all that different from current betas of Windows Vista, and I was able to surf the web and set up the included Evolution e-mail client without too much difficulty.

But the experience became significantly less enjoyable when I tried to accomplish what should have been simple tasks to a moderately experienced Windows user. First, I needed to install the VMWare Tools utility. This is a set of add-ins that provide improved display and network drivers as well as the ability to move the mouse pointer effortlessly in and out of the virtual machine. When Windows is running in a VM, you can choose a menu option from the main VMWare menu, open the CD drive, and then double-click an icon to install the tools package. The Linux version starts the same way, by opening a CD window, but then it breaks down. The VMWare Tools package for Linux is contained in a tar.gz package, which I recognized as a compressed format. I was able to decompress the tarball and drop it into my home directory, but at that point I was stuck. Nothing looked particularly executable, and double-clicking icons with files names that included the word “install” did nothing.

It took about 20 minutes of Googling to learn that I had to use the Synaptic Package Manager (another UAC-style prompt required) to install the GNU C Compiler (GCC 4.0.3–1), the Make utility, and the Linux kernel headers for my installed version. (Of course, I needed to issue the uname -r command at a Terminal window to find out the correct version number.) After those components were all properly installed, I then had to open a terminal window and use the sudo command to run a Perl script that actually installs the VMWare Tools package.

After restarting, I had to go back into Terminal and run a series of cryptic commands (/etc/init.d/networking stop and modprobe vmxnet, to name just two) before the system would recognize the new improved network driver. And I had to reconfigure the X.Org X server (another cryptic command, sudo dpkg-reconfigure xserver-xorg, issued from a Terminal window) before I could take advantage of my monitor’s full resolution.

[Update 10-July 2:40PM PDT: Some commenters are convinced that the graphics resolution problem I'm encountering is specific to the VMWare virtual machine. Nope. I just installed the same Ubuntu distro on a physical machine with an NVidia adapter with 256MB of onboard RAM. Despite the fact that my LCD monitor has a native resolution of 1280x1024, Ubuntu will only allow me to go to 1024x768. I repeated the same Terminal commands to reconfigure the X server on the physical machine and - kaboom! - when I restarted I was greeted with one of the ugliest text screens ever, informing me that the X server couldn't start due to a configuration error. I was forced to boot to a command prompt, where I reran the X server setup, this time choosing the Simple option instead of the Advanced option to specify monitor characteristics. When I restarted, my screen was at its full native resolution.]

The good news is that most of this information was readily available on community sites, although it took plenty of false starts and a few dead ends to get to the solutions that worked.

I’m actually fairly impressed at how far I was able to get with this Linux distro before I was forced to descend into command-line geek mode. And I have enough of a background in basic OS concepts and command-line interfaces that I was able to figure out what needed to be done at most steps. But a typical Windows user, even an experienced one,  would have been thoroughly lost at most of these junctures. And I haven't even mentioned the hour or so I spent searching for a decent feed reader and then figuring out how to install it. The task got a bit easier when I discovered how to enable the Community maintained (Universe) repository in the built-in package manager, but that option certainly wasn't obvious, and I only stumbled across it while searching for a completely different answer. A Windows user who is accustomed to downloading an exe file and double-clicking it will be stumped by the process.

In recent weeks, I've heard from several commenters who insist that Linux on the desktop is ready for the mainstream, or it's just around the corner, and that they've had no trouble setting up Linux-based systems for their grandmother or a similarly technophobic relative. My experience says usability is still a huge sticking point. A Windows user who is determined to make the switch will have to throw away knowledge and habits learned over years and years and essentially start over. Learning all those basic concepts from scratch is a frustrating experience, and it means lots of reading and research just to get to the point where one is even a beginner. Terminal sessions? X servers? Samba? Symbolic links? This really is a strange new world for someone who's only ever known Windows.

For a hobbyist or someone who's passionate about technology, the effort of learning all those new concepts might be worth it. But for someone whose goal is to get work done or to have the computer be just a tool, the pain and the effort of switching can't be underestimated.

I'm going to keep this Linux machine around and continue working with it. I'm also going to try a fully licensed copy of the Linspire distro next, to see if its subscription-based model makes a difference in the user experience.

Topic: Operating Systems

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • So your problem was with VMWare, not Linux?

    Basically, you are saying that you installed Ubuntu with no more or less difficulty than you would expect when installing Windows...

    [i]But the experience became significantly less enjoyable when ... I needed to install the VMWare Tools utility.[/i]

    So it's "Yay!" for Ubuntu, and "Boo!" for VMWare.

    [i]The good news is that most of this information was readily available on community sites, although it took plenty of false starts and a few dead ends to get to the solutions that worked.[/i]

    That's a relief ;-). And since no-one is suggesting that Mom and Pop installing Linux in a virtual machine in the first place, this sounds like an endorsement for Ubuntu to me.
    • They're just drivers

      The VMWare Tools package is just a set of drivers. And VMWare has some of the best Linux and Unix support around. So no, I would not say the problem was with VMWare. The problem was that the way those drivers were packaged was not user-friendly.
      Ed Bott
      • pathetic

        the fact that you used VMWare means we can discard almost all your "story". most of your problems (graphics for example) would have been related to VMWare. try actually installing it.
        Scott W
        • Nonsense

          VMWare provides a perfect generic PC test bed. It's about as standard a hardware platform as you can ask for.

          Also, I just booted the Live CD on a "real" PC and am still unable to use the monitor's full desktop resolution.
          Ed Bott
          • Poster has a point

            No "emulation" can be perfect. The first question to ask is what is a "generic PC"? Is it the Nvidia Video Card or ATI that you are going to "emulate".

            Emulate means do it in software, software is written by a person. I wouldn't say your problem is with a software bug, but will say the person got to target its emulator at some operating system. The fact that you have to install additional driver prove it that your VM software has to know which OS you are targetting at and react similarly.

            It was really unnecessary to cloud your experience with a VM machine sitting in the middle. With this type of topics it is best to remove any middle layer software or otherwise people are going to point the finger at it. Like I do right now.

            Why is "real" in inverted comma? Another emulator?

            I am going to take it at face value that you are using a real PC and tested it on good faith. You might like to know that my Windows seems to be unable to use my monitor's full resolution on first boot as well and Windows did not ask me to "optimize my resolution" either. In case you asked, there was a few boot in between before I concluded that it is not going to ask me and mine is a typical Dell Computer. More precisely, Precision 380 with the standard 17" LCD Dell is selling. May be my Dell is not "generic" or "real" enough, compared to your "emulated" one.
      • Yes, drivers packaged [b]by VMWare[/b]

        You should tell VMWare to package them better next time, or provide you with better instructions.
        • And if this were a Dell...

 would say Dell should package its drivers better? Or Gateway, or Shuttle, or whoever. VMWare has one of the best reputations around for supporting Linux, yet this utility doesn't work particularly well.
          Ed Bott
          • Last time I bought a Linux PC from Dell, they used RedHat 9.

            RedHat 9 uses RPM packages, which is a perfectly good way of distributing drivers. [b]Much[/b] better than a .tar.gz file. A .tar.gz file is about as basic as it gets, and doesn't integrate at [i]all[/i] well with a system built from RPM packages. It's much more portable of course, and so can be used on [b]every[/b] Linux distribution, but the trade-off for that, as you have found, is in your ease-of-use.

            On the other hand, anyone installing a Linux distribution on a virtual machine is hardly a typical user. So I guess that VMWare feels that this trade-off is worth making. After all, you succeeded, didn't you?
          • FSVO "work"

            [i]VMWare has one of the best reputations around for supporting Linux, yet this utility doesn't work particularly well.[/i]

            VMWare did all that I would want them to, frankly. If they were more distro-specific, I'd be stuck backing out the distro stuff to get a usable starting point.

            What VMWare does is supply the source for their tools. Bless 'em. From there, distros can roll specifics; you were trying to start with the dev kit and getting upset that it wasn't the end product.

            Now, Ubuntu may or may not have packaged VMWare tools. However, that's a different issue from the matter of how hard it is for the newbie to roll Linux from scratch.
            Yagotta B. Kidding
      • They're just "VMWare" drivers, Ed.

        Hmmm.... The drivers came from VMWare and were included in the VMWare package, not in Ubuntu, so just how is VMWare's packaging of their own drivers Ubuntu's responsibility? Shouldn't they be the one reponsible for putting the drivers in a .deb package?

        Second, I always have to laugh at this "Linux isn't ready for prime time" bit. The reason is always that people complain that they have to learn something different than they know how to do in Windows.

        Imagine that. You change OS's and you have to learn a different way of doing things. So? You had a long learning curve in Windows too. You didn't immediately know how to find and install drivers, or troubleshoot them when a problem came up. It took research, time, and effort, but all the pro MS people always discount that. For some reason it's, "Well, I learned how to do things in Windows, so now I should never have to learn anything else about computers in my life."

        What a load of bull. Try to be at least half way unbiased in your writing about Linux, Ed.
      • Vmware's unix/linux support blows in ESX

        <i>"And VMWare has some of the best Linux and UNIX support around."</i>

        Not when you move into the enterprise. We just moved to ESX server on a blade center and SAN. The hardware part of it is nice, and the Windows support is fiune, but ESX's support of linux/unix is not so peachy IMO. Basically, you can run any version of Linux you want <i>as long as it's Red Hat Linux, or SuSE Enterprise Linux</i>. Any other distros of Linux are unsupported by Vmware. That doesn't mean they won't work, but you're on your own if you have problems. I've heard from people who've run Linux under vmware that there are huge problems with clock drift on Linux systems with SMP kernels, and even vmware's own workarounds don't always work perfectly - So make sure and sync your virtual machine's clock every 30 minutes on that Vmware box of yours, or you'll find your clock off by minutes every day.

        I'm a FreeBSD user, and the only version ESX supports in FreeBSD 4.10. FreeBSD 4.10 is [b]ancient[/b]! Newer versions of FreeBSD 5.x and 6.x, won't even boot without hacking the hard drive controller drivers by hand.

        My BSD servers (which have been chugging along for years now) are going bye-bye thanks to our migration to VMware. :(

        As for Solaris 10, Vmware just implemented support for it in ESX 3.0, which was released a few weeks ago.
        • Cleaning your clock

          [i]I've heard from people who've run Linux under vmware that there are huge problems with clock drift on Linux systems with SMP kernels, and even vmware's own workarounds don't always work perfectly - So make sure and sync your virtual machine's clock every 30 minutes on that Vmware box of yours, or you'll find your clock off by minutes every day.[/i]

          That's what [b]ntpd[/b] is for. You may still get dispersion, but at least your jitter won't accumulate.
          Yagotta B. Kidding
          • Nope

            ntpd doesn't help much if your clock is running 5x too fast. The jumps become to large and it still falls behind/jumps ahead. ;)

      • Different Distro, different results

        When I last installed SUSE on two PCs both of which had screen resolutions of 1280x1024, they were picked up perfectly.

        In fact, I had no hardware adjustments to make or extra drivers to install. These were just ordinary PCs, nothing fancy or special about them.
  • Hey Ed... I like your articles...

    Even thought you are similarily more for Microsoft atleast you try and look at things with an open point of view.


    "In recent weeks, I've heard from several commenters who insist that Linux on the desktop is ready for the mainstream, or it's just around the corner, and that they've had no trouble setting up Linux-based systems for their grandmother or a similarly technophobic relative."

    I would of told you this. I have said it time and time again to people who think linux is ready for hte desktop. It's not ready for the desktop whatsoever. (I also just installed Fedora Core 5) on a Virtual PC just to continue playing around with it. I miss playing in AIX so I wanted a *nix backend again.

    No O/S other than Apple's have even a remote chance at beating Microsoft in the useability department.
    • this depends on what you're used to

      indeed linux is not yet up for the mainstream as a desktop environment. But it's also dependent on what you're used to. As I primarily use linux on my desktop and got totally used to the manner everything is handled there i can tell you that i'm always swearing a lot when using windows because it totally makes no sense for me, just some examples:
      - There are no virtual desktops so i get cluttered screens (once you get used to this you know what i mean by this.)
      - My menu is always a mess because everything is just installed inthere (on gnome it's installed in some simple categories)
      - I have to click a lot and miss my shell

      So all just depends on where you come from and what you've got accustomed to (just ask an apple user to use a windows or linux desktop they too will freak out).

      Usability is also partly something you've learned and gotten accustomed to (try driving in the UK and you understand what I'm getting to)
      • I totally agree

        [i]Usability is also partly something you've learned and gotten accustomed to[/i]

        I've often been frustrated with the way things are done in Linux only to find that once I've figured out the "Linux way" and done things that way for a while, they make a lot of sense and allow me to accomplish said tasks as quickly as I'm able to accomplish them in Windows.

        Administering Linux using Windows methods is likely to be as much fun as using chopsticks to eat soup. Pick up the bowl and drink it!
      • I agree but....

        Atleast we both agree that it's not a mainstream desktop environment.

        I programmed for about 5 years (daily) in AIX, so I know and am accustomed to a *nix environment.

        BUT... When you compare learning curve in Linux vs Winodws for example. Windows wins.. I can just point and click places and eventually might find what I'm looking for.

        Where as with *nix, I have to use "man <command>" and read through cryptic manuals. Even then I'm not guaranteed to get what I want. Sometimes I have to go searching and searching for exactly what it is...

        The pro to it is.. It's faster. Command line is faster without a doubt (when you know what you are doing). The power of it is there, and the stability.

        Anyone who's been in the same position as me in AIX mainframes having to cope with HUGE loads on the mainframe will atest to it's reliability. When you have 1000's of people visiting, and ordering from a site in minutes.. You know what it's about.

        Having an internal network vs unsecure VERY popular e-commerce site (of which I mean users can browse without an account before ordering and viewing the inventory) is quite different. At peak times if it goes down, you don't have time in a Windows box to reboot, restore services etc.. It has to be up pronto.

        Until someone has been in this same position, they can't even refute what I'm saying. ;)

        But I'm getting off on another topic..
      • Good point

        However, I've used numerous OSes, even Minix (from which Linux was developed). I still find Linux has a HUGE learning curve, and arguably the biggest.

        I think one of Linux's strengths is also a potential weakness when it comes to user-friendliness. Linux is made up of so many little "pieces" that on the one hand it is easily tailored to a user's specific needs and desires. However, it's not always obvious which pieces you need. If the Linux community could address that and the issue of some downright cryptic commands and switches, it would make great strides toward the home user market.
        • Well if they want to gain any type of momentum...

          They need both the command line for the hardcore users, and the visual desktop for the more basic users.

          As far as I'm concerned (although I'll probably get alot of slack for this). My experiences to date have been that *nix users who use command line use can resolve issues faster and their learning curves are less vs Windows users who for "resolving" issues are pointing and clicking everywhere until they find what they need.