How to experiment with Linux and other *nix-based operating systems and desktop environments

Be prepared to unlearn what you have learnt

Experimenting with new operating system or desktop environment is not easy. Every software environment has its own series of conventions. Once you’ve used any system for a given, you’ll have developed user expectations, good habits, and muscle memory that make you more effective in that environment.

The shortcuts we learn to copy text are a good example. On a Mac, you’d typically use Apple key C to copy selected text. But in Windows, you typically copy selected text by pressing Control C. And on Linux, the traditional way is to select the text and left click on it, then click the middle mouse button at the insertion point to paste it. (Don’t worry, keyboard lovers, there are other ways to copy and paste on Linux that don’t involve using a mouse.) As a web developer, I switch between operating systems to test my work in different web browsers all the time and the different shortcuts for copying are a source of perpetual confusion.

Don’t overwrite your current system just yet

Learning a new software environment takes time. And once you’ve learnt it, you may find you were actually better off with your old system. So don’t foolhardedly wipe your old system and install a *nix-based operating system in its place. You have better options for easing yourself into the world of *nix:

  1. Many applications will run on both *nix-based systems and your current system. So, if you can, familiarise yourself with those applications in your normal environment first. Examples of important applications that run on Windows, Mac, and Linux include:

  2. Try out a few different *nix flavours with their live CD or DVD. A live CD/DVD boots *nix and runs it entirely from the CD or DVD, without requiring any installation to your hard drive or modification of your existing system. *nix flavours are quite varied and some will work better on your hardware than others. Ideally, you want to find one where most components work out of the box. This has been an increasingly important goal for mainstream Linux distributions such as Ubuntu. A good place to find out about the different *nix flavours is Distrowatch, with popularity indicators, details about recent releases, links to reviews, and information about what versions of various software packages are bundled with given releases. If you want a personal recommendation, I’d begin with trying out the Ubuntu Desktop Edition live CD. If you don’t have a fast connection or don’t feel confident downloading and burning a CD of your own, you might prefer to request an Ubuntu CD in the mail.
  3. If your computer is reasonably powerful, install some virtualisation software such as the free VMWare Server and then install your *nix flavour into a virtual machine. That way you get side-by-side access to both systems and without the risk of a dual-boot installation. The Ubuntu wiki includes a guide to installing Ubuntu in a virtual machine.

Ask intelligent questions, get intelligent answers

Mainstream *nix flavours tend to have lots of documentation and repositories of answered questions and unofficial guides. Before asking for help on a mailing list, forum, or IRC, you should:

  1. Read the relevant documentation.
  2. Check your question isn’t in the FAQ.
  3. Search the project’s wiki for the answer.
  4. Search the forums for the answer.
  5. Search the mailing list archives for the answer.
  6. Google for the answer.

Once you’ve exhausted these sources, try and find the most specific place to ask your question. For example, if you have an accessibility problem, see if the project has an accessibility specific mailing list. For example, the Ubuntu distribution has an Accessibility mailing list, an Accessibility Discussions forum, and an #ubuntu-accessibility IRC channel on the Freenode network. And some of the assistive technology software packaged by Ubuntu have dedicated places to raise issues, such as the GNOME desktop environment accessibility mailing list and the Orca screen reader and magnifier mailing list.

Once you’ve chosen a place to ask your question, the next thing is to craft an effective question. It’s a good idea to explain that you’re a new user and have looked through the documentation and archives for an answer in vain. Make sure you specify what version of the software in question you’re using. If it’s a hardware-related problem, make sure you give an overview of the hardware too. Now explain:

  1. What you’re trying to achieve in human terms (for example, “print a Microsoft Word document”).
  2. How you are trying to do it (for example, opening the document in OpenOffice.org Writer and pressing Control P).
  3. What you expect to happen when you try that.
  4. What actually does happen.