我的三启动笔记本电脑
我在 2006 年春天买了一台新笔记本电脑,并决定认真尝试切换到 Linux,或者至少将其作为我的主要操作系统。我之前已经有一些基本经验,曾在学校的 Linux 服务器上工作过几年,但我没有管理自己机器的经验。我对系统的目标很简单。首先也是最重要的,它必须让我完成所有与工作相关的任务:计算编程、图像处理以及制作学术论文和演示文稿。其次,它必须满足我的娱乐需求:播放各种类型的音乐和视频(包括流媒体)、播放和备份 DVD、玩游戏以及通过互联网拨打电话。此外,我还有一个更普遍、更深层次的目标,即提高我对计算机操作的理解,并减少对专有软件的依赖。
事实证明,我对硬件的选择对结果产生了很大的影响。我的笔记本电脑是 Compaq Presario V2630CA,具有以下规格:
1.8GHz AMD Turion 64 处理器
512MB DDR 内存
ATI RADEON XPRESS 200M
80GB 硬盘
DVD R/RW 和 CD-RW 组合驱动器,支持双层
14 英寸显示屏
56k 调制解调器
集成 Realtek 以太网卡
集成 Broadcom BCM4318 无线网卡
经过多次尝试和错误,我目前的笔记本电脑是一个三启动系统,包括 Windows XP、Ubuntu 7.04 (Feisty Fawn) 和 Arch Linux 2007.08(别慌张)。
首先要做的决定是安装哪个 Linux 发行版。最终,我选择了 Ubuntu。我听说了很多关于它的好评,尤其是在其软件包管理器和硬件识别方面。设置双启动系统非常容易。电脑预装了 Windows,所以我需要做的就是缩小 Windows 分区并创建一个 Linux 分区结构。我使用了 GParted,GNOME 分区编辑器,它非常易于使用(图 1),并且可以非破坏性地调整使用任何常见文件系统(包括 NTFS,Windows XP 和 Vista 使用的专有文件系统)格式化的分区大小。您不应该期望有任何数据丢失,但尽管如此,在调整分区大小之前备份分区仍然是一个好主意。您可以刻录可启动的 GParted CD 或从 Ubuntu Live CD/DVD 运行它。
接下来,我在剩余空间中创建了根分区和交换分区——Linux 系统所需的最低限度——并安装了 Ubuntu。后来我删除了电脑自带的恢复分区,并将其替换为一个小的共享分区,该分区使用 FAT32 文件系统格式化,这是一种较旧的 DOS 文件系统,Windows 和 Linux 都可以写入。当我下次重新分区我的硬盘以安装第三个操作系统 (Arch) 时,我将其替换为一个由两个 Linux 发行版共享的 home 分区。
Ubuntu 的安装过程非常轻松,几乎我所有的硬件都立即工作了。唯一的例外是我的无线网卡。我很快发现它没有可靠的开源驱动程序,并且是最不兼容 Linux 的硬件之一。Ubuntu 自带了该网卡的本地内核模块 (bcm43xx),但它只是偶尔工作,并且往往会导致我的系统完全冻结。我尝试了开源的 NDISwrapper 和 Linuxant 的专有 DriverLoader,它们都作为 Windows 驱动程序的包装器运行。只需 20 美元,您就可以获得 DriverLoader 的终身许可证。两者都需要使用 Windows 驱动程序文件 bcmwl5.inf 和 bcmwl5.sys,这些文件可以直接从您的 Windows 分区(如果您有)复制,也可以从网上下载。
要安装 DriverLoader,只需访问 Linuxant 的网站并下载安装程序。NDISwrapper 完全开源,并且预装在 Ubuntu 上。要加载 Windows 驱动程序,只需使用
ndiswrapper -i bcmwl5.inf
我发现 NDISwrapper 在低信号环境中使用未加密或 WEP 加密网络时效果更好,而 DriverLoader 在连接到 WPA2 网络时更可靠。如果您使用 GNOME 桌面,NetworkManager 是连接到加密或未加密无线网络以及建立 VPN 连接的绝佳工具(图 2)。只需使用以下命令安装它:
sudo apt-get install network-manager-gnome
然后,使用以下命令启动它:
nm-applet&
我发现它比 KDE 的 Wireless Assistant 更可靠,并且比使用脚本更省事,因为我经常出差,并且经常需要连接到新的无线网络。

