Making the Switch [Linux FTW]

Since January of this year (2010), I have helped 3 separate people make the switch over to Linux from Windows. Last year I helped two people do it, and I am currently in the process of converting our desktop (used primarily by Melissa) over to Ubuntu as well. In 2011, I helped 3 other people convert, and also all 3 of my coworkers at my new job.

To date, only one of them went back, but to be fair, I wasn’t able to help him in person, only over the Internet (and being able to play World of Warcraft was a dealbreaker for him — WoW does work, you just have to hoop-jump a bit to do it). UPDATE: I play Skyrim on a regular basis via Wine with little to no difficulty.

My distro of choice, of course, is Ubuntu. The latest release as of this post, Karmic Koala, offers many really awesome features, some of which aren’t even offered on Windows.

The key factor for conversion is quite simple: most people only need some really basic features to be satisfied. If anyone has ever asked you for advice about what computer to buy, if you ask them what they plan on doing it, the answer is often “Oh, you know… email, Internet, pictures, word processing; nothing fancy, I don’t need a gaming computer.”

For the scope of this post, I’ll be discussing Ubuntu exclusively (I’ve found it to be the most accessible for new Linux users and it has a good online community base for support), though many of my sentiments will also apply to other distros (Fedora, Mint, SuSe, Debian, etc).

Accepting the Premise

Ubuntu is not hard to use provided you can accept two basic premises:

  1. It is going to be different than Windows, and so you shouldn’t expect to be able to instantly know how to use it (similar frustrations would be had switching Windows -> Mac or vice versa, as well)
  2. Drawing on the Ubuntu community for support (predominantly on the Internet) is a key component of using the operating system

My friend that ultimately switched back (I think) had a difficult time with the first premise — he expected to be able to be an expert right out of the gate and was frustrated when things were different; he was intimidated by having to drop to the command-line now and then, and set really lofty goals for a beginning user (playing WoW).

The other users I have helped have had a much easier time with it, though. The command-line seems intimidating; Don Norman (author of Design of Everyday Things) calls this the “tyranny of the blank screen”, but learning a few basic commands makes the experience far more tame.

Different Routes to Switching

Depending on the user’s needs and the hardware they have available, the method of “switching” can vary greatly. Some people do a plural OS situation, others do Ubuntu alone. If you are new to Linux, I would recommend a non-committal approach (Pendrive or Live CD) to test it out.

USB Pendrive Linux

One of the people I helped wanted to put Linux on her netbook; we settled on loading up persistent Linux on a pendrive, since she wanted to just try it out, but wanted to be able to install programs and use restricted drivers (NVidia has some great 3rd-party supportUPDATE: NVidia and AMD/ATI have proprietary drivers for their 3d accelerators, Nouveau and FGLRX, respectively). When she uses Linux, which is pretty much all the time now, she just plugs in her 2GB pen drive, turns on the computer, and it boots directly into it! If she needs to use windows for something, she just doesn’t plug the pen drive in. Terrific. (Note: this method is substantially more difficult to setup if you want to use 64-bit Ubuntu… the pendrive linux installer only supports 32-bit Ubuntu UPDATE: Pendrive linux now supports the most current version in both 32 and 64-bit versions)

Dual-booting

The most recent convert was a dual-booter. She has Windows Vista on her Asus laptop and is really unhappy with it, but feels she doesn’t have a choice. One of our Profs (more on him later) suggested that she try out Ubuntu, mostly because she can use Wine to use the “Gene Runner” genetic analysis software, which was written for old versions of Windows.

We used a gParted boot CD to shrink her main partition by about 40 GB, created a Linux partition (ext3) and swap, then installed Ubuntu onto that partition. Part of the installation process automatically sets up Grub (the boot-time OS menu so that you can choose which OS you want to use). She can still access all of her files from Windows while in Ubuntu, via an automatically created and mounted Windows partition as /windows, and the installer even offers to import her Windows profile with all of her documents, bookmarks, etc.

A caveat — if you want to do dual-boot, install Windows first, and THEN install Ubuntu. It’s much easier. I did it in the reverse order and you have to get a little clever with the MBR to get it to boot correctly. Doing Windows then Ubuntu will automate all the changes necessary.

Solo Install

I actually don’t suggest this for most people, unless they are very patient and are in a low-pressure situation. Doing a solo install can put a lot of pressure on the learning process and make some minor frustrations really pronounced. If you have a difficulty accepting the premises above, this can be a very painful and stressful switch. People that do solo installs on a secondary computer (for example, a second desktop, extra laptop, etc.) should have an easier time of it though.

