My Triple-Boot Laptop
If you still need (or want) to run Windows applications—in my case, CorelDRAW and Word—you have a few options. First, you can create a multiple-boot system, as described above. However, if you use only a few Windows applications, you may be able to run them using CodeWeavers' Wine or CrossOver Office. Wine is free, whereas CrossOver Office is a beefed-up commercial product based on Wine; a license for the Standard version will run you $39.95. They work well for several popular Windows applications, such as Microsoft Office 1997–2003, iTunes and Internet Explorer, but don't count on being able to run your favorite programs.
A third and, in my opinion, more fun option is to install your copy of Windows on a virtual machine using virtualization software, allowing you to run it within Linux. An excellent open-source solution, Fabrice Bellard's QEMU, provides full hardware virtualization. Following the tutorial listed in the Resources for this article, it's quite easy to install QEMU, create a hard disk image and install your copy of Windows (or any other operating system). Once you have the guest operating system running, you can transfer files to and from it by passing in a USB device or mounting the disk as a loopback device (although you will not be able to write to it if it uses the NTFS filesystem). Alternatively, you can set up a network connection between the host and guest OS using TUN/TAP networking and transfer files via FTP. This method also gives you the option of allowing the guest OS access to the Internet, although there are obvious advantages to isolating your Windows install. Here's my QEMU startup script as an example:
#!/bin/sh ARGS="-boot c -kernel-kqemu -net nic,vlan=0 -net tap,vlan=0,script=/etc/qemu-ifup -m 512 -localtime -cdrom /dev/hdc -usb -usbdevice host:xxxx:xxxx -std-vga -full-screen xp.img" exec qemu $ARGS
The performance is quite good if you use the kqemu acceleration module, particularly if you have a dual-core processor, but I wouldn't recommend running resource-intensive programs. If you're running on batteries, keep in mind that running a virtual machine consumes a lot of power.
What are the advantages of a Linux laptop? The main advantage of Linux in general is the degree of control it gives you over your computer. This is even more important on a laptop, where you have limited resources—particularly with respect to memory and storage. Linux permits a degree of customization that is impossible in any other environment. For example, you can run a stripped-down Arch Linux with the lightweight Fluxbox window manager for a memory- and power-efficient system. Or, if you're plugged in, you can boot into a full-featured Ubuntu system with GNOME or KDE and a powerful composite window manager, such as Novell's Compiz or Beryl, a Compiz fork developed by Quinnstorm (Figure 4). For those who enjoy a little razzle-dazzle, take a look at what these window managers can do on YouTube. My Ubuntu/Arch/Windows setup gives me the flexibility I need to work (or play!) wherever I am. Arch provides a lightning-fast, stripped-down system with reduced power usage, and Ubuntu provides a full-featured, easy-to-use system with an excellent package manager to reduce bloat.
I would like to thank Anthony Egan, my system administrator at Washington University, without whom I probably would never have dared to install Linux on my laptop. He helped me with many of the issues mentioned here and was always available to talk Linux.
How to Share Firefox and Thunderbird Data between Windows and Linux: ubuntuforums.org/showthread.php?t=203524
Arch Linux User-Community Repository: aur.archlinux.org
GNU's Octave: www.gnu.org/software/octave
How to Install QEMU: https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo
How to Configure QEMU to Share Your Network Connection: ubuntuforums.org/showthread.php?t=179472
P. Surdas Mohit is a postdoctoral fellow at the Institute of Geophysics and Planetary Physics at Scripps Institute of Oceanography and a Visiting Scholar at the University of British Columbia in Vancouver, Canada.
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.
- Happy GPL Birthday VLC!
- Unikernels, Docker, and Why You Should Care
- diff -u: What's New in Kernel Development
- Building a Multisourced Infrastructure Using OpenVPN
- What's New in 3D Printing, Part III: the Software
- Giving Silos Their Due
- Controversy at the Linux Foundation
- Server Hardening
- Don't Burn Your Android Yet
- Non-Linux FOSS: Snk