Conkeror 浏览器征服小屏幕

作者:David A. Harding

Conkeror 是一款具有 Emacs 风格的外观、感觉和配置的 Web 浏览器。它使用 Firefox 的 HTML 渲染引擎,并且可以与大多数 Firefox 扩展程序一起使用,但它提供了键盘驱动的界面,并出色地利用了屏幕空间。对于配备不精确触摸板和小屏幕的上网本来说,它是一款合适的 Web 浏览器。Conkeror 使用与 Firefox 相同的自由软件许可证。

The Conkeror Web Browser Conquers Small Screens

图 1. Conkeror Web 浏览器

安装 Conkeror

Debian Lenny、Debian Sid 和 Ubuntu Jaunty 的用户应安装 conkeror 和 conkeror-spawn-process-helper 软件包。其他发行版的用户应安装 XULRunner 软件包(xulruner-1.9 或 xulrunner)。如果您安装了 Firefox 软件包,则该软件包会为您安装 XULRunner。安装 XULRunner 后,下载 Conkeror 快照并将其解压缩到您常用的软件目录中——您无需编译任何内容。请参阅“资源”部分,获取 Conkeror 快照下载链接。

要将 Conkeror 启动器放入您的常用可执行目录之一,以便您可以从命令提示符或应用程序启动器启动 Conkeror,请从 conkeror/contrib/run-conkeror 文件创建一个符号链接到您的常用可执行目录之一。例如

$ ln -s /usr/local/share/lib/conkeror/contrib/run-conkeror \
        /usr/local/bin/conkeror.

如果您的发行版不包含 Firefox,请从 Mozilla 下载 XULRunner 并将其解压缩到您常用的软件目录中。然后,下载 Conkeror 快照并将其也解压缩到您常用的软件目录中。请参阅“资源”部分,获取下载链接。

您必须执行一个额外的步骤才能使 Conkeror 启动器工作。首先,将 xulrunner-stub 文件从 XULRunner 目录复制到 Conkeror 目录。然后,从该文件创建一个符号链接到您的常用可执行目录之一。例如

$ cp /usr/local/share/lib/xulrunner-1.9/xulrunner-stub \
     /usr/local/share/lib/conkeror/xulrunner-stub
$ ln -s /usr/local/share/lib/conkeror/xulrunner-stub \
        /usr/local/bin/conkeror.
使用 Conkeror 浏览 Web

您无需配置 Conkeror 即可开始使用;只需启动您安装的 conkeror 可执行文件即可。Conkeror 的起始页列出了哪些键执行哪些操作(快捷键绑定)。列出的第一个快捷键绑定 g 会转到您指定的 URL。例如,按 g 并键入以下内容,加载 Linux Journal 主页linuxjournal.com。像在 Firefox 中一样,单击链接来关注链接,然后按 B 返回到上一页或按 F 前进到下一页。

按 C-h i 返回起始页上的基本快捷键绑定列表。在 Conkeror 和 Emacs 中,C- 代表“按住 Ctrl 键并按下一个键”。例如,C-h i 代表“按住 Ctrl 键,按 h 键,释放 Ctrl 和 h 键,然后按 i 键”。Conkeror 也使用其他 Emacs 快捷键绑定缩写:M- 代表按住 Meta 键(PC 键盘上的 Alt 键和 Macintosh 键盘上的 Option 键);S- 代表按住 Shift 键。有关 Conkeror 快捷键绑定的完整列表,请按 C-h b。

虽然您可以通过单击链接来关注链接,但您应该学习使用键盘来关注链接,以充分利用 Conkeror。要使用键盘关注链接,请按 f 键。Conkeror 会在每个链接旁边放置一个小数字(图 2),包括链接图像。输入一个数字以关注其链接,或键入您想要的链接名称中的字母。当您键入字母时,Conkeror 会删除与这些字母不匹配的链接上的数字,并重新编号剩余的链接。即使在速度较慢的计算机上,这种情况也会立即发生。如果只有一个链接与您输入的字母匹配,Conkeror 会自动关注它。

The Conkeror Web Browser Conquers Small Screens

图 2. 在 Conkeror 中关注链接