It is worth mentioning, of course, that not doing a solo install will leave the spectre of booting into the OS that is more comfortable; forcing yourself to adapt to the new OS by doing a solo install is like learning a new language through immersion — learning happens more quickly when you are forced out of your comfort zone, albeit with the risk of more frustration.

One of my professors, the one I mentioned earlier, had an extra (old) Thinkpad laptop he wasn’t using for anything else. I convinced him to try out Linux again after demonstrating some of the cool things on my laptop. The last time he used it, it still required lots of command-line compiling; but as I showed him, things have changed a lot. I never command-line compile ANYTHING anymore. I think I’ve done that once in the entire time since I started using it over a year ago and that was only because I was experimenting with some cutting edge stuff for my Wacom tablet. (It does support Wacom right out of the box, though)

The package management systems of modern distros, particularly with the automated installer / upgrade manager, make for a pleasant experience. The Ubuntu Software Center, in particular, is a very useful (and usable!) tool for beginners, and can be gainfully used in Pendrive or Dualboot/Solo installs, but not a typical Live CD scenario.

Other options

The Ubuntu disc comes pre-loaded with Wubi, an ubuntu virutalizer that allows you to run ubuntu inside of Windows — you can get a taste of ubuntu, but not the full experience.

There’s also the “live CD” booting — you boot directly from a CD without installing anything at all. The advantage of this is that you get to (a) see what is supported right out of the box (sound, networking, graphics, etc.) and (b) play a little bit with the factory default stuff. You can’t install new programs and you can’t load any custom drivers (3d accelerated drivers, for example) — but it’s great if you just want to poke your nose in and check it out.

If you’re more tech-savvy, you can also use Virtualbox, Parallels, VMWare, or any of the number of virtualizers out there to have a Linux installation run as a guest on your current OS. You get some of the benefits of being able to install software and work on it, but you really don’t get the full flavor of all the cool features, particularly the 3d/GLX stuff.

Reasons to Switch

The first thing people typically ask me when I start proselytizing is “why?”

Generally speaking, the people that switch either already have a reason to do so, or have nothing to lose by doing so. But for those people that are on the fence about it and could go either way, I offer these reasons.

Performance

Your computer will run a little bit faster on Linux, particularly if it’s not brand new. My laptop has both linux and Windows XP (there are two games and one app that I cannot emulate in Linux) — Windows XP runs ok, but Linux is soooooo much faster. Similar situation with our Windows desktop: it was having all kinds of sluggish performance on Windows, but runs much more smoothly on Linux.

There are a number of reasons for this — Linux doesn’t require an anti-virus program, first of all. I don’t know that any exist, really, other than maybe Clam AV for email scanning. It’s just not as penetrable as Windows and people don’t target it nearly as much. Linux also tends to manage system resources a bit better; I don’t really know the specifics on how or why, but it just seems like it does. It also lacks the bloat that accompanies Windows.

UPDATE: The new latest version of Ubuntu (11.10, soon to be 12.04) uses the “Unity” winodw manager, a departure from the Gnome window manager that was used when this post was first written. Unity in 3d mode can be sluggish and be a resource hog, mostly due to the compositing manager (Compiz). Changing to “Unity 2d” at the login screen (click on the “gear” icon near the login text field) can substantially increase performance, at the expense of some of the cool visual effects.

Price

Linux is free, of course. Both as in “free beer” and as in “free speech.” You can go download Ubuntu from their website (ubuntu.com) right now, install it, and never pay a dime to anyone. It’s community developed and supported.

Up until now, this was never really an issue for me — I can get copies of Windows relatively cheap (10-20 bucks) through my work. With Windows 7, though, Microsoft has really laid down the law on the software; I can’t buy a brand new installation of Windows 7 from the bookstore, only upgrades. Windows XP (32-bit) doesn’t support some newer hardware very well, and 64-bit just doesn’t fly very well, in my experience.

Windows is technically “free” — I don’t know anyone personally who has ever actually paid full price for a copy; they either get it with the computer they buy (the so-called “Microsoft Tax”) or they buy it like me for a discount, or they pirate it.

One thing about the Microsoft Tax though — it may seem like it’s “free”, but compare the specs on laptops offered by Dell (the Studio series, for example) or HP, or Asus, or any other vendor that requires that you have Microsoft Windows installed (seriously, you cannot get it without it), and compare those prices & specs with the laptops sold by LinuxCertified System76, the people whom I bought my laptop from. I paid roughly $1,300 for my first laptop, but the closest comparable laptop from Dell was at least $400 more. That’s a heavy tax.

Automatic Updates

