如何使用 Nyxt 创建自定义 Web 浏览器

Nyxt 是一款轻量级的现代 Web 浏览器,专注于功能、可用性和可扩展性。它借用了 Emacs 和 Vim 的概念来提供一种方法仅使用键盘即可浏览网络.

本文旨在指导您完成在 Ubuntu 上安装 Nyxt 浏览器的过程。此外,本文还旨在向您展示如何配置 Nyxt 以适应您自己的个人工作流程。

Nyxt 的主要卖点之一是易于扩展和修改。与其他模式浏览器不同,例如酷特浏览器,可以在 Nyxt 中配置各个方面和设置。

这是因为浏览器作为一个实时 Lisp 环境运行,您可以动态地主动调整。例如,可以将浏览器配置为不从网站下载任何图像。

这使得 Nyxt 成为一个非常通用的工具,适合那些想要创建完全自定义的 Web 浏览环境的高级用户。

安装 Nyxt Web 浏览器

  1. 安装 Nyxt 的第一步是获取最新二进制文件的副本来自开发商的网站。您也可以从终端执行此操作wget:
wget https://github.com/atlas-engineer/nyxt/releases/download/2.2.4/nyxt-2.2.4.tar.xz
  1. 创建一个新目录并提取其中的二进制存档。您可以通过运行以下命令来执行这两个操作:
mkdir nyxt && mv nyxt-2.2.4.tar.xz ./nyxt
cd nyxt && tar xvf ./nyxt-2.2.4.tar.xz
  1. 创建从“nyxt”目录到“/usr/local/bin”的符号链接。这会将 Nyxt 添加到系统的 PATH 变量中,并使您能够从计算机中的任何位置打开浏览器:
sudo ln -s /home/$USER/nyxt/usr/local/bin/nyxt /usr/local/bin/nyxt
  1. 您现在可以通过键入来运行 Nyxtnyxt,然后按进入.

使用 Nyxt Web 浏览器

Nyxt 启动并运行后,您现在可以用它浏览互联网。要打开网页,您需要按控制键+L。这将弹出一个小提示,您可以在其中输入要访问的 URL。

例如,按控制键+L,然后输入“https://maketecheasier.com”将打开MakeTechEasier网站。

从这里开始,浏览器应该正确显示该网站,您将能够像常规网页一样与其进行交互。

与常规网络浏览器类似,您也可以使用相同的界面进行基本搜索查询。例如,按控制键+L,然后输入“maketecheasier linux Tutorials”将打开一个DuckDuckGo 结果页面.

导航 Nyxt 缓冲区

默认情况下,Nyxt 不支持任何形式的浏览器选项卡。相反,它严重依赖独立的框架和缓冲区来维护它加载的每个网页。这允许您在每个网站的基础上自定义 Nyxt 的行为。

您可以通过按访问当前会话中所有可用缓冲区的列表全部+向下.

除了从列表中加载缓冲区之外,您还可以通过按在它们之间快速切换控制键+选项卡。该命令将自动将浏览器循环到当前会话中的每个缓冲区。

另一方面,您可以按控制键+[返回到前一个缓冲区并控制键+]转到下一个。

最后,Nyxt 浏览器还允许您直接在单独的缓冲区中打开网页。与在后台选项卡中打开类似,您可以通过按全部+L.

探索 Nyxt 历史

Nyxt 的另一个独特功能是它能够显示树形历史记录。这对于想要追溯他们在当前会话中访问过的站点的用户非常有用。要激活当前缓冲区的 Nyxt 树形历史记录,请按控制键+空间,然后输入“缓冲区历史树”。

Nyxt 还支持传统的列表式系统。按控制键+转移, 然后H打开一个小对话框菜单,您可以在其中搜索要加载的历史记录项目。

最后,您还可以像浏览缓冲区列表一样浏览会话历史记录。例如,您可以按全部+[打开您访问过的最后一页并全部+]返回您当前的网页。

更改 Nyxt 中的浏览器模式

Nyxt 默认提供大约 20 种模式。它们控制浏览器显示网页内容的方式或更改您访问网站的方式。例如,“noscript-mode”禁用所有 JavaScript对于当前缓冲区。

要更改模式,您需要按控制键+空间。这将弹出一个小对话框,您可以在其中提供要激活的模式的名称。就我而言,我输入“emacs-mode”来启用类似 Emacs浏览网页时的按键绑定。

最后,还可以在单​​个会话中堆叠多种模式。这对于想要在使用 Nyxt 时创建自己独特会话的用户很有帮助。为此,您需要按控制键+空间,然后输入“切换模式”。

配置和扩展 Nyxt

Nyxt 的最大特点之一是可以配置和扩展程序的几乎每个方面。然而,这也意味着错误的设置可能会破坏程序。考虑到这一点,您可以通过运行以下命令来创建自己的 Nyxt 配置文件:

mkdir /home/$USER/.config/nyxt/ && touch /home/$USER/.config/nyxt/init.lisp

配置文件启动并运行后,您现在可以编写自己的自定义设置。例如,以下代码行将重新绑定地址缓冲区控制键+L控制键+全部, 然后K:

(defvar *custom-keymap* (make-keymap "custom-map")
    "Keymap for `custom-mode'.")

(define-key *custom-keymap* "C-M-k" 'set-url)

(define-mode custom-mode ()
    "Mode for the custom key bindings in `*custom-keymap*'."
       ((keymap-scheme (keymap:make-scheme
                     scheme:cua *custom-keymap*
                     scheme:emacs *custom-keymap*
                     scheme:vi-normal *custom-keymap*))))

  • defvar函数告诉 Nyxt 为浏览器创建自定义键盘映射并将其命名为“custom-map”。
  • 另一方面,define-key函数在该键盘映射内创建一个新的键盘组合并将其分配给'set-url功能。在这种情况下,该值C-M-k对应于控制键+全部, 然后K.
  • 最后,define-mode函数告诉 Nyxt 在特殊的“自定义模式”中包含自定义键盘映射的所有设置。这使您可以隔离对默认配置所做的任何更改。

完成后,您现在可以通过保存配置文件并重新加载 Nyxt 浏览器来应用新设置。

常见问题解答

是否可以在不打开终端的情况下运行 Nyxt?

每当我在 Nyxt 中执行任何操作时,都会收到 STRING INVALID 错误。

每当您在 Wayland 会话上运行 Nyxt 时,就会出现此问题。这是因为该程序严重依赖 Xorg 来渲染和处理其功能。您可以通过注销当前会话并在计算机的登录菜单上选择“Ubuntu on Xorg”来解决此问题。

由于 GTK/Xorg 错误,我无法启动 Web 浏览器。

当您的系统过时时,通常会出现此错误。您可以通过运行来解决此问题sudo apt update然后sudo apt upgrade将您的所有程序和库带到最新版本。

图片来源:未飞溅。所有修改和屏幕截图均由 Ramces Red 进行。