例如,假设有三个链接名称:foo、bar 和 baz。键入 f 和 3 会关注第三个链接 baz。键入 f 和 baz 也会关注 baz 链接。键入 f 和 b 会删除 foo 旁边的数字,以便您可以按 1 选择 bar 或按 2 选择 baz。

与 Firefox 中一样,您可以在 Conkeror 中启动搜索。按 g 键,键入“google”,键入您的搜索词,然后按 Enter 键转到 Google 搜索结果。将“google”替换为“lucky”可以直接转到第一个 Google 结果,或者将其替换为以下任何单词以使用其他搜索引擎:“wikipedia”、“sourceforge”或“dictionary”。当您搜索 Google 时,Conkeror 会要求 Google 猜测您要搜索的内容,并在列表中显示最佳匹配结果。按 Tab 键选择首位结果,使用键盘箭头键选择备选结果,或者只需完成键入您的搜索词并按 Enter 键即可。这也适用于 Wikipedia 搜索。

使用 Conkeror 的缓冲区

Firefox 使用选项卡在同一浏览器中保留单独的网页;Conkeror 使用缓冲区来执行相同的操作。要在新缓冲区中打开链接,请按 C-u f,然后使用上面的链接关注说明选择链接。例如,假设您回到包含 foo、bar 和 baz 链接的页面。要在新窗口中打开 baz,请按 C-u f 并键入baz。在任何打开网页的命令之前按 C-u,以在新缓冲区中加载该页面。例如,C-u g 会转到 URL 或在新缓冲区中加载搜索结果页面,而 C-u C-h i 会在新缓冲区中加载起始页。此外,尝试打开新窗口的链接将在新缓冲区中打开。

按 M-p(在 PC 上为 Alt-p,在 Mac 上为 Option-p)返回到上一个缓冲区;按 M-n 前进到下一个缓冲区。按 C-x b 显示打开的缓冲区列表(图 3)。列表中的每个缓冲区都有一个名称——其 URL 加上其标题。使用键盘箭头键从列表中选择缓冲区名称,或通过键入缓冲区名称的一部分来缩小列表范围。随时按 Enter 键显示选定的缓冲区。

The Conkeror Web Browser Conquers Small Screens

图 3. 缓冲区列表

通过按 C-x k 显示缓冲区列表来关闭缓冲区——在 Conkeror 的术语中,杀死缓冲区。以与上述相同的方式选择缓冲区,然后按 Enter 键杀死它。Conkeror 默认选择当前缓冲区,因此您可以通过按 C-x k <Enter> 快速杀死它。当您关闭最后一个缓冲区时,Conkeror 会退出。按 C-x C-c 自动关闭 Conkeror 及其所有缓冲区。

其他一些快捷键绑定

任何 Web 浏览器的高级用户通常会编辑 URL 以转到他们访问的网站的不同部分。按 C-x C-v 编辑 Conkeror 中的当前 URL。将此与 C-u 结合使用以在新缓冲区中打开修改后的 URL:C-u C-x C-v。

在 Conkeror 中为 URL 添加书签可让您在更改 URL 时使用 Tab 键补全返回到该 URL。按 b 键为当前 URL 添加书签,为书签选择一个名称(Conkeror 默认填充页面标题),然后按 Enter 键。按 g 键转到新 URL,键入书签标题或书签 URL 中的几个字母,然后按 Tab 键。Conkeror 会显示与您键入的字母匹配的书签列表;使用键盘箭头键选择书签,然后按 Enter 键转到该书签。

有时,当您尝试为页面添加书签时,Conkeror 会要求您选择一个框架。它会在页面上的每个框架旁边放置一个数字,并允许您通过输入其数字来选择一个框架。如果您想为包含所有框架的 URL 添加书签,请输入数字 0。

通过按 M-x 键、键入命令名称并按 Enter 键来访问 Conkeror 的所有命令——即使是那些未绑定到快捷键绑定的命令。按 Tab 键补全任何命令名称;例如,按 M-x 键,键入print,然后按 Tab 键使 Conkeror 选择 print-buffer 命令。如果您按 M-x 和 Tab 键而不键入任何内容,Conkeror 会列出其所有命令。我建议您查看此列表,以了解 Conkeror 可以执行的所有操作。

