How And Why I Switched to Ubuntu
You may not agree with everything that they do, but Canonical is the most interesting company in the tech industry today. They have a vision, a wild vision, of a single user interface backed by open source software running on all computing devices, both personal and professional. Cloud infrastructure, basic servers, workstations, laptops, tablets, phones, and televisions could, if Canonical plays its cards right, be powered by Ubuntu and the Unity interface. I find this fascinating, and bold. Ubuntu is not just another distribution, it is a vision of what computing could be.
I've been an advocate for using open source software in the datacenter for years. As a systems administrator, I see first hand both the business and practical day-to-day management benefits that open source brings. But, for my personal computing needs, I've tended to waffle a bit. I've been a fan of Apple since 2003 when I bought my first iBook, and it's been a wild ride to see them skyrocket to the top. I've developed a couple of Cocoa applications, one that I know of that's used quite a bit, and generally thought of myself as part of the Apple community. I partly attribute my love and understanding of design to my time spent with the Mac. There were times when I did not always use a Mac, but one has always been around.
Despite my fondness for Apple and their attention to detail, I've found myself at a crossroads in my life where, for various professional and personal reasons, continuing to use a Mac was becoming far more inconvenient than necessary. When my monitor adapter died last week, I realized the time had come to make a change, and Ubuntu was the obvious choice.
Setting up Ubuntu on the Dell laptop on my desk at work was dead simple. In less than an hour I had a fully functional sysadmin's workstation ready. Making the move on my 2009 MacBook Pro at home was a bit more complicated. I first thought the process would be as easy as it was at work, so I downloaded an ISO image, burned it to disk, and booted off of it. Unfortunately, all I managed to boot to was a black screen. I've had problems with this CD-ROM drive before, so I thought I might try again with a USB key, but saw the same results. So, I booted back into OS X to do a bit of research online. I found in a forum post that some others had luck with adding “nouveau.noaccel=1” as a boot option in Grub, so I gave that a try. This time I was able to boot to a graphical interface, just with the top third of the screen unusably garbled. Not a problem, I worked around that by dragging the install application window to the lower two-thirds where I could see it. I chose the defaults, continued with the installation, and hit another failure.
The installer refused to install Grub on the Mac's hard drive. To work around that error, I finished the installation, and then mounted the newly installed partition on /root/temp, and ran "grub-install –boot-directory=/root/temp/ /dev/sda", which did the trick. The first time I booted off the hard drive X failed to start. The second time I booted I chose the failsafe option, which seemed fine, and then chose to continue to boot normally, after which, finally, I was greeted with the standard Ubuntu login screen.
After logging in I noticed that the graphics were extremely slow, and that Ubuntu had not recognized the wireless card. Luckily I was prepared and had a second Mac. I connected the two Macs with an ethernet cable and shared the Internet connection from the second Mac to my newly installed Ubuntu Mac. The first thing I did was run "apt-get update; apt-get upgrade; apt-get dist-upgrade", and rebooted again. This time everything came up fine. Next, I ran "System Settings", "Software and Updates", and chose the "Additional Drivers" tab. Ubuntu helpfully found that I needed two drivers, one for the NVIDIA card to help with the slow graphics performance, and one to enable the Broadcom wireless adapter. I selected both and rebooted again, which was probably not entirely necessary, but I really wanted to know that the computer would come back again. It did, with enhanced graphics and wireless working just fine.
The last hurdle to overcome was restoring my files from the Mac Time Machine backup. I knew this would be a problem due to how OS X creates the backups, but I thought that it would be easy enough to find my files. That was a foolhardy and mistaken assumption. If I had not intended to keep any directory hierarchy, I could have plugged in the USB drive and did a recursive search through the hidden directory that holds the data, but keeping the directory structure was important. What worked well was hooking up the Time Machine to the other Mac, choosing it as a source for exporting Apple Filing Protocol. Then, in the Files application in Ubuntu I chose "Connect to Server" and entered the IP address of the Mac like "afp://192.168.2.1". After mounting the Mac disk in Files and navigating to the most recent backup, I opened the Terminal and dragged and dropped the top level backup directory to get the full path. I changed directory into that path, then used rsync to sync my pictures, music, movies, and files back to my Linux home directory. This was more complicated than it needed to be. I could have avoided all this by creating a standard copy of my home directory on the USB disk, but at least this way I did not take up additional disk space.
Now that Ubuntu is installed and the appropriate drivers are loaded, the system is working well. Are there problems? Absolutely, and I've complained about them loudly in the past. But, unlike the corporate world where you take what you are given, Ubuntu is still open source, and it is up to us, the community of Ubuntu users, to do our part to help fix them. The spirit of Ubuntu is still "humanity towards others", and as of today, I'm not turning a blind eye to what I can help make better.