在没有 GUI 的计算机上显示基于浏览器的界面的最简单方法是什么?

在没有 GUI 的计算机上显示基于浏览器的界面的最简单方法是什么?

我正在将一台旧笔记本电脑改造成其他几台电脑的终端。大多数情况下,我只需要通过 ssh 进入我的电脑,而且我可以使用任何基于 CLI 的操作系统来做到这一点。

如果这就是我所需要的,我只需安装 Debian 就可以了。但我还有几台计算机内置了基于浏览器的界面,例如一台 TrueNAS 机器。我还有一台 Fedora 机器,它也有一个“驾驶舱”。我可以安装一个桌面环境 GUI,然后只需在浏览器中打开界面,事实上,我现在这样做了,它运行良好。但整个桌面环境似乎远远超出了我的需要。

那么,我可以用最简单/最轻松/最快的方式访问基于浏览器的界面,但同时又尽可能接近仅限 CLI 的系统?

答案1

在决定之前,我想先测试一下我实际使用的应用程序。我通过终端访问网页时最常用的工具是- 我运行的是二进制文件而不是 docker 容器,其“优势”在于,即使是现代网页也能正常工作。而且,您在顶部看到的选项卡不是我的浏览器,而是我的终端窗口。

在此处输入图片描述

据我所知,它不需要完整的 DE,它完全基于 frambuffer

它仍在进行一些工作 - 需要按 ctrl-c 来关闭窗口,没有标签,并且它的只是有一个几乎不能正常运作的地址栏,但它却能发光发热。

答案2

可以选择使用基于文本的 Web 浏览器山猫

在此处输入图片描述

根据您所需的功能,它可能仍能工作,但显然图像和许多 HTML5 和 javascript 功能都无法使用。如果您只需要查看纯文本网站,那么它至少可以正常工作。

另一种现代选择是布劳什它接收适当的网页并将其呈现为文本,以便在 CLI 工具(如 ssh)中显示。它适用于低带宽情况,并且需要服务器具有安装 Firefox 的完整桌面,但查看它的机器可能仅是 CLI。

答案3

整个桌面环境似乎远远超出了我的需要。

不是。它可能甚至比任何替代方案(其中没有太多)对于 SSH 都更有效,但它几乎是浏览器的唯一选择 - 几乎所有浏览器都是 X11 程序,因此您需要在 X11 显示服务器上运行它们,这意味着运行 Xorg。

请记住这是 Linux – 实际的桌面环境不需要是完整的 3D 加速 KDE 或 GNOME;你可以手动组装一个由窗口管理器(如 Openbox)组成的基本环境(或者如果你想让它看起来更像 twm 或 Fvwm)复古的) 和一些 Xterm 窗口。

尽管如今,Linux 对大多数(甚至旧的)图形控制器都使用内核模式设置,这意味着初始化 Xorg 只需不到一秒钟,因为 GPU 已经配置好了,而不像以前 Xorg 本身必须从头开始。也就是说,大多数时间和需要时都可以留在控制台中startx,不再需要时退出 Xorg。

然而,我会不是建议:Linux 内核的内置控制台速度慢且效率低(还有其他问题),可能是日常使用中最糟糕的选择。从 xfce4-terminal 或 Xterm 或类似的东西进行 SSH 操作的体验会好得多。

但无论如何,浏览器——而不是 GUI 的其余部分!——将是最低效的部分。现代浏览器和 Web 应用程序大的;您可以尝试 Ladybird,因为它已经接近可用,但尝试在现代 Firefox 或 SeaMonkey 中加载大量 JavaScript 驱动的 GUI 可能会消耗 80% 的电池电量。尝试在 Xorg 以外的其他程序中执行此操作实际上不会有太大变化。

(我的意思是,你可以完全按照“终端”设置,将你的笔记本电脑用作虚拟网络计算机终端连接到另一台机器上运行的浏览器......)

答案4

您可以使用另一个具有 GUI 界面和浏览器的系统,利用终端系统上的 SSH 隧道作为代理。首先,在您的终端系统上设置 SSH 服务/守护程序。

问题并不完全清楚您为什么要设置 CLI 系统来访问其他计算机,因此您远程连接它是合理的,因此为了便于讨论,我们假设这种方法对您的用例有意义。如果不是,也许其他人会发现它很有用。

为此,您的客户端需要支持设置转发。我将使用 SSH 命令行实用程序作为示例。

一个选项是设置单个端口用于转发,例如ssh -L LOCAL_PORT:HOST:HOST_PORT [USER@]SSH_SERVER,并将浏览器连接到http://localhost:LOCAL_PORT。对于 HTTP,您需要端口 80,对于 HTTPS,您需要端口 443。请注意,如果是 HTTPS,浏览器将因域名错误而拒绝证书,但您仍然可以继续。

或者,如果您的客户端支持,您可以使用动态转发设置 SOCKS 代理,例如ssh -D LOCAL_PORT [USER@]SSH_SERVER。然后配置您的系统或浏览器以使用该本地端口作为 SOCKS 代理。使用此方法,浏览器将接受有效的 HTTPS 证书。输入原始 URL,就像您从终端系统(SSH 主机)浏览时输入的那样。

我的浏览器代理配置

相关内容