Conkeror 的模式

Conkeror 包括称为模式的特殊脚本,这些脚本会更改其在特定站点上的行为——例如,xkcd.com 漫画网站的简单 XKCD 模式。当您在 Firefox 中访问 xkcd.com 时,当您将鼠标移动到图像上时,它会显示漫画的标题。当您在 Conkeror 中访问 xkcd.com 时,它会激活 XKCD 模式(图 4),并在图像下方的特殊字体中显示标题——您无需将鼠标移动到图像上。

The Conkeror Web Browser Conquers Small Screens

图 4. XKCD 模式的运行效果

Gmail 模式重新定义了 Conkeror 的许多默认快捷键绑定,以便您可以使用默认的 Gmail 快捷键绑定。其他模式包括 Google 地图模式、Reddit 模式和 YouTube 模式。

当您访问具有模式的站点(例如 Google 地图)时,Conkeror 会加载该站点的模式。当您离开该站点时,Conkeror 会自动卸载该模式。您可以通过 M-x 菜单加载模式的命令,尝试在其他站点上使用模式。例如:M-xxkcd-mode。但是,大多数模式在其他站点上没有意义。

高级配置,高级功能

Firefox 有一个漂亮的“首选项”配置屏幕。Conkeror 没有。但是,您可以在 about:config 页面上更改 Conkeror 中的任何浏览器设置。按 g 键,键入about:config,然后按 Enter 键转到该页面并双击您要更改的设置。Conkeror 以粗体显示更改的设置。使用页面顶部出现的搜索栏快速查找特定设置。例如,输入proxy查找所有代理设置。

虽然您可以在 about:config 中轻松查找和更改设置,但有些用户更喜欢动态的 Emacs 风格的配置文件。此文件可以更改 about:config 设置、定义快捷键绑定、添加新命令、加载外部模块以及使用 JavaScript 定义事件。您可以将任何文件转换为 Conkeror 配置文件,但该文件必须在您尝试使用它之前存在。例如,将以下行添加到 .conkeror.rc 文件中,以防止 Conkeror 在显示 about:config 页面之前显示警告消息

user_pref("general.warnOnAboutConfig", false);

创建配置文件后,您必须告诉 Conkeror 在哪里可以找到它。按 C-h i 转到 Conkeror 起始页,滚动到“Conkeror RC 文件”部分,并在文本框中输入配置文件的完整路径名。例如,我输入了以下文本:/home/harding/.conkeror.rc。按“设置 RC 文件”按钮。您只需要执行此操作一次。

在“设置 RC 文件”按钮的正下方,Conkeror 列出了几个示例指令,供您放入配置文件中。例如,一行告诉 Conkeror 如何在您按 g 键时使用自定义搜索引擎。您还可以向 Conkeror 添加新命令和新快捷键绑定。有关更多示例,请关注本文“资源”部分中的 Conkeror Wiki 链接。

下一节将告诉您如何在 Conkeror 中使用 Firefox 扩展程序,但某些 Firefox 扩展程序不想与名称不是 Firefox 的浏览器一起使用。如果您告诉扩展程序您实际上使用的是 Firefox,则大多数 Firefox 扩展程序都可以在 Conkeror 中工作。我建议您将以下行放入您的配置文件中,以使 Conkeror 忽略兼容性问题

user_pref("extensions.checkCompatibility", false);
在 Conkeror 中使用 Firefox 扩展程序

大多数 Firefox 扩展程序都可以在 Conkeror 中工作,但如果您习惯了 Firefox 扩展程序,则在 Conkeror 中安装扩展程序可能会感觉像退了一步。首先,在 Mozilla 网站(或其他网站)上找到扩展程序,并将其下载到您的计算机。(Firefox 扩展程序的文件名以 .xpi 结尾。)然后,按 M-x 键,键入extensions,然后按 Enter 键启动扩展程序管理器。选择“扩展程序”选项卡,单击“安装”按钮,使用文件导航器选择您下载的文件,然后单击“打开”。与 Firefox 中一样,您必须重新启动 Conkeror 才能加载扩展程序。

使用外部编辑器

