ELinks

出自 ArchWiki

ELinks 是一款先进且成熟的、功能丰富的文本模式网络 (HTTP/FTP/...) 浏览器。ELinks 可以渲染框架和表格,高度可定制,并且可以通过 Lua 或 Guile 脚本扩展。它具有选项卡和对 CSS 的一些支持。

安装

安装 elinks 软件包。

用法

请参阅 elinks(1)

导航

本文或本章节需要扩充。

原因: 需要解释基本的脚本编写和 CSS 以及自动化。(在 Talk:ELinks 中讨论)

使用文本浏览器浏览网页与使用图形浏览器大致相同,只是没有“干扰”。启动 elinks 后,您可以按 g 并输入您想要请求的网页。然后,您可以使用方向键逐行导航页面,使用空格键逐页导航,或使用 jk 键按链接导航。

提示: 为了保持原始终端会话,elinks 可以在单独的 Virtual console (使用 Alt+方向键 切换) 或使用 Terminal multiplexer (如 tmux) 中运行。

配置

ELinks 提供了两个菜单,可以通过 ELinks 访问,分别用于自定义选项和快捷键绑定。

建议使用这些工具,而不是手动编辑配置文件(这些文件位于 ~/.elinks 中)。这样做既更容易也更安全。

默认情况下,o 键打开选项管理器,k 键打开快捷键绑定管理器。

技巧和提示

JavaScript(某种程度上)支持

注意: 需要在终端浏览器中支持 JavaScript 的用户应考虑使用 browshAUR,而不是遵循此技巧。

ELinks 有一个名为 ECMAScript 的实验性功能,它是 JavaScript 的一种形式。目前,repo 包没有构建此功能,但对 PKGBUILD 进行简单的修改可以提供它。

  1. js128 和提供 xxd 的东西(例如 vim)添加到 depends 数组。
  2. 将以下内容添加到 package 函数中的 arch-meson 位:-D spidermonkey=true \ #

构建完成后,必须在 elinks 中启用它,方法是导航到选项部分或直接修改 ~/.config/elinks/elinks.conf 以包含:set ecmascript.enable = 1

ECMAScript 并不完美,可能无法提供完整的 JavaScript 功能。

定义 URL 处理程序

ELinks 能够使用外部程序执行各种任务,

通过选项菜单定义 URL 处理程序起初可能有点令人困惑,但一旦你掌握了它,就没问题了。

要做到这一点,进入选项管理器并导航到 MIME。所有子菜单都有 Info 页面来帮助您。

这是少数几种情况下,直接编辑配置文件可能更容易。

例如,要使 ELinks 在您单击 JPEG 文件时自动启动您的图像查看器,您可以将以下内容添加到您的 ~/.elinks/elinks.conf 文件中,

~/.elinks/elinks.conf
set mime.extension.jpg="image/jpeg"
set mime.extension.jpeg="image/jpeg"
set mime.extension.png="image/png"
set mime.extension.gif="image/gif"
set mime.extension.bmp="image/bmp"

set mime.handler.image_viewer.unix.ask = 1
set mime.handler.image_viewer.unix-xwin.ask = 0

set mime.handler.image_viewer.unix.block = 1
set mime.handler.image_viewer.unix-xwin.block = 0

set mime.handler.image_viewer.unix.program = "pictureviewer %"
set mime.handler.image_viewer.unix-xwin.program = "pictureviewer %"

set mime.type.image.jpg = "image_viewer"
set mime.type.image.jpeg = "image_viewer"
set mime.type.image.png = "image_viewer"
set mime.type.image.gif = "image_viewer"
set mime.type.image.bmp = "image_viewer"

Tor 用法

ELinks 不直接支持使用 SOCKS 代理。替代方案是通过 torsocks elinks 调用 ELinks,或者安装 privoxy 软件包以转发到 Tor 的 SOCKS 代理,首先将以下行添加到您的 /etc/privoxy/config

forward-socks5 / localhost:9050 .

重启 privoxy.service,然后将以下行输入到您的 ~/.elinks/elinks.conf

set protocol.http.proxy.host = "127.0.0.1:8118"
set protocol.https.proxy.host = "127.0.0.1:8118"
注意: 以上假设 Tor 正在使用端口 9050,并且 privoxy 正在监听端口 8118

将 URL 传递到外部命令

您可以定义 ELinks 将当前 URL 传递给的命令。

要做到这一点,进入选项菜单,导航到 Document 下,然后到 URI-passing。然后按 a 添加一个新的命令名称。然后导航到新的命令名称并按 e 编辑。输入命令名称,回车并保存。

假设命令 “tab-external-command” 映射到 KEY,每当您按下 KEY 时,将出现一个包含您的命令的菜单。选择您想要的那个,ELinks 将当前 URL 传递给该命令。

注意: Elinks 允许您定义自己的映射来导航此菜单。

将链接保存到 X 剪贴板

echo -n %c | xclip -i

通过外部播放器传递 YouTube 链接

对于严格的 YouTube 链接,mpv 具有内置支持。只需使用以下命令

mpv %c

对于可以处理许多“tube”网站的更通用方法,您将需要 youtube-dlAUR。然后添加以下命令,

youtube-dl -o - %c | mplayer -

故障排除

ELinks 冻结,并且我无法在不再次冻结的情况下启动它

默认情况下,每次启动 ELinks 时,您都会连接到现有实例。因此,如果该实例冻结,则当前和未来的所有实例也将冻结。

您可以通过像这样启动 ELinks 来防止它连接到现有实例

$ elinks -no-connect

如果这种情况经常发生,您可以考虑通过在 shell 中创建别名来将其设为默认启动方式

alias elinks="elinks -no-connect"

参见