In Windows, the operating system itself has automatic updates that roll out periodically. Linux has this too, but it goes a step further. The package manager tracks all the software you have installed and will query the software sources; security patches are rolled out immediately, and any other software updates are rolled out on a weekly basis. They are all optional, of course, but you are automatically notified.

When a security hole is discovered in a service or application, someone will write a patch for it, and that fix is disbursed immediately. Most security holes are patched within a day or two, if not immediately. Windows, on the other hand, has gone months without fixing security holes, and some are still left gaping open. UPDATE: They have gotten better about this, but I still maintain that Linux is more on-the-ball with updates, particularly with non-OS security patches, which are also rolled out through the update manager.

Third party apps are also updated in the same fashion – I use a third-party video editor called “OpenShot.” When they release an updated version of the program, perhaps with some new features or bug fixes, I can install the update automatically. Click “OK” and it’s done. It is seriously the easiest thing ever.

The Software & Apps

All of those fancy bells & whistles you see in Mac OS and Windows Vista / Windows 7? Linux can do all of those, if your graphics card will support it, and most modern cards will, even with onboard graphics.

But there are also cool things on Ubuntu that are not available on Windows or Mac (that I know of — feel free to correct me).

The “Conduit Synchronizer” for example, allows you to link up any number of locations / services / data units to synchronize in the background. For example, I have mine set to automatically take photos that I tag with “send to flickr” in F-Spot Shotwell (like Picasa, for linux) and upload them to my flickr account. You can do the same thing with videos and Youtube (I think you might even be able to synchronize your FlickR video uploads with your Youtube account, actually). You can synchronize a file on your computer with a remote site, or your google contacts with your local contacts. The list is gigantic, and it provides all of the back-end processing, you just tell it where to start and where to end, and it handles the rest.

With the most recent edition of Ubuntu, 9.10 (Karmic Koala) Ubuntu 11.10 (Oneiric Ocelot), the email and chat clients have been integrated into the desktop — I have my gMail account, google talk, facebook chat, and any other IM’ing programs I want all accessible from a tiny button in the top-right — it even automatically supports video chatting in gTalk! In the next version (10.04, “Lucid Lynx”, currently in beta, but due out very soon), [T]his feature [has been] expanded to include a number of Social Media platforms, including Twitter, Digg, and others. It has a “broadcast” feature where your status updates will automatically propagate out to any services you specify, all at once.

While many Windows programs can be run by using Wine (a translation layer that mimics Windows and tricks programs into thinking they are being run in Windows), not all of them do. And while there are many different applications, it is also true that there are occasionally bugs, or missing features, or perhaps the interface isn’t as polished as it would be on proprietary software on Windows or Mac — but there is also an abundance of software out there that is all free and easy to install. A series of clicks and you’re done. Each new version makes this a little bit easier.

The only thing I’ve found I can’t do on Linux is watch DVDs — there are issues with the proprietary codecs, and even with the workarounds it just doesn’t seem to work right. But this really isn’t that big of a deal. DVD playback has improved greatly, though my DVD drive seems a bit more sensitive than a typical DVD player. Most movies I watch are ripped to an ISO file first and watched that way, to take the hardware out of the equation. Oh, and I can’t watch Netflix movies (yet), since their player requires Microsoft Silverlight version 2, which is not available on Linux. While Netflix still doesn’t support Linux because they are in bed with Microsoft, I have been able to watch Netflix by creating a Virtual Machine in VMWare (either Free Player or Virtual Workstation) and running it through there. It performs well enough, and can still be made full screen.

Pretty much everything else is possible, but you may need to learn new ways to do it (Premise #1 from above).

“The Switch”

When I help someone switch, there are a few things I set up right away to get people started:

  1. Install Wine
  2. Install the Restricted extras package (and Flash, separately, if they are using 64-bit)
  3. Setup their Gmail account in Evolution Thunderbird (if they have one)
  4. Setup GoogleTalk, Facebook and any other IM services they have in Empathy
  5. Link Evolution Thunderbird to their google calendar for desktop notifications of their calendar events
  6. Setup the Nvidia VDPAU ppa repository and install the most recent NVidia drivers (assuming they are using an NVidia card) (This is now done automatically through Jockey)
  7. Setup Compiz & the configuration manager or revert Unity back to 2D mode
  8. [optional] setup directX in wine (if they plan on playing games)
  9. Add the PPA’s for Openshot video editor, Firefox-stable and Avant-window-navigator (trunk)
  10. Setup Rhythmbox Banshee

Depending on their needs, I may help install some other packages as well. I’ll also show them how to use the “Ubuntu Software Center” to find programs. There’s a swath of programs available in there, and it handles all of the installation / removal of the programs selected / deselected.

Most importantly, I show them how to use google when there are problems. This is really crucial, and is one of the main differences between Windows and Linux — there will occasionally be problems; it just happens sometimes. But I would say 80% of the time these problems can be resolved quickly just by googling for the problem. The community support is terrific, new users just need to learn how to comb it for information. The other 20% of the time, the problems are dealt with either “less quickly”, by asking someone for help, or, in rare occasions, by accepting that such a thing is not possible in Linux. (eg. some Windows software applications just cannot yet be run in Wine)

Reasons to Not Switch

Linux is not for everyone.

When I say that, I don’t mean that it requires a certain level of literacy or intelligence; My mom, who is a perfectly capable person but definitely NOT a computer geek, uses Linux. My late grandparents used it (my uncle is a big Linux nerd too). Most recently, Melissa now uses it too (trial basis :) ), and she is definitely not a computer nerd. (Melissa has switched to a Mac…which has a linux kernel)