Conkeror 允许您在外部文本编辑器(例如 Emacs(图 5))中编辑 HTML 文本框。Conkeror 将文本框的内容复制到临时文件,在文件上打开您的文本编辑器,并在您关闭编辑器时将更改后的文件读回文本框。要使用此功能,您必须编译 Conkeror 的小型辅助程序 conkeror-spawn-helper。(如果您使用上面的说明在 Debian 或 Ubuntu 中安装了两个 Conkeror 软件包,则可以跳过此段。)转到您安装的 Conkeror 源代码目录并运行以下命令make。您无需运行make install,因为 make 会在 Conkeror 使用的目录中编译该程序。

The Conkeror Web Browser Conquers Small Screens

图 5. 在 Conkeror 中编辑 Wikipedia 文章

接下来,您需要告诉 Conkeror 要使用哪个文本编辑器。Conkeror 在 $EDITOR 环境变量中查找编辑器命令,但如果未设置 $EDITOR,Conkeror 会启动 Emacs。大多数发行版都允许您通过将以下行添加到您的 ~/.xsession 和 ~/.xinitrc 文件中来设置 $EDITOR 变量

export EDITOR=my_editor

替换my_editor上面的内容为您要使用的编辑器的名称——例如,对于图形 VIM 编辑器,gvim;GNOME 编辑器,gedit;或 KDE 编辑器,kate。如果您想使用控制台编辑器,请在环境变量的值前加上终端模拟器的名称——例如

export EDITOR="xterm -e vim"

但是,如果您在其他程序中使用外部编辑器,您可能不想在图形编辑器中完成所有操作。要使 Conkeror 单独启动特定编辑器,请将以下行添加到您的 Conkeror RC 文件中,并且不要设置 $EDITOR 变量

editor_shell_command = "my_editor";

在所有这些配置之后,使用外部编辑器应该看起来很简单。使用 Tab 键或鼠标将输入光标放置在文本框中,然后按 C-i。您可以编辑小框(例如,您的姓名框)或大框(例如,Wikipedia 文章中的编辑框)。Conkeror 在您编辑时将文本框灰显。当您通过关闭文本编辑器完成编辑时,Conkeror 会恢复原始背景颜色。

文档

Conkeror 起始页链接到其内置教程,您可以通过按 C-h t 激活该教程。该教程教您如何使用 Conkeror 浏览 Web。

与 Emacs 的帮助类似,Conkeror 的帮助可以描述其自身的命令。C-h f 快捷键绑定描述命令,而 C-h k 快捷键绑定描述快捷键绑定。例如,要了解 print-buffer 命令的作用,请键入 C-h f 和print-buffer。Conkeror 会告诉您,“print-buffer 是 commands.js 中的交互式命令 [用于] 打印当前加载的页面。” 同样,按 C-h k 和 f,Conkeror 会告诉您“f 绑定到 bindings/default/content-buffer/element.js 中的 follow 命令。”

对于复杂的问题,Conkeror 可以帮助您搜索其 wiki。按 g 键,然后键入conkerorwiki,并输入您的搜索词。Conkeror 会搜索其 wiki,其中包括故障排除信息和许多充分利用 Conkeror 的方法。当然,您始终可以使用“资源”中的链接直接访问 Conkeror wiki。

结论

第一次尝试 Conkeror 之前,我犹豫了一下。作为一名长期的 vi 用户,我对任何基于 Emacs 的东西都不感兴趣。但是,我确实需要一款 Web 浏览器,它可以充分利用我的上网本 5 英寸高的屏幕和糟糕的触摸板。Conkeror 符合要求,我尝试了一下。它给我留下了深刻的印象。虽然 Conkeror 在其复杂性方面可能看起来很复杂,但我大部分时间都花在访问页面、关注链接和编辑文本框上——Conkeror 使这三件事变得轻松快捷。在我慢慢学会使用它的其他功能后,我发现我没有理由不应该在我的桌面上也享受高级键盘驱动的 Web 浏览器的优势。

David A. Harding 住在新泽西州,是一名自由技术作家。他拥有 Linux Professional Institute 系统管理认证,并且经常组织当地的 GNU/Linux 活动。

加载 Disqus 评论