I've been wanting to write this for some time, but aside from wanting to use Ubuntu for a reasonable amount of time, I'm pretty lazy. What finally prompted me to write this was Amarok, a music player I liked so much better than iTunes that it bordered on being difficult to express. At any rate, I've now been using Ubuntu 8.04 "Hardy Heron" as my only work box for over six months, running it on a Compaq nx6325 laptop. I tried running Ubuntu at home as well, thus freeing myself from the annoyance of having to buy or steal most of the interesting pieces of software I like, but I pretty much just use that box for gaming so that wasn't worth it. It was still nice looking for the short time I used Ubuntu though - my brand new NVidia card powering my 30" LCD at some ungodly resolution, the same resolution Windows calls "native" for the monitor.
On to the work box. I'm a network engineer, meaning I configure routers, switches, firewalls, and the occasional Unix/Linux box. I don't write code or script, though I have a little experience in both of those areas. This means that the tools I need to do my job can be considered "power tools", but there really aren't that many of them. In the methodical tradition of engineering, I'd like to evaluate Ubuntu's performance as a Windows substitute by examining how it functions for every "core" task, plus the auxiliary ones that, while not strictly necessary, are pretty common.
|The required tools include:|
|- SSH client||- Email client||- Password program|
|- Office suite||- IM client||- USB to Serial dongle|
|- Visio||- RDP client||- EVDO card|
|- Browser||- PDF reader|
|Other things that make life bearable include:|
|- Music player||- Photo editor||- Wireless|
|- Movie/video player||- Music and movie ripper||- IPSec VPN|
Most of these are pretty standard, meaning that whatever your job is you're likely to want them. The only one on the list that I absolutely must have Windows for is Visio, which is a program used to make technical diagrams, and owned by Microsoft. Unfortunately it's the industry de facto standard, so I installed XP on a virtual machine for that. I'll get to that later, right now I'll just start from the top and work down explaining my experience.
My Unix/Linux background is that of a rather low-level administrator. I have administered some FreeBSD boxes running Snort before (snort.org still has my installation guide up, though I stopped updating it 5 years ago), but I was always a network guy who just did enough Unix to solve the problem at hand. I only have three semesters of computer science, so I could never do elite, groovy things like read stack traces. In other words I know enough to follow directions reasonably intelligently.
A quick note - I approached this experience from a very non-geeky point of view. The reason for my switch was that my company had installed so many things on my laptop that it crashed or locked often, and booting took more than 20 minutes. There was no way around this while still on the domain, and if you run Windows here, you have to be on the domain. Fortunately security vendors aren't yet able to "secure" Linux boxes to the point that you want to quit your job. One of my goals was to have everything be as easy as Windows. I'm more focused on networking now and don't really have time to sift through forum posts for someone's custom Perl script that made something work, it just needs to work.
On Windows I used SecureCRT. It has an integrated SFTP client, in the sense that once you buy the SFTP client you can just click within the GUI and open a session. But that's just gravy, the feature that made me leave Putty is that Putty automatically copies anything you highlight into the copy/paste buffer. Almost every engineer I work with has pasted in something they copied by accident without realizing it. There's no way to change this, though at least you can change the paste function to a 2-step process; by default you can take down your entire company by pasting random crap into your core switch by hitting a mouse button once by accident.
To replace SecureCRT I chose SSH Menu along with the stock OpenSSH client. This keeps track of my connections, allowing me to avoid having to memorize IP addresses of jump off boxes, and it also remembers my window sizes. Unfortunately it doesn't send keepalives, so often I'll go eat and come back to all of my sessions timed out. Also, there's no SCP or SFTP feature that I can find comparable to SecureCRT. This isn't too much of a problem as I don't SCP that many files, but it's still annoying having to type in hostnames or IP addresses.
If you really like Putty, it's available in Ubuntu.
I'm using OpenOffice (OO) 2.4.1, and it works fine. There are some annoyances, just like any program. For one thing, when I write a long Maintenance Operation Procedure (MOP) that has configurations in it, OO Writer likes to add line breaks seemingly at random. Also, no one else can open ODF documents, so I had to switch my default save format to Microsoft Office 97-2003. On a humorous note, I can open and write Office 2007 documents. I find that humorous because I can't do that on my Windows box running Microsoft Office 2003. So my free software running on a free operating system can open the proprietary document format that Microsoft's own software can't. I've switched my Windows box at home to OO, though the Windows version can't open Office 2007 documents yet. A word of caution - if you absolutely must know how your documents will look in Microsoft Word, use Word. There may be slight differences in formatting that will make, for example, a resume look a little off. Or you can just save it as a PDF. :) This hasn't been an issue because I don't really write presentations often, and when I do, I do them myself from scratch so there's no one to complain about my having messed up their formatting.
Ok, Microsoft is probably never going to port this application to Linux. So I used VirtualBox, a free alternative to VMWare, and installed XP. You can use the open source version of VirtualBox or the Sun version, which includes some closed source. Both versions are free. I use the Sun version because it let me do a couple of things that the other version didn't (don't ask, I forgot what).
Easy win here. Firefox is pre-installed, and Opera is available with a couple of clicks. Since I use Adblock, sometimes I have to use Opera when I want to see how a page is supposed to look.
This is a sore spot. I work in an Exchange environment, which means I use Evolution or Outlook Web Access (OWA). Well, OWA sucks, even under Internet Explorer. The problem is Evolution kind of sucks too, mostly because it connects over OWA and just presents you with an Outlook-ish interface. I experience a lot of crashes, slow response, weird nonsense like my preview pane not being there sometimes, and the inability to turn off the little "new email" popup nag. This last point is the killer. I'm very easy to annoy and that popup is distracting to the point that when I want to get things done I have to close Evolution. My more clued-in Linux friends here assure me that soon Evolution will be able to connect directly to the Exchange server, which should eliminate a lot of these annoyances, and I certainly hope that happens soon. I understand the uphill battle that the Evolution guys are facing trying to reverse-engineer compatibility with products from a company who is likely breaking that compatibility on purpose, so I'm still grateful. Just please tell me how to turn off that stupid popup!
Another easy win here. Pidgin comes pre-installed. I'd never used Pidgin before, but I soon ditched Trillian on my Windows box for it. If you haven't, give it a try. It's like Trillian in that it connects to MSN, YIM, AIM, etcetera, but I've found it a lot more stable, lightweight, and less irritating overall. And download the "off the record" (OTR) plugin for encryption.
Nothing big here, I just use Gnome-RDP. It works fine.
Ubuntu comes with a stock PDF reader pre-installed, and it works. However it's pretty plain, and at one point I changed it to view two pages at once and since haven't figured out how to put it back. Sigh. So I downloaded the Adobe Linux client and it works great.
If you're alive and online, you probably have at least a dozen logins. I think I have about double that, and some have mutually exclusive rules for passwords (no using special characters like a dollar sign on one site, while another site requires at least one special character). So I use PasswordSafe. Unfortunately the Linux version sucks. Call me a pansy but for this program I want a GUI. So I just put the Windows version on my virtualized Windows box.
I know I could use a Linux password program for this, but anyone who has tried to maintain two repositories for the same information knows the madness awaiting that decision.
USB to Serial Dongle
Laptops don't come with serial ports anymore since almost no one uses them. Well, network engineers do when they connect to the console on network gear, and that's how you set up new gear or troubleshoot dead/unreachable gear. My Windows box wouldn't use either dongle I had reliably, and after a while stopped using them entirely. If I kept trying to get them working the box would either lock, bluescreen or just reboot, and that was with the vendor drivers. Under Ubuntu the dongle was immediately recognized, and in less than 3 minutes of googling I had a working configuration under minicom, and the thing works perfectly. Win for Ubuntu here.
I'm part of an on-call rotation, and having an EVDO card lets my boss hold me accountable even if I'm stuck in traffic while on call. The Sprint U727 USB card was immediately recognized and I was able to follow the setup guide on Sprint's site pretty easily. It didn't even take any magical scripting foo, just install kppp and set it up. Exactly what I was hoping for.
Ubuntu ships with Rythymbox installed. I found this to be a reasonable music player, but lacking the ability to create the "smart" playlists that iTunes could create. Still, it's able to dump files onto an iPod and the UI is decent (though the lack of a stop or pause button on a music player is pretty lame). It was actually better than iTunes overall in my view, as it played my FLAC files (which iTunes still won't do), and it wasn't gigantic and bloated, grinding my system to a crawl. I just switched over to Amarok though, and I love it - it has smart playlists, and even a pause button! I kept Rythymbox around for my iPod. Happy camping dead ahead.
I don't watch DVDs or many videos on my work laptop; call it circumstance, call it fear of HR. However it was annoying to have to download and install the library to decode DVDs separately. It wasn't hard at all, and on the flip side it gave me the ability to watch DVDs with a free player that isn't bogged down by crappy adware. So overall it's a little worse than Windows in one way and a little better in another, I'd say leaning overall better. For non-DVD videos like .AVI, mpeg, etcetera, I just use VLC, which is the same thing I use on Windows.
GIMP baby. I mostly just resize photos and do things like add snarky effects to pictures of public figures. I've been using the Gimp at home on Windows for years because I was sick of stealing Photoshop. Give it a try, it does far more than most people need, and you don't have to steal it.
Music and movie ripper
For CD ripping I use Sound Juicer. I've found it to be simple and flexible. As with most any Linux program, it's also free of nagware, and fiscally free as well.
For ripping movies I use AcidRip. This isn't "how to steal from Blockbuster" advice; if you travel for work you're likely going to want to have a couple of movies on your laptop. AcidRip is great at creating an AVI from a DVD without making you learn about codecs, a topic I've never had any interest in.
My wireless kind of "just worked". This is how it's supposed to happen. Kudos.
I have two VPN clients installed - openvpn and "vpnc". The latter is compatible with Cisco VPN concentrators, and I don't think I'll ever even use it, I just keep it around "in case". The setup for VPNs is pretty easy and works fine, and is even controlled via the same menu as your normal wired and wireless network settings, so it's integrated more seemlessly than my Windows box's proprietary client. A small matter I know, but like I said, I'm easily annoyed.
Works fine. I found the amount of tinkering to get it working on Linux to be about the same as getting it to run on Windows.
One thing that I really liked is that almost all of this software was installed by default. When I build a new Windows box, after the hours of patching, I generally have to spend an afternoon chasing down the latest versions of the software I want or need. Then I need to find where I put the keys for the software. I was able to skip these steps almost entirely, and move right to the "making the box look and feel how I want it" step.
My experience in switching from Windows XP to Ubuntu 8.04 has not been all positive, but overall I'm incredibly glad I did it. I used to hate my entire computing experience, now I just hate my email client. My coworkers say things like, "wow, it took Notepad over 10 seconds to load," and I chuckle. It's tempting to interpret this to mean Windows would be a better choice in an environment not bogged down by constant security scanning and filtering, and to some degree that's accurate. However I've found that most of the pain in switching comes from having to tinker a little to get the Linux equivalent of your Windows program working. Also, I'd hazard a guess that many other network engineers are under the yoke of corporate policies that make their computers borderline unusable.
The downside you won't easily escape is that many sites are built expressly for Windows. Things like Amazon.com's mp3 buying software, or an unnamed, popular social networking site's blogging features will "work" in Linux, meaning that they're supposed to work, but actually either suck, or don't work at all. For that you have a choice - deal with it or flip over to your virtualized Windows box.
What I really wanted to express in writing this article is that while you may have a mixed experience making this switch, it's entirely possible to do so. Some professionals are bound to Microsoft Office, others are strongly tied to Windows for other tools. Network engineers are lucky enough to have 95% of our tools available in both. And not only that, you don't have to be a Linux expert, or even a Linux power user, to jump ship anymore, so go for it.