What it does require is the ability to accept those premises I mentioned earlier and also patience. Unless this is the user’s first computer ever (in which case there’s no reason to NOT pick Linux — they may as well learn the idiosyncrasies of a free operating system :) ), they have used Windows. More than likely, they have used Windows a lot and are quite familiar with how it works. Much of that knowledge is transferable, but not all of it. Patience is absolutely critical because new users will need to learn the “new way” of doing things.

Having a support network — one or two people that a user can personally call on for help with things when they don’t make sense, or for advice on which packages to install to accomplish ____, is also a huge determining factor. If you’re going it alone, you had better be very persistent.

Also, if there are absolutely critical applications you need for work or personal use, it would be wise to check and make sure they can be run, or to see if they have analogues in Linux. In the former case, check the Wine AppDB for reviews. Anything gold or platinum rated should run flawlessly — Silver is a maybe, and you should check the details. In the latter case, check the Linux AppFinder — it allows you to specify an app you use, and it suggests Linux equivalents. It’s pretty accurate. Some of the apps they suggest are not free (as in “free beer”), and must be purchased. In these cases, I would advise creating a Pendrive Linux installation and testing out some of those critical applications (or their substitutes) to see if it passes muster.

In the case of our Desktop, Melissa really needed Adobe Photoshop and a program called “Orphalese Tarot” for doing Tarot spreads. For Photoshop, we have two options, she can use “Gimp” the open source equivalent of Photoshop. It does almost everything Photoshop does. It unfortunately does not do CMYK format, which is a dealbreaker for Melissa since she needs to make commercial printer-ready art. What we ended up doing was taking an old copy of Photoshop CS2 (which has a “gold” rating on the appDB in wine) and installing that in Wine. Works! Orphalese Tarot would not work in Wine, because it was built on .NET — some .NET applications will work in Wine, but it’s a crapshoot. She settled on just loading that on her Netbook instead.

If it is only one or two applications preventing you from going Linux, consider using VMWare Free or Virtualbox to do a virtualized instance of Windows to run those applications; Most computers are capable of at least running a Windows XP VM (give it 20-50GB of space, 1 CPU core and ~2GB of RAM and it’s happy).

Many things in Ubuntu will “just work” — I can set up a network printer in Ubuntu far easier than in Windows, for example. But in the interest of full disclosure, some things will either not work or will stop working for seemingly no reason. Sometimes after an update runs the program will stop working (I had that happen with “Labyrinth”, the mind-mapping software I use). It can be frustrating. Usually, you are not the only person, and this is where Premise #2 comes in — google it out. In my case, a month after it broke (it was a faulty XML library) a new version was released and it worked once again. These instances (they’re called “regressions”) are pretty rare and are generally fixed pretty quickly, within a week or two.

Some things, such as flash playing, DVD playback, and wireless internet, may be challenging to get working. Flash is notoriously annoying — Adobe does provide officially supported flash plugins, but they aren’t developed quite as fast as the other OS versions. It’s progress, and I have not had a system where I couldn’t get flash working, but the process can be a little nuanced and require some tenacity. Wireless internet will almost always work right out of the box — most wireless cards are supported. Some  older ones may be problematic, though, and for some reason Ubuntu doesn’t support certain kinds of WEP keys — you have to use the more secure WPA. (UPDATE: this may or may not be the case still)

Once things are setup though, they get much easier.

I’ve had this Linux laptop for 11 months 2 years now, and I not only don’t regret going Linux, I stand completely behind it — I love it! UPDATE: I also use only Linux at work, and just got a new Desktop with only Linux on it. I have not used Windows outside of a VM in about 2 years, and I am quite happy with that.

Anyone interested in trying it out, risk-free even, leave me a comment and I’ll see what I can do to help!