图 2. 左键单击 NetworkManager 小程序以显示并连接到可用的无线网络。
Ubuntu 最棒的事情之一是,一旦您安装了它,您就可以立即启动并运行您日常操作所需的大部分东西,并且当软件更新可用时,您会自动收到通知。您可以使用 Sun Microsystems 的 OpenOffice.org 作为您的办公套件,GNU 图像处理程序 (GIMP) 进行图像处理,Totem 观看视频,Novell 的 Evolution 或 Mozilla Thunderbird 收发电子邮件,Mozilla Firefox 进行网络浏览等等。如果您运行的是 32 位版本的 Ubuntu,那么也很容易安装在线流媒体视频的插件,例如 Flash 和 Windows Media。我建议安装 MPlayer 及其 Firefox 插件,它可以播放大多数视频格式;Flash 需要单独的插件。在我运行 64 位 Ubuntu 的时候,我只能通过创建一个 32 位 chroot 环境来使用 Flash。一旦我创建了共享的 FAT32 分区,在 Linux 和 Windows 之间共享我的电子邮件客户端和网络浏览器 Mozilla Thunderbird 和 Firefox 的数据就相当简单了。
在您的笔记本电脑上使用两个 Linux 发行版有几个原因。我安装 Arch 的主要原因是:1) 我想尝试更多 Linux 发行版,以了解哪个最适合我;2) Arch 是一个特别快速、轻量级、领先的发行版,具有出色的软件包管理器;3) 它与 Ubuntu 非常不同,并且对新手不太友好,为学习和自定义提供了绝佳机会,并且是 Gentoo 或其他基于源代码的发行版的潜在中间步骤。
事实证明,Arch 实验对于所有这些原因都非常有用,而且它比我预期的更容易使用。我曾为艰难的安装做好了心理准备,但它只比 Ubuntu 稍微困难一些。在从 CD 中选择要安装的软件包后(它建议在安装过程中仅安装基本软件包集),安装程序允许您编辑某些关键配置文件。主要的配置文件是 rc.conf,它几乎包含了所有主要的配置。此文件包含您的时间首选项、网络配置以及启动时要加载的内核模块和守护程序的选择。最重要的是通过将以太网卡的内核模块添加到列表中并输入您的网络信息来启动并运行您的互联网连接。
一旦您安装了基本系统,您就可以根据需要安装任何其他应用程序。它不会自动启动到显示管理器,例如 GNOME 显示管理器 (GDM),因此您应该非常熟悉使用控制台。软件包管理器 pacman 非常易于使用。要安装软件包,只需执行以下命令:
# pacman -S package
然后,要更新您的系统:
# pacman -Syu
Pacman 会自动解决软件包依赖关系,并要求确认安装软件包列表。您还可以安装组,例如 gnome、kde 和 xfce4。
除了受支持的软件包外,Arch 还拥有 Arch 用户社区仓库 (AUR),其中包含用户贡献的模板,允许您使用 makepkg 实用程序轻松地从源代码安装其他应用程序。要安装它们,只需从 AUR 网站下载 PKGBUILD 文件,然后在您下载它的目录中运行以下命令:
# makepkg -si
“-si”选项是可选的,它指示 makepkg 安装受支持的 Arch 仓库中存在的任何依赖项,并在编译后安装软件包本身。还有 pacman 前端添加了对 AUR 的支持,允许您轻松安装 AUR 软件包并保持其最新状态。例如,yaourt 允许您通过执行以下命令升级所有软件包:
# yaourt -Syu -aur
我需要一定数量的软件用于科学和图形目的,并且那里有大量的开源和专有软件,其中一些软件我的机构拥有许可证。我使用 Linux 的目标之一是尽可能多地使用免费的开源软件。我已经熟悉了一些安装在我的团队服务器上的优秀科学软件,例如 Paul Wessel 和 Walter Smith 的通用制图工具 (GMT) 和绘图应用程序 Grace,但我不熟悉我的笔记本电脑日常所需的软件。
人们最基本的需求通常是办公软件。对于 Microsoft 的 Office 套件的用户来说,自然的选择是 OpenOffice.org,它本质上执行相同的功能。它能够以 Office 格式打开和保存文档,或直接打印为 PDF。我使用 OpenOffice.org 的 Impress 准备会议演示文稿和讲座,使用 Write 撰写论文,使用 Spreadsheet 处理电子表格。但是,有一些需要注意的地方。首先,某些类型的图像在 Impress 的幻灯片模式下显示时会严重失真;但是,这很容易通过将演示文稿转换为 PDF 来解决。其次,在 Word 中创建的公式无法在 Write 中编辑,反之亦然。
我使用的主要专用专有应用程序是 MathWorks 的 MATLAB(一个出色的编程环境,可以在 Linux 中安装)和 CorelDRAW(图形软件)。最简单的开源替代品是 GNU 的 Octave,它在许多方面都是 MATLAB 的克隆。将 Octave 用作 MATLAB 的直接替代品非常容易,因为它使用与 MATLAB 相同的语言。在某些例外情况下,大多数为 MATLAB 编写的计算脚本都可以在 Octave 中正确运行。一个主要的例外是图形。尽管 MATLAB 具有集成的图形用户界面 (GUI) 和图形处理程序,但 Octave 与几个不同的 GUI 和绘图应用程序接口。Gnuplot 是默认的绘图器,但它对于生成出版物质量的图形并不理想。我将 Koctave GUI 与 Octplot 或 Grace 一起用于绘图(图 3);两者都相当不错,尽管只有 Grace 允许您在创建图形后对其进行更改。MATLAB 的主要优点是它速度更快且更易于使用。另一方面,您可以在任意数量的机器上安装 Octave,因此如果您拥有 MATLAB 许可证,则同时使用两者可能很方便。
不幸的是,我没有找到任何可以替代 CorelDRAW 的 Linux 软件。但是,GNU 图像处理程序 (GIMP) 是一个很棒的图像处理工具。它非常用户友好,并且执行 Adobe Photoshop 或 Corel PHOTO-PAINT 的许多功能。存在许多优秀的开源应用程序用于播放音乐和视频,它们与专有应用程序一样好甚至更好。如果您使用 KDE,Amarok 在组织您的音乐和广播电台方面做得非常出色。如果您更喜欢 GNOME(就像我一样),您可能会选择 Banshee 或 Exaile。我还使用 GNOME 的 Totem 播放 DVD,并使用 MPlayer 播放大多数其他视频格式。
如果您想在旅途中使用笔记本电脑拨打电话,开源是您的不二之选。Ubuntu 内置了 Ekiga 软电话,并且还有其他几种开源和专有软电话可用——大多数都是免费的。此外,最常见的 VoIP(网络电话)协议 SIP 是开源的,允许您免费呼叫任何使用该协议的人。相比之下,Skype 用户只能免费呼叫其他 Skype 用户。
如果您仍然需要(或想要)运行 Windows 应用程序——在我的情况下,是 CorelDRAW 和 Word——您有几个选择。首先,您可以创建一个多启动系统,如上所述。但是,如果您只使用少数 Windows 应用程序,您或许可以使用 CodeWeavers 的 Wine 或 CrossOver Office 运行它们。Wine 是免费的,而 CrossOver Office 是基于 Wine 的增强型商业产品;标准版的许可证售价为 39.95 美元。它们适用于几个流行的 Windows 应用程序,例如 Microsoft Office 1997–2003、iTunes 和 Internet Explorer,但不要指望能够运行您最喜欢的程序。
第三种选择,也是我个人认为更有趣的选择,是使用虚拟化软件在虚拟机上安装您的 Windows 副本,从而允许您在 Linux 中运行它。Fabrice Bellard 的 QEMU 是一款出色的开源解决方案,它提供了完整的硬件虚拟化。按照本文“资源”中列出的教程,安装 QEMU、创建硬盘镜像并安装您的 Windows 副本(或任何其他操作系统)非常容易。一旦您启动并运行了客户操作系统,您就可以通过传入 USB 设备或将磁盘作为环回设备挂载(尽管如果它使用 NTFS 文件系统,您将无法写入)来在客户操作系统和主机操作系统之间传输文件。或者,您可以使用 TUN/TAP 网络在主机和客户操作系统之间建立网络连接,并通过 FTP 传输文件。此方法还使您可以选择允许客户操作系统访问 Internet,尽管隔离您的 Windows 安装显然有优势。以下是我的 QEMU 启动脚本示例:
#!/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
如果您使用 kqemu 加速模块,性能会相当不错,尤其是当您拥有双核处理器时,但我不会建议运行资源密集型程序。如果您在电池供电的情况下运行,请记住运行虚拟机非常耗电。
Linux 笔记本电脑的优势是什么?Linux 的主要优势在于它让您可以更好地控制您的计算机。这在笔记本电脑上更为重要,因为笔记本电脑的资源有限——尤其是在内存和存储方面。Linux 允许的自定义程度在任何其他环境中都是不可能的。例如,您可以运行精简的 Arch Linux 与轻量级的 Fluxbox 窗口管理器,以获得内存和电源效率高的系统。或者,如果您已插入电源,您可以启动到功能齐全的 Ubuntu 系统,其中包含 GNOME 或 KDE 以及强大的合成窗口管理器,例如 Novell 的 Compiz 或 Quinnstorm 开发的 Compiz 分支 Beryl(图 4)。对于那些喜欢一点炫酷效果的人,请在 YouTube 上查看这些窗口管理器的功能。我的 Ubuntu/Arch/Windows 设置为我提供了在任何地方工作(或娱乐!)所需的灵活性。Arch 提供了一个闪电般快速、精简的系统,可降低功耗,而 Ubuntu 提供了一个功能齐全、易于使用的系统,并具有出色的软件包管理器,可减少臃肿。
资源
Linuxant: www.linuxant.com
如何在 Windows 和 Linux 之间共享 Firefox 和 Thunderbird 数据: ubuntuforums.org/showthread.php?t=203524
Arch Linux 用户社区仓库: aur.archlinux.org
GNU 的 Octave: www.gnu.org/software/octave
CodeWeavers: www.codeweavers.com
如何安装 QEMU: https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo
如何配置 QEMU 以共享您的网络连接: ubuntuforums.org/showthread.php?t=179472
P. Surdas Mohit 是斯克里普斯海洋研究所地球物理与行星物理研究所的博士后研究员,也是加拿大温哥华不列颠哥伦比亚大学的